通常、以下のようにデュアルコアプロジェクトを作成します。
マスターコアは、POR後にスレーブコアのイメージをSRAMにロードして、スレーブコアを起動します。これにより、マスターコアとスレーブコアの両方が異なるメモリ領域からアプリケーションを実行して、最大のパフォーマンスを得ることができます。
ユーザーがマスターコアとスレーブコアの両方でアプリケーションをXIPターゲットとして実行させる必要がある場合があります。この場合、特にスレーブ向けのアプリケーションのイメージサイズはSRAM容量によって制限されず、技術的にも実現可能です。このようなユースケースに向けたいくつかのヒントをご紹介します。
1。マスターコアプロジェクトの変更
a) フラッシュをマスターコア用とスレーブコア用の2つの領域に分割して、メモリ設定を更新します。ここでは、それぞれのサイズを「0x2000000」に設定していますが、必要に応じて調整できます。
b) 上記のように、スレーブコアのアプリケーションコードを2番目のフラッシュ領域に配置します。
c) マスターコアプロジェクト内のスレーブコアのブートアドレスを更新します。
2. スレーブ・コア・プロジェクトの変更点
a) スレーブコアアプリケーションコード用のフラッシュリージョンを追加し、フラッシュローダが適切に選択されていることを確認します。
このフラッシュ領域が、マスターコアプロジェクトの場合の「0x32000000」ではなく、「0xA000000」から開始していることにお気づきかもしれません。これは、この場合ではスレーブコアのエイリアスアドレスであるためです。詳細については、以下を参照してください。
マスターコアプロジェクト用に設定した「0x2000000」により、スレーブコアプロジェクトでは「0xA000000」となります。
b) 「Link application to RAM(アプリケーションをRAMにリンク)」オプションの選択を解除します。
3. ビルドとデバッグ
これは、1つのフラッシュからマスターコアとスレーブコアの両方のプロジェクトをXIPターゲットとして実行するためのガイドラインです。