MCU刷写避坑指南

准备工作

  1. 安装 IAR 软件和获取网络 licenseIWindowIAR安装调试—PE烧写文件
  2. MCU 版本下载地址智能座舱mcu构建流程
  3. 刷机规范流程高低配的机器,9008刷机规范流程
  4. HSE 固件烧录HSE固件没烧录

问题总结

1. 高/低配机器 ACC 虚焊导致 MCU 休眠掉电

某些高配或低配机器的 ACC 线是虚焊的,在 9008 模式下刷 SOC 时,MCU 会触发休眠从而掉电(电流从 0.8 掉到 0.2),导致刷机失败。这时需要先刷不休眠版本的 MCU,更新完 SOC 后再刷正常的 MCU 版本。

MCU 8 月 3 号之后的版本已解决

方案一:保证不发 PCAN、不连 ACC 的情况下,MCU 在 9008 时不会给 8925 下电

[附件(token=H1VHb6uOZoyUAzxN1J8c2laGnRd)]

方案二:MCU 版本目前构建六种编译版本(参考 智能座舱mcu构建流程),其中包含:

  • AccNotify(临时版本,可通过 ACC 电源唤醒)
  • NoSleep(临时版本,不休眠)

可下载 NoSleep 版本,保证不发 PCAN、不连 ACC 的情况下 MCU 在 9008 时不会给 8925 下电。

2. PE 刷机出现 Can't communicate with the target processor

这属于接触不良的现象。

  • 目前可通过更换 PE 或者金手指解决
  • 或者多试几次

3. 刷完 MCU 后电流一直为 0.02

这属于 HSE 未安装的现象,参考 HSE固件没烧录,可联系李权。

4. MCU 起不来可刷此版本(清 flash)

需要清除 flash,可刷写如下 MCU 版本进行清除,然后再刷正常的 MCU 版本。

[附件(token=AFjPb7R5SoLGLPxOql1ctjpSnee)]

5. 通过 fastboot 刷写 MCU,2 分钟左右 MCU 会重启 DCD

原因:MCU 与 SOC 之间的心跳是开启的,需在 SOC 侧关闭心跳。

关闭心跳命令(QNX 串口):

echo 'heartbeat:json:{"hb_switch":"off"}' >> /tmp/pps/system_monitor/service

打开心跳:echo 'heartbeat:json:{"hb_switch":"on"}' >> /tmp/pps/system_monitor/service

参考:2.1.6 system_monitor对外接口定义

6. A 样机器刷带功能安全版本的 MCU 后,电流为 0.04A

原因:服务器编出来的版本起不来是因为功能安全导致。功能安全适配的是 S32K324 芯片,A 样的机子是 S32K344 芯片,A 样的机子刷带功能安全的版本就会起不来。

目前无法解决