RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
デバイス・ドライバドライバのテスト 14サンプル・カーネル・モジュールをテストする 最 良 の 方 法 は、RCIMドライバなしのカーネルを構 築 し、サンプル・ドライバをロードすることです。しかしながら、このモジュールはカーネルに 既 に 組 み 込 まれたRCIMドライバの 有 無 に 関 わらず 動 くように 設 計 されています。RCIMカーネル・モジュールとサンプル・カーネル・モジュールは 同 じ 割 り 込 みラインを 共 有 します。 割 り 込 みが 発 生 した 時 、RCIMの 割 り 込 みハンドラが 最 初 に 起 動 し、RCIM 上 のハードウェア 割 り 込 みレジスタはクリアされます。その 後 、サンプル・モジュールの 割 り 込 みハンドラが 呼び 出 されます。もし 両 方 のモジュールがロードされた 場 合 、もう1つのハンドラはクリアされた 割 り 込 みレジスタを 見 つけ、もし「 割 り 込 みソース」のチェックが 実 行 されるとハンドラは 割 り 込 みがrtc0とは 異なるデバイスから 来 たと 思 い 込 みます。RCIMとサンプル・モジュールの 両 方 がロードされる 時にこの 障 害 を 克 服 するため、サンプル・モジュールの 割 り 込 みハンドラの 以 下 の 行 をコメントアウトしました:// if (isr & RCIM_REG_RTC0) { .次 のコードは、RCIMスケルトン・ドライバの 割 り 込 み 発 生 でいつでもこのルーチンが 呼 び 出 されるようにどのような 方 法 でユーザー・レベル・ドライバをルーチンと 結 合 するかをデモする 簡易 ユーザー・レベル・プログラムです。このルーチン“interrupt_handler” は、RCIMのrtc0の 割 り 込み 発 生 時 に 呼 び 出 されるルーチンです。このプログラムはプログラムが 実 行 されている 端 末 で「Ctrl-C」の 入 力 することにより 終 了 します。このサンプル・コードは/usr/share/doc/ccur/examples/driver/usersampleでも 入 手 できることに 注 意 してください。サンプル・モジュールをロードして 正 常 にユーザー・サンプル・プログラムを 実 行 するには、RCIMドライバを 使 用 する 全 てのアプリケーションを 停 止 する 必 要 があります。以 下 がusersampleプログラムです。14-9