12.07.2015 Views

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

RedHawk Linux User's Guide version 6.3 日本語版

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1214Chapter 14デバイス・ドライバ本 章 は、<strong>RedHawk</strong> <strong>Linux</strong> 下 のユーザー・レベルおよびカーネル・レベルのデバイス・ドライバに関 する 問 題 点 に 対 応 します。これはリアルタイム 性 能 の 問 題 に 加 えてデバイス・ドライバの 書 き方 を 容 易 にする 追 加 機 能 に 関 する 情 報 も 含 まれています。<strong>Linux</strong>ベースのデバイス・ドライバを 記述 する 方 法 の 予 備 知 識 を 前 提 とします。ユーザー 空 間 I/O(UIO)ドライバも 説 明 します。PCI-to-VMEブリッジ・デバイスの<strong>RedHawk</strong>サポートに 関 する 情 報 は15 章 の「PCI-to-VMEサポート」で 見 ることが 可 能 です。デバイス・ドライバの 種 類 の 理 解 14<strong>RedHawk</strong> <strong>Linux</strong>の 下 ではユーザー・レベル・デバイス・ドライバを 簡 単 に 書 く 事 が 可 能 です。ユーザー・レベル・ドライバはデバイス・レジスタを 読 み 書 きする、つまりプログラムI/O 操 作 を 開始 するため、I/O 空 間 にアクセスすることが 可 能 です。カーネル・ドライバ・スケルトンの 支 援 により、ユーザー・レベル・ドライバは 割 り 込 みの 受 信 と 同 時 に 処 理 を 開 始 することも 可 能 になります。これは 割 り 込 みルーチンに 付 随 するユーザー・レベル・ドライバの 中 でシグナル・ハンドラを 許 可 する 機 能 をサポートすることにより 得 られます。 割 り 込 みのハンドリングやユーザー・レベル・プロセスへシグナルを 送 信 するためのサンプルのカーネル・ドライバ・テンプレートの場 所 については、 本 章 で 後 述 する「カーネル・スケルトン・ドライバ」セクションを 参 照 して 下さい。<strong>Linux</strong>の 下 でDMA I/O 操 作 をするユーザー・レベル・ドライバを 書 くことは 現 実 的 ではありません。ユーザー・レベルからDMA 操 作 を 禁 止 するいくつかの 問 題 ( 例 えば、ユーザー 空 間 バッファの 物理 アドレスを 決 定 する 方 法 が 現 在 のところサポートされていない)が 存 在 します。カーネルレベル・デバイス・ドライバはI/O 操 作 にDMAを 利 用 するデバイスのために 使 用 する 必 要 があります。ユーザー 空 間 I/O(UIO)は、 複 数 のI/Oボードに 対 してユーザー・レベル・デバイス・ドライバを 記述 するために 使 用 することが 可 能 です。UIOは、(ユーザー 空 間 に 記 述 されるドライバの 主 要 部邪 分で)ユーザー 空 間 アプリケーションに 使 用 される 一 般 的 なツールやライブラリを 利 用 する 小 規 模なデバイス 単 位 のカーネル・モジュールが 必 要 です。14-15ページの「ユーザー 空 間 I/Oドライバ(UIO)」を 参 照 して 下 さい。ユーザー・レベル・デバイス・ドライバの 開 発 14PCIリソースへのアクセスリソースへのアクセス14後 述 のセクションで、ユーザー・レベル・デバイス・ドライバの 記 述 に 影 響 を 及 ぼす<strong>RedHawk</strong> <strong>Linux</strong>オペレーティング・システムの 詳 細 について 説 明 します。ブート 処 理 中 、PCIバス 上 のデバイスは 自 動 的 に 構 成 され、 割 り 込 みが 割 り 当 てられて、デバイス・レジスタがメモリ・マップドI/O 操 作 を 通 してアクセス 可 能 なメモリ 領 域 にレジスタがマッピングされます。これらのメモリ 領 域 はベース・アドレス・レジスタ(BAR: Base Address Register)として 知 られています。デバイスは 最 大 6 個 のBARを 持 つことが 可 能 です。BARの 内 容 はデバイスによって 異 なります。この 情 報 についてはデバイスのマニュアルを 参 考 にしてください。14-1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!