こんにちは。現在、RT595 と Zephyr RTOS を使用したプロジェクトに取り組んでおり、MCU から DSP を起動する方法を知りたいです。ドキュメント (IMXRT595-EVK-UG) のセクション 4.7 によると、IDEs で DSP_IMAGE_COPY_TO_RAM=1 を設定することで、「一度プログラムすれば、Arm コアが自動的に DSP を起動する」ことが可能になるそうです。プロジェクトが Zephyr ビルド システムに完全に移行したので、DSP アプリケーションを起動するための具体的な手順と、その構成方法を知りたいと思います。助けてくれてありがとう。
一般的な手順:
ZephyrプロジェクトでMCUからDSPを起動するには、まずXtensa XplorerでDSPバイナリをビルドし、次にそのバイナリをCMakeでZephyrビルドに統合し、最後に BOARD_DSP_Init() アプリケーションから起動シーケンスを処理する関数を削除します。
移行を完了するには、公式ドキュメント (MCUXpresso + EVK) を使用して機能を完成させ、Zephry を開発する能力が必要です。
参照:
1. DSPファームウェアの構築: Xplorer for EVK入門
MIMXRT595通常、dsp_text_release.bin や dsp_data_release.bin などの 2 つの出力ファイルが生成されます。これらはCortex-M33コアがDSPのRAMにロードするファームウェアイメージです。
2. DSPバイナリをZephyrビルドに統合します。
Zephyr ビルド システムでは、これらのバイナリ ファイルを Cortex-M33 アプリケーションに明示的に含める必要があります。これは、Zephyr アプリケーションの CMakeLists.txt ファイルを変更することで実行できます。最終的なファームウェア イメージ内の既知の場所にファイルを配置するには、Zephyr のビルド システム機能 (zephyr_file_copy など、またはバイナリ BLOB として定義する) を使用する必要がある場合があります。
3. i.MX RT595用のMCUXpresso SDKは、DSPライフサイクルを管理するためのドライバ( fsl_dsp.c / .h )を提供します。NXPデバイス用のZephyrにはこのSDKが含まれているため、これらの関数をZephyrアプリケーションコードから直接呼び出すことができます。詳細は、「Getting Started with Xplorer for EVK-」の「3.3 DSPコアの初期化」
MIMXRT595