RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>RedHawk</strong> <strong>Linux</strong> User’s <strong>Guide</strong>表 15-2 PCI-to-VMEプログラム 例 ( 続 き)き名 称概 要使 用 される 関 数bt_revsドライバのバージョンおよびハードウェアのファームウェア・バージョン bt_open()情 報 を 標 準 出 力 へ 出 力 します。bt_sendi リモート・バスへ 割 り 込 みを 送 信 します。 bt_send_irq()readdma * CPUに 代 わりカーネル・ドライバで 使 用 されるDMAハードウェアがデー bt_read()タをコピーすることになるこのプログラムがより 大 きいなデータを 読 み取 ることを 除 いては、readmemと 同 じです。shmat * アタッチするために 共 有 メモリ・キー・パラメータを 利 用 し、 共 有 メモリ領 域 から 読 み 取 ります。shmconfig-scriptプログラムで 使 用 されます。shmconfig(1)shmat(2)shmbind * PCI-to-VMEバス・マッピングにマップされた 共 有 メモリ 領 域 を 作 成 しアタッチしてそれを 読 み 書 きします。shmget(2)shmbind(2)shmat(2)shmconfig-script * /procファイル・システムを 介 してPCI-to-VMEバス・マッピングを 作 成 し、 shmconfig(1)VMEバス 領 域 へバインドする 共 有 メモリ 領 域 を 作 成 するスクリプトです。vme-mappings * /procファイル・システムを 介 してPCI-to-VMEバス・マッピングを 作 成 、 n/a表 示 、 削 除 する 方 法 を 示 すスクリプトです。writemem * リモートVMEバスへ256byteのデータを 書 き 込 み、リモートVMEバスから256byteのデータを 読 み 戻 して、そのデータを 標 準 出 力 へ 出 力 します。bt_read()bt_write()writedma * CPUがデータをコピーする 代 わりにカーネル・ドライバでDMAハードウェアが 使 用 されることになり、このプログラムがより 大 きいなデータを 書き 込 むことを 除 いては、writememと 同 じです。この 例 はリモートVMEバスへデータを 書 き 込 むだけで、リモートVMEバスからのデータ 読 み 戻 しはしません。bt_write()bt_bind_mult 15bt_bind_multサンプル・アプリケーションは、 複 数 の 同 じサイズのバッファをリモート・バスへバインドするためにbt_bind() 関 数 を 使 用 します。これはユーザー 入 力 を 待 機 し、バインドされた 各バッファの 各 ページの 最 初 の4ワードを 出 力 します。 任 意 で 待 機 前 にバッファへデータの 書 き 込 みも 行 います使 用 方 法 :bt_bind_mult -[natulws]オプション機 能-n 割 り 当 ておよびバインドするバッファの 数 。 既 定 値 は2。-a バッファをバインドするVMEアドレス。 既 定 値 はBT_BIND_NO_CARE。-t 論 理 デバイス(BT_DEV_MEM, BT_DEV_IO, BT_DEV_DEFAULT 等 )。既 定 値 はBT_DEV_DEFAULT。-u オープンするユニット 番 号 。 既 定 値 は0。-l バインドするバッファの 長 さ。 既 定 値 は1ページ(0x1000)。-w 最 初 にバッファの 各 ページの 先 頭 4ワードにこの 値 を 書 き 込 みます。-s bt_bind()を 呼 び 出 すためにスワップ・ビット 値 を 設 定 します。シンボリック 名 は 認 識 されないことに 注 意 して 下 さい。15-18