我已按照固件参考手册 2.7 版 3.2.3.1 节中所述的通过 MU 接口在 FULL_MEM 模式下进行安装的安装程序进行操作。
安装过程完全按照说明进行,但是当我执行功能 RESET(步骤 7)时,出现 HSE 错误代码 0x67030001。第二次重置后问题仍然存在,但第三次重置后就会稳定消失。
我有几个问题:
如 HSE_B 固件参考手册中所述,GSR 寄存器在其最低 16 位中记录致命事件和警告事件:
最高 16 个有效位用于 NXP 内部错误。
由于您的设备上第 0 位已设置,这表明发生了致命错误,导致 HSE 关闭。在此状态下,需要重置设备才能恢复并退出关机模式。
请问能否提供 FSR 寄存器和 HSE_CONFIG_GPR3 (0x4039C028) 的值?另外,在执行重置后,您是否等到 GPR3 中的 HSE_STATUS_INIT_OK 标志被设置?
此外,在“通过 MU 安装 HSE 固件时出现 S32K3 恢复问题”主题中,分享了一个通过 MU 安装 HSE 固件的演示。它或许可以作为有用的参考资料。
BR,VaneB
重置 1 和 2:FSR = 0x00400000。第 24 位(HSE_STATUS_INIT_OK)未设置,这表明 HSE 尚未完成初始化。GSR 值 0x67030001 表示位 0 (HSE_ERR_GENERAL) 已设置,这触发了 HSE 子系统关闭。
RESET 3:FSR = 0x09600000。位 24 (HSE_STATUS_INIT_OK) 已设置,表明 HSE 已成功完成初始化。GSR 值 0x00000000 表示未报告任何 HSE 错误/警告。
造成这种行为的一个可能原因是应用程序在 HSE 初始化完全完成之前执行时钟初始化、XRDC 配置或 Flash 操作。
前两次重置后的值如下:
HSE_CONFIG_GPR3: 0x10000081
DCMRWP1: 0xA5000400
GSR: 0x67030001
FSR: 0x00400000
第三次 RESET 后的值为:
HSE_CONFIG_GPR3: 0x000000C1
DCMRWP1: 0xA5000400
GSR: 0x00000000
FSR: 0x09600000
谢谢,我正在研究闪存同步问题。
我之前并不知道时钟或 XRDC 初始化会影响 HSE 启动,请问哪里有相关说明?
关于 XRDC,请参阅 HSE_B 固件参考手册第 2.7 版第 14.6.3 节中的注释。
有关时钟初始化的相关信息,请参阅同一文档的第 2.4.2.3.3 节。