2009/01/24

Spartan3 PCIバス付きFPGA評価ボード(13) - Linux用PCIドライバ

SeagateのFWバージョンアップは終わりましたが、いろいろと怖くなってきたので、Linuxのドライバをアップロードしておくことにします。

置き場所はGoogle Sitesのここです(Google Page Creatorは無くなってしまうようですね)。

tar ballを展開すると、2.6カーネル用のドライバ(./drivers)と、そのドライバに対してioctlを発行するための上物(./cmd)の二つのディレクトリができて、それぞれでmakeするとカーネルモジュール(ragdrv.ko)と実行形式(ragctl)が生成されます。

そのままでは、カーネルモジュールは手でinsmodしなければなりません。また、メジャー番号は動的生成にしてある240固定にしてあるので、/dev/ragdrvというキャラクタスペシャルファイルを手で作成しなければなりません。

# mknod /dev/ragdrv c 240 0

コマンドは、「./ragctl コマンド パラメータ...」という書式で制御します。

# ./ragctl r32 0 (メモリ空間の4バイト目を32bit読み出す)

0 件のコメント: