こんにちは。S32K314 を使用して、基本的なセキュア ブートを実装しようとしています。
DEMO APP に付属のリンカー スクリプトを変更することにより、AppBL ヘッダー (64 バイト) とブートローダーが、「HSE-B ファームウェア リファレンス マニュアル」で説明されているように、IVT Boot_Target フィールドが示すアドレスに配置されました。
ただし、起動しません。
AppBL を使用して起動するには他にどのような設定が必要ですか?
追伸これは開発の初期段階であるため、セキュア ブートは有効になっていません。また、IVT およびブートローダ イメージのサインを生成していません。
こんにちは@wodudwo
IVT オフセット 0xC は、AppBL (基本セキュア ブートの対象となるアプリケーション) の起動には使用されません。これは、BOOT_SEQ ビットによってセキュア ブートが有効になっていない場合に、コア 0 で起動されるはずのアプリケーションのベクター テーブルへのポインタです。
IVT オフセット 0x14 も AppBL の起動には使用されません。これは、コア 1 で開始されることになっているアプリケーションのベクター テーブルへのポインタです (派生製品で利用可能な場合)。
IVT オフセット 0x30 は、AppBL のアプリ ヘッダーへのポインターとして使用されます。これは、BOOT_SEQ によってセキュア ブートが有効になっている場合に使用されます。
「表118」を参照してください。詳細については、「IVT 構造」を参照してください。
以下に記載されている「S32K344_Basic_SecureBoot」からのスクリーンショット:
もう 1 つのポイントは、アプリケーションの開始アドレスを 128 バイトに揃える必要があることです。また、アプリケーションの前に 64 バイトのアプリ ヘッダーが必要です。
以下のリソースを確認することをお勧めします。
HSEデモ例:
https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples
プロジェクトを見てみましょう:
これは基本的なセキュア ブートを構成します。
c:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\セキュアブート\S32K344_Basic_セキュアブート\
セキュア ブートが有効になると実行されるアプリケーションは次のとおりです。
c:\NXP\S32K3_HSE_DemoExamples_1_0_0\S32K3_HSE_DemoExamples\セキュアブート\S32K344_セキュアブートBlinky\
デモ プロジェクトを含むセキュア ブート アプリケーション ノート。以下からダウンロードできます。
https://www.nxp.com/products/S32K3
アプリケーションノートはここにあります:
ドキュメント -> セキュア ファイル -> セキュア ブート アプリケーション ノート v0.1.1.0(AN744511)
関連するデモ プロジェクトはここからダウンロードできます。
設計リソース -> ソフトウェア -> セキュア ファイル -> SecureBootAppNoteDemo (SW745310)
「5. 基本的なセキュア ブート」、特にアライメントについて説明している「5.2 構成」の最後の部分をご覧ください。
よろしくお願いいたします。
ルーカス
よろしくお願いします。
すべての問題は解決されました。