こんにちは、チームの皆さん
MCU にインストールされた HSE FW を使用して ADKP をプログラムしようとしていますが、HSE_SRV_RSP_INVALID_PARAM エラーが発生します。
HSE_ProgramAdkp() 関数内でデバッガーを使用してステップインを実行すると、同じシーケンスが正常に機能します ( HSE_SRV_RSP_OK )。
HSE FW バージョン、認証モードを問題なくCAN読み取れます。
ADKP プログラミングの場合のみ、HSE_SRV_RSP_INVALID_PARAM エラーが発生します。
添付されているのは私のリンカーファイルです。すべての HSE 変数を int_sram_no_cacheable 領域にマッピングしました。また、スタックは int_sram_no_cacheable にマップされます。
どこが間違っているのか教えてください。
こんにちは@Bhushan1312
HSE 記述子を DTCM に強制していますか?
lukaszadrapa_0-1767359890040.png
アドレス 0x2000_0000 の DTCM メモリはコアに対してのみ表示されます。その他のバス・マスタは、0x2100_0000 のバックドア アドレス経由でのみ DTCM にアクセスできます。SO、HSE 変数には DTCM を使用することはお勧めしません。代わりに通常のキャッシュ不可能な SRAM を使用してください。
次のポイント - ADKP をプログラミングする場合、このサービスが UTEST メモリをプログラムすることに注意してください。UTESTメモリはフラッシュブロック0と同じパーティションにあります。つまり、コードは別のフラッシュブロックまたはRAMから実行する必要があります。そうしないと、書き込み中の読み取りエラーが発生する可能性があります。
よろしくお願いいたします。
ルーカス
こんにちは@lukaszadrapa 。
ADKP プログラミングは、リンカーの変更 (リンカーが添付されています) により機能しているようです。以前のリンカーと同様に、すべてのデータ変数を SRAM セクションにマッピングすることで変更を加えすぎ、スタックがキャッシュ不可能な領域にマッピングされました。
いかなる機能も RAM またはその他のフラッシュ セクションに移動していません。
LCステージの進行はまだ確認できていません。
再開まで今しばらくお待ちください。