現在、S32K344をベースとしたブートローダープロジェクトの移植と開発にunified_bootloader_demo_v2.1を使用しています。RTDはバージョン2.0で、コントローラーにはFS26チップを使用しています。SBCドライバパッケージは少なくともRTD 3.0と互換性がありますが、RTD 2.0と互換性のあるものを提供していただけませんか?SBCパッケージですか、それとも手書きの実装コードですか?RTD 3.0以降に対応したブートローダープロジェクトを提供していただけるとさらに助かります。
どうもありがとうございます!
こんにちは。画像1で、RAM初期化に関してstartup_cm7.s起動ファイルを変更する必要があります。変更を最小限に抑えるため、ブートローダーv2.1の`extern void Boot_PowerONClearAllFlag ( void );`だけを変更すれば良いでしょうか?
こんにちは
コミュニティから提供された統合ブートローダーのデモは、より新しいS32K3 RTDバージョンの例を含めず「現状のまま」提供されており、ご迷惑をおかけすることを深くお詫び申し上げます。
FS26 SBC Autosar 4.4 バージョン 1.0.0は、 S32K3 RTD 2.0.0で使用するように設計されています。既に社内チームにこの旧バージョンのドライバをリクエスト済みです。お客様のアカウントにこのバージョンのソフトウェアのダウンロード権限が追加されるまでお待ちください。
ちなみに、サンプルコードに注意すべきエラーがあります。S32K3の共通問題チェックリスト、特にセクション3.4.3では、RAMのECC初期化には8バイトの書き込みが必要であると記載されています。
ECC初期化中にRAM(特にスタンバイRAM)が8バイト形式で書き込まれているかどうかを確認してください。
例えば、*(uint64 *)0x20400000 = 0;
規定を遵守しない場合、ECCエラーが発生する可能性があります。
NXPのブートローダーサンプルプロジェクトは、4バイトのゼロフィルECC初期化方式を使用しています。
*(uint32 *)0x20400000 = 0;
それは間違いです。その記述は参照しないでください。
S32K3におけるブートローダーとアプリケーション間のデータ共有に関するセクションでも、これについて議論されています。
よろしくお願いします、
ロビン
Boot_PowerONClearAllFlag() の書き込みを 4 バイトから 8 バイト/64 ビットに変更することが、S32K3 の RAM ECC 初期化の問題を解決する鍵となります。あなたの変更はうまくいったようです。
ExchangeInfoに関連する問題については、s32k312「リセット処理中に SRAM 領域のデータはリセットされませんか?」の議論を参照してください。
1.0 0 FS26 SBC Autosar 4.4 バージョン 1.0.0は既にアカウントに追加されているはずです。