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

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

13.2.2. FreeRTOS* デバイスドライバー

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

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

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

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