こんにちは、
S32 DSでM7_0とM7_1用の2つのプロジェクトを作成し、デバッガを使用して両方のコアがそれぞれのアプリケーションを実行していることをテストしました。それでは、SDカードから両方のバイナリを実行してテストしてみます。
以前、DCDとIVTの設定でアプリケーションを1つ実行し、S32 Flashing Toolを使用してフラッシュを試みました。動作はしますが、同じワークフローで2つのバイナリをフラッシュする方法がわかりません。それとも、まったく異なるワークフローが必要になるのでしょうか。目的は、彼らにSDカードの容量不足を起こさせることだ。将来的には、M7コアごとに合計4つのバイナリが提供される予定です。
ありがとう、
リズワン。
NXP autosarブートローダーなしでM7_0とM7_1のバイナリを起動できた方法は以下のとおりです。
重要な点は、ROMが2つの独立したM7アプリケーションイメージを起動するわけではないということです。アプリケーションイメージを1つ読み込みます。つまり、2つの別々の .bin ファイルを個別に書き込んで、SDカードからまとめて起動できると期待することはできません。
私がしたこと
私のリンカーの配置は以下のとおりです。
M7_1 開始/ベクタアドレスは次のとおりです。
M7_0 エントリーアドレスは:
したがって、結合されたペイロードはメモリ上で次のような形式になる必要があります。
つまり、パディングされた結合バイナリを作成する必要があるということです。単純な連結は、2番目の画像が最初の画像の直後にリンクされていない限り、誤りです。
これが必要な理由
ROMは、連続したアプリケーションイメージをSRAMにコピーします。もし M7_1 より高いSRAMアドレスにリンクされている場合、2つのイメージ間のギャップは、結合されたペイロード内にパディングとして存在する必要があります。
画像生成ロジックは次のとおりです。
私のIVT/アプリケーション値
現在の私の構成では:
使用したツール
私は小さなPythonヘルパーと 。バット ラッパー:
バッチファイルは結合コマンドを直接実行し、以下の出力を出します。
それらのファイルは別途添付/アップロードします。
重要なランタイムに関する注意事項
バイナリを結合するのは、イメージ読み込みの部分だけです。
マルチコアランタイムの正しい動作が依然として必要です。
私の設定では、 M7_0 リリースを担当 M7_1 .