おい、
この質問は既にここで聞かれていると思います
解決済み: Re: i.mx93 上の m33 コアに対する RPMsg サポート - NXP コミュニティ
しかし、私は受け入れられた答えを理解していません。NXP のリアルタイム エッジ ソフトウェア フレームワークでは、RPSMG サポートは FreeRTOS に対してのみリストされています。
ただし、i.mx95 A7 コアは最近すでに追加されていますhttps://github.com/zephyrproject-rtos/zephyr/pull/86923
私の質問は、NXP が m33 のサポートも追加する予定があるかどうかです。そうでない場合、手動でサポートを追加するには何が必要ですか?
Linux (A コアで実行) と Zephyr (M33 コアで実行) 間のコア間通信を有効にするには、Zephyr のopenamp_rsc_tableサンプルを出発点とすることをお勧めします。
このサンプルでは以下を活用しています:
- Zephyr 上の OpenAMP
- Linux上のremoteprocとrpmsg
前提条件
Linuxのセットアップ
Zephyr セットアップ(M33 コア)
openamp_rsc_table サンプルを正常に実行するには、DTS オーバーレイの `zephyr,ipc_shm` プロパティを使用して、ホスト コアとリモート コア間の共有メモリを定義する必要があります。
次に、 nxp_imx93_m33.dtsiに MU ノードを追加します。
「」
mu1: mu1@44220000 {
互換性 = "nxp、imx-mu";
reg = <0x44220000 DT_SIZE_K(64)>;
割り込み = <21 0>;
};
「」
次に、リンカー スクリプトを更新し、`linker.ld` にリソース テーブル セクションを追加します。
「」
#定義されている場合(CONFIG_OPENAMP_RSC_TABLE)
セクション {
SECTION_PROLOGUE(.resource_table,,サブアライン(8)) {
KEEP(*(.resource_table*))
} GROUP_LINK_IN(ROMABLE_REGION)
}
#endif
「」
i.MX93の設定調整
i.MX93 の RX および TX ID は他のボードとは異なります。`.conf` オーバーレイ ファイル内のデフォルト値を上書きする必要があります。
「」
CONFIG_IPM_IMX_MAX_DATA_SIZE_16=n
CONFIG_IPM_IMX_MAX_DATA_SIZE_4=y
CONFIG_OPENAMP_WITH_DCACHE=y
CONFIG_LOG=y
CONFIG_OPENAMP_RSC_TABLE_IPM_RX_ID=1
CONFIG_OPENAMP_RSC_TABLE_IPM_TX_ID=0
「」
サンプルPR
Linuxパッチ要件
i.MX93 で適切に動作させるには、次の Linux パッチを適用してください: https://lore.kernel.org/imx/CAEnQRZDoYvK-YXLjqbXsRAWDkHrWNOoR1OCCWxs+AfNUDuPB_w@mail.gmail.com/T/
実行前の最終ステップ
アプリケーションを起動する前に:
関連リソース
すべての Zephyr IPC サポートはここにあります (メイン プロセッサ上の Linux カーネル OS とコプロセッサ上の Zephyr アプリケーション)
https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/ipc/openamp_rsc_table/boards
社内チームから確認したところ、現時点では MPU cm33 をサポートする予定はありません。
ただし、お客様の要件を社内チームに送信しましたので、更新があればお知らせいたします。
それは申し訳ありません。