助けてください!公式デモプロジェクトをベースにHSEファームウェアインストーラを作成しましたが、2回リセットした後、HSEインストールアドレス0x007E0000にデータがありません。これはHSEのインストールが失敗したということでしょうか?S32のバージョンは3.6.8で、チップは...S32K314、RTDバージョン7.0.1
1131_0-1788767775138.png1131_0-1788767775138.png
これはldファイルです。
1131_1-1788767805874.png1131_1-1788767805874.png
これは書き換えられたIVTベクトルです。
1131_2-1788767830677.png1131_2-1788767830677.png
1131_3-1788767849116.png1131_3-1788767849116.png
1131_4-1788767872384.png1131_4-1788767872384.png
最後に、HSEインストールデモプロジェクトを添付しました。
@VaneBこんにちは
ご提案に従ってリンカー ファイルを修正し、ivt.c ファイルのすべてのエントリをコメントアウトしました。プログラムを 2 回再起動した後、デバッグ モードで status = Hse_Ip_GetHseStatus(0u) の状態を確認しました。ステータス値は 1001 0110 0000 でしたが、9 番目のビットが 0 だったので、HSE が正常にインストールされなかったことを示しています。さらに、バージョン情報も取得できませんでした。srvResponse = Hse_Ip_ServiceRequest(0u, u8MuChannel, &request, &pHseSrvDesc) の戻り値は 0xaa55a11e です。
次のように
1131_1-1788838145743.png1131_1-1788838145743.png
1131_2-1788838165453.png1131_2-1788838165453.png
1131_3-1788838180700.png1131_3-1788838180700.png
1131_4-1788838213520.png1131_4-1788838213520.png
こんにちは@杨工1131
いくつか気づいた点があります。
HSE_BINARY (R) : ORIGIN = 0x00400000
int_pflash : ORIGIN = 0x00500000, LENGTH = 0x00300000 - __HSE_CODE_SIZE /* 4096KB - __HSE_CODE_SIZE (sBAF + HSE) */
#define HSE_FW_ADDR (__HSE_BIN_START)
.long 0xffffffff /* Offset 0x20: Reserved */
.long LC_CONFIG_ADDR /* Offset 0x24: Lifecycle configuration pointer */
.long CM7_3_VTOR_ADDR /* Offset 0x28: CM7_3 Start address */
.long HSE_FW_ADDR /* Offset 0x2C: Reserved */
コードについては、例と同じ構造を使っているので、その部分で問題はないと思います。
BR、VaneB