Nios® V プロセッサー・ソフトウェア開発者ハンドブック

ID 743810
日付 7/08/2024
Public
ドキュメント目次

11.3.2. MicroC/OS-II デバイスドライバー

各ペリフェラル (つまり、各ハードウェア・コンポーネント) は、コンポーネントの HAL ディレクトリーの inc および src サブディレクトリーにインクルード・ファイルおよびソース・ファイルを提供できます。

HAL ディレクトリーに加え、コンポーネントはオプションで、MicroC/OS-II 環境に固有のコードを含む UCOSII ディレクトリーを提供できます。HAL ディレクトリーと同様に、UCOSII ディレクトリーには inc および src サブディレクトリーが含まれています。MicroC/OS-II プロジェクトを作成すると、BSP Editor は特定のペリフェラルのインクルード・ディレクトリーとソース・ディレクトリーを BSP サブディレクトリーにコピーします。これらのインクルード・ディレクトリーとソース・ディレクトリーは、プロジェクトの検索パスに追加されます。

マルチスレッド環境でのみ使用されるコードを提供するには、UCOSII ディレクトリーを使用することができます。追加の検索ディレクトリー以外、MicroC/OS-II デバイスドライバーを提供するメカニズムは、他のデバイスドライバーのプロセスと同じです。

HAL システム初期化プロセスでは、alt_sys_init() より先に MicroC/OS-II 関数 OSInit() が呼び出されます。これにより、システム内の各デバイスがインスタンス化および初期化されます。したがって、プログラムが main() 内から OSStart() を呼び出すまで、システムは引き続きシングル・スレッド・モードで実行されますが、デバイスドライバーは完全な MicroC/OS-II API を利用できます。