ビルド環境に入っているものを素直に使う。
>>873 ビルド環境?
すみません、Linuxはドライバの開発とOSの移植しかやったことがないので、
ビルド環境がよくわかりません。
ドライバを開発するうえで、アプリ屋さんにどのようにドライバのヘッダファイルを
渡すのが正しいやり方なのかを知りたいです。
分かりました。
ioctl.hはわざわざ渡さなくても、アプリ開発で使用するカーネルヘッダに入っているので
大丈夫ということですね。
ありがとうございました。
ドライバコンパイル時に静的ライブラリをリンクさせることって出来ますか?
はい
どうやったら出来ますか?
2.6系のカーネルですが、-lでライブラリを指定しても
WARNING: "hoge" [/home/hoge.ko] undefined!
と言われてリンクできないんですよ。
.koってライブラリじゃないよ
そもそもgccやbinutilsはWARNINGとか大文字は出さないだろう
何かすごい勘違いしてそう
>>879 そもそも -l のかわりにソース直指定ならリンクできるのか?
883 :
login:Penguin:2010/12/29(水) 17:20:29 ID:4yM0+SZ6
webcam(UVC)を接続すると、/dev/video0にデバイスが作成されますが、
ここから流れてくるフォーマットについて知りたいのですが、どこか
参照するところってありますでしょうか?
おめおめ!
Cライブラリのassert()のドライバ版みたいなのないですかね?
勉強用にドライバを書いているのだけど、エラーチェックにいちいち if文を書くのが面倒くさい。
普通のアプリの場合は、assert()で一行でエラーチェックを終わらせるのだけど。
無いなら、どうやってエラーチェックしてるか教えて貰えるとありがたい。
BUG_ON
タイプ数減らしたいだけなら自分でマクロ書けばいいじゃん
#define assert(x) なんとかかんとか
888 :
885:2011/05/28(土) 21:55:24.09 ID:DZ/zAfXL
>886
どうもありがとう。良い情報を頂きました。
>887
最悪その方法を取るけれど、既存の洗練された方法があるならそっちを使うべきでしょう?
889 :
login:Penguin:2011/07/28(木) 17:08:37.75 ID:fa8I36t3
PCIの自作用穴あき基板ってあるんですかね?
自作基板をスロットに差してデバドラも自分で書いて使ってる人います?
890 :
login:Penguin:2011/07/28(木) 21:19:13.92 ID:9X016Sem
FPGAでプログラムする人とかいるんじゃないかな
892 :
電板住人:2011/09/08(木) 22:50:33.11 ID:5S22Lom/
汎用のPCIプロトコルICがあればいいのにね
プロトコルが複雑なせいで使いにくいよ、PCIは
PCIってバスマスタ機能ついてないと強烈に遅いからなぁ
ターゲットアクセスONLYだったらUSBの方が全然マシ
USBはターゲット側から割り込みかけられんのがなあ
3.0が一般的になれば解決しそうだが
>>898 一瞬安いと思ってしまったが、いまさら使い道ないよなぁ
create_workqueueでカーネルスレッドいっぱい作るドライバが多いな
core-i7とか12個もできたりする
NICレジスタのとあるフィールドを、MMIOを使って書き換えようとしています。
1.pci_get_device()でデバイス情報取得
2.pci_resource_start()で物理アドレス取得
3.ここで、一応request_mem_region()をコールしますが、既にベンダー提供の
デバイスドライバでrequest_mem_region()されているので、0が返ってきます。
が、構わず続けて、
4.ioremap_nocache()でマッピングされたアドレスを取得
4.の結果を以ってレジスタのREADはできた(ethtool -dとの比較結果が一致)のですが、
writeb()を使って書き込んでも反映されていません(ethtool -dで確認)。
そこで質問なのですが、既にrequest_mem_region()されているレジスタについては、
READはできてもWRITEは不可といったことなんでしょうか?
それとも、他にフラグ操作等足らない操作があるのでしょうか?
同じリソースに2ヶ所(個別の管理している?)からアクセス(書き込み)したら、どうなるかわかってる?
>>902 実際にはある条件を満たすパケットを捨てる/捨てないを担う1bitの書き換えなのですが、
それでも横から弄られたら破綻するかなと思います。
そもそも、ベンダー側ドライバがこのbitを操作するioctl()なりEXPORT関数なりを用意
してないので、サポート外動作というのは理解しています。
一応、この辺はベンダー側にNDAでもいいんで提供してもらえるように依頼しています。
今回は、それまでに時間がかかるのでとりあえずでも弄ることができないかとあれこれ
やっています。
最悪は、このbitをドライバロード時に設定しているドライバソースを弄ればなんとか
なりそうなんですが、ソースを弄ることなく外から設定できるといいな、と。
904 :
login:Penguin:2012/04/11(水) 07:42:58.51 ID:k8CqWmKf
>実際にはある条件を満たすパケットを捨てる/捨てないを担う1bitの書き換えなのですが、
スレタイに通りに、NDAドライバをハックして
バイナリパッチのほうが早くね
>>904 今回、MMIO使って書き換えてみようと考えたのが、そこのページを見たためでした。
結局まだうまくいってませんが…
>>905 とりあえず、ドライバソースを弄る方で先にやってみようと思います。
907 :
906:2012/04/12(木) 20:02:46.16 ID:lbSIQeJF
結局、ドライバソースを弄って無事目的を果たせました。
kernel技術者の需要ってどんなもんでしょう?
技術者が不足している分野と、
待遇の目安など教えてもらえると嬉しいです。
今それが見えてない時点でアウトだと思うよ
いや、なら他を当たるまでなので別によいです
webなりDBなり頑張ります
ジャンルには関係ないとは思うが、まあいいか
>>910 まだ選択の余地があるなら他に進んだ方がいいと思う。プログラム業なんて、
>>909みたいなカスしかいないから。
プログラム業
914 :
login:Penguin:2013/03/26(火) 08:51:30.75 ID:CLzKF3Up
age
915 :
login:Penguin:2014/02/13(木) 19:42:26.30 ID:StvXlIag
/dev/input で
type=EV_MSC code=MSC_SCAN って
なにを意味してんの?
916 :
login:Penguin:2014/02/23(日) 12:43:47.37 ID:ytOaVGS4
ecb ってなにドライバー?
917 :
login:Penguin:2014/02/26(水) 10:47:34.06 ID:w6lQvC2s
キン肉ドライバー!
ドバイスデライバァ!
奇跡、神秘、真実、夢
書籍読みながらサンプル動かしてるけど楽しい!
もっと早くから勉強しとくんだった・・・
921 :
login:Penguin:2014/10/30(木) 21:21:48.26 ID:xfEc1Jae
ユーザーランドで動作するデバイスドライバ
って作れる?
>>921 User Space I/O (uio)のこと?