2397906_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2397906_zh-CN

2397906_zh-CN

S32K388 HSE_SWT 重启以进行新芯片刷写。

我有一块全新的 S32K388,我正在尝试用一些全新的固件(不是 AUTOSAR 也不是 RTD)刷入它。我已将 IVT 设置为仅启动 core0,并且已将 hse_fw_header_start_address 设置为零。

但这种配置似乎会导致 MC_RGM DES 报告 RESET:
0x00000041 和 MC_RGM FES 报告 0x00010000,根据我对 S32K3XXRM 的了解,这意味着 HSE 看门狗超时导致基于升级的破坏性 RESET。

有趣的是,当我连接 J-Link 时,这种现象似乎就消失了,但我似乎找不到从我的固件中禁用或维护 SWT 的方法。我需要为 S32K388 下载/安装标准 HSE 固件吗?

为什么S32K388需要这个功能,而S32K344不需要?

Re: S32K388 HSE_SWT Reboot for Fresh Chip flashing

经过进一步测试——如果我在读取 MC_RGM FES/DES 标志后将其全部清除(这样它们就不会在启动后保持不变),启动循环开始返回:FES: 0x00010000,偶尔返回 DES: 0x00000040(但大多数情况下返回 DES: 0x00000000)。

为了更清楚地说明原帖内容,我已将 IVT 中的启动配置字设置为 0x00000001 - 根据我的理解,这似乎意味着只设置了 CM7_0_ENABLE,而根本不应该有任何 HSE/SWT_0 设置?

Re: S32K388 HSE_SWT Reboot for Fresh Chip flashing

万一我的另一条评论最终证明并不能解决问题:

  • 我使用的芯片型号为 S32K388HHMJBS 0P39J CTAJ2507E - 如果您需要我读取某些寄存器以获取特定芯片信息,请告诉我。
  • HSE固件从未安装过——这是一台全新出厂的设备,我只刷入了自己的裸机代码。
  • 对于 IVT:
    • hseFwHeaderStartAddr 为零
    • recovery_app_start_address 为零
    • 我不确定应该从 IVT 中提供哪些字段,但除了头部设置为 0x5AA55AA5、boot_config 设置为 1 以及 cm7_0_start_address 设置为中断向量表之外,其他字段基本上都为零。
  • 我在原帖中已经提供了我得到的DES和FES值,但如果这些信息不够清晰,请告诉我。
  • 我会尽量上传这段代码——我需要获得公开发布这段代码的许可。
Re: S32K388 HSE_SWT Reboot for Fresh Chip flashing

更正一下——我上面评论中的最后一句话应该是“HSE_CLK 频率为 160MHz,AIPS_SLOW_CLK 频率为 40MHz”。

Re: S32K388 HSE_SWT Reboot for Fresh Chip flashing

根据这篇帖子: https://community.nxp.com/t5/S32K/What-does-it-mean-HSE-SWT-RST-on-S32K311/mp/1955147

这是来自旧版 S32K3XXRM 的 S32K3xx_DCF_clients.xlxs 的图像: https://community.nxp.com/t5/S32K/S32K388-HSE-No-Response-Error/mp/2090937/highlight/true ?lightbox-message-images-2090937=336074i0A601700196531EB#M48394

我似乎通过在 UTEST 内存扇区中写入 0x40000101 0x00100006 到 0x1B000770(将“2”放入 HSE_CLK_MODE_AND_GSKT_CTRL)解决了我的问题。

在当前版本的 S32K3xx_DCF_clients.xlxs 中,HSE_CLK_MODE_AND_GSKT_CTRL 的描述如下:

Screenshot From 2026-07-24 09-14-40.png

但在 S32K3XXRM 中,我找不到关于垫片配置中应该如何配置的参考信息(最接近的似乎是“HSE_B”,但表格中提到的是一个不可能的 1:1 配置):

Screenshot From 2026-07-24 09-22-01.png

这只是文档更新失败吗?如果我使用 Option A++ 时钟(CORE_CLK 为 160MHz,AIPS_SLOW_CLK 为 40MHz),那么 HSE_CLK_MODE_AND_GSKT_CTRL 中是否应该设置 1:4 的比例?

Re: S32K388 HSE_SWT Reboot for Fresh Chip flashing

请问您能否提供以下信息:

所使用的S32K388芯片的具体零件编号和版本号。
确认设备上是否曾经安装过 HSE 固件(或者这是否是一台完全空白/出厂全新的设备)。
IVT 配置,特别是 hseFwHeaderStartAddr、appBootAddr 和任何其他与 HSE 相关的 IVT 字段的值。
RESET后的完整RESET状态寄存器转储(MC_RGM_DES、MC_RGM_FES 和任何其他相关的RESET寄存器)。
无论问题是出现在多个设备上还是仅出现在单个板上。
一个能够重现该问题的最小项目/应用程序,或者至少是 RESET 发生之前执行的启动代码序列。

目前尚不清楚重置是由 HSE/SBAF、应用程序问题还是设备配置问题引起的,因此上述信息将有助于确定根本原因。

Re: S32K388 HSE_SWT Reboot for Fresh Chip flashing

据我们所知,这已经解决了这个问题。我希望文档能够更新,以反映选项 A++ 需要更换此垫片@davidtosenovjan

Tags (1)
No ratings
Version history
Last update:
2 weeks ago
Updated by: