Linuxでのフレームバッファの使い方、デバイスドライバについて

Linuxでフレームバッファをrootで使用する場合は/dev/memをO_SYNCオプションで行ける。更に、デバイスドライバを作る場合の資料についてまとめた。
プログラミング Linux デバイスドライバ
3
marsee101 @marsee101
仕事の関係もあってLinuxのビルドも勉強しないとね。
Vengineer@師走は映画三昧。 @Vengineer
@marsee101 昔に比べると、Linux Kernelのビルドも簡単です
marsee101 @marsee101
@vengineer ARMプロセッサも勉強しないと、画像のフレームバッファをキャッシュOFFできません。
marsee101 @marsee101
@vengineer 了解しました。ありがとうございます。この辺ですね。/dev/mem にO_SYNCオプションを付ければ、物理メモリを非キャッシュ領域としてマップできるんですね。 http://t.co/61Nb8Ira
marsee101 @marsee101
あ、Linuxの時はそれで良いけど、今はLinux動いてないから、やはり、ブートコードを修正する必要があるか。。。
Vengineer@師走は映画三昧。 @Vengineer
@marsee101 そのようですね。 これで、Linux Kernelやらなくてすみそうですか?
marsee101 @marsee101
Linux動かして、/dev/mem でO_SYNCでも良いか?サンプルコードはこの辺かな? http://t.co/1DXrOeuJ
Hideo TANIDA @h_tanida
@marsee101 @kumarobo さんのこのページも参考になりそうですね. http://t.co/Ad1AlxPQ
marsee101 @marsee101
@vengineer VRAMをマップするとかいてあるので、大丈夫だと思いますが、スワップアウトはされないですよね?物理アドレスと書いてあるので、大丈夫そうですね。色々教えて頂いてありがとうございます。
Vengineer@師走は映画三昧。 @Vengineer
@marsee101 キャッシュされないので、大丈夫でしょう。
marsee101 @marsee101
@h_tanida はい。ありがとうございます。同じページを検索してみていました。
Kumagai, M @kumarobo
@marsee101 @h_tanida すみません、メンテ不良なので、いまもちゃんと動くかわからないのですが...ご参考になれば幸いです。
marsee101 @marsee101
rootになっちゃうようだけど、どのみち専用機として使うので、問題ないと思う。Apacheとか使ちゃうと問題かな?その時は別プロセスでプロセス間通信を使ってやり取りすれば良いかな?
Kumagai, M @kumarobo
@h_tanida @marsee101 いちおう、Linux2.6 CentOS5.xの家のサーバ、nVIDIAのVRAMを直接mmapして、画像処理結果を直接画面表示しています。そのころまではOKでした。<loginしてなくてもXが上がっていると防犯システムの画面が出ている
marsee101 @marsee101
@h_tanida 有意義な情報有り難うございました。
Hideo TANIDA @h_tanida
@kumarobo @marsee101 数年前にPCのPCI Expressスロットに挿したXilinxのFPGA評価ボード(ML505)と通信するときには,同じ方法で出来ましたよ.kernelは2.6.32あたりだったと思います.
marsee101 @marsee101
@kumarobo 情報有り難うございました。助かります。
Vengineer@師走は映画三昧。 @Vengineer
@marsee101 真面目にフレームバッファにするなら、 これですかね? http://t.co/yGmLtYC1
marsee101 @marsee101
@vengineer /dev/fb はどうやって作成もしくはマップすれば良いのでしょうか?
Vengineer@師走は映画三昧。 @Vengineer
@marsee101 こちらはデバイスドライバーを作らないといけませんね。
marsee101 @marsee101
ためになるのは新城先生のデバイス・ドライバのページかな?http://t.co/tBEAvIxC
marsee101 @marsee101
新城先生のオペレーティングシステム II もとってもためになる。http://t.co/lviwswsz
marsee101 @marsee101
@vengineer open(), write(), read(), ioctl() はどこに?
残りを読む(12)

コメント

marsee101 @marsee101 2012年11月8日
まとめを更新しました。
marsee101 @marsee101 2012年11月9日
まとめを更新しました。
ログインして広告を非表示にする
ログインして広告を非表示にする