XCD 单独升级 MCU 教程 2024.12.18(持续完善中)
🎹 该升级方法已总结为 skill,可从 https://micode.mioffice.cn/#/skills/573 下载;在 micode 等工具中输入
/xcd-mcu-update 升级 XCD MCU,跟随 AI 指引进行升级
⛱️ 此方法只用于有条件线刷但又不想线刷时;因 SOC 和 MCU 版本不匹配导致的问题概不负责,推荐 SOC 和包含 MCU 的所有外设一同升级
适用版本:SOC 和 MCU 为主线或 L43K31C32(或更新分支)2024-12-18 及以后的版本,且都需为座舱版本(不能为工厂/手机部版本)。升级前后 MCU 和 SOC 的 debug/release 性质最好相同。
📝 release MCU 无法升级到 debug MCU
📌 本地实证补充(2026-08-20,vid-recovery 全案):MCU 全死(SPI 无应答)时此方法走不通——
update_test读不到当前版本会拒刷(部分版本)或烧写失败(result 102);此时走 mcu-flash 台架线刷。
下载升级固件
从 https://preview.admin.iccc.mioffice.cn/rom/#/ 下载 hardware.zip,解压后再解压 mcu.zip,得到 ALL_HSM.hex。
前期准备
需要连接 adb 线。XCD 上电后执行:
adb wait-for-device
adb root
adb shell mkdir -p data/ota_hardware_package/hardware/mcu # 如果 data 前加斜杠可能报错
# 在本地电脑 ALL_HSM.hex 所在目录执行(路径最好不要有中文,可能 push 丢文件后缀)
adb push ALL_HSM.hex data/ota_hardware_package/hardware/mcu/
adb shell sync使用 caros 的 MCU(如 mann f3,device name: feynman)还需 push 分区表文件(也在 mcu.zip 中;注:feynman 260508 之后的版本支持 MCU 升级):
adb push update_partition_table.json data/ota_hardware_package/hardware/mcu/
adb shell sync升级
adb shell
./vendor/bin/update_test -s mcu查看升级结果
执行后打印升级进度,进度 100(约 2 分 15 秒内到 100)后过几秒出现 the switchPartition result is 1 则升级成功,重启后查看版本。
📝 重启一定要 MCU+SOC 一起重启,
adb reboot只重启 SOC 不行。 建议断电重启,或:
- 2025.08.29 前的 SOC:
adb shell lshal debug android.hardware.automotive.vehicle@2.0::IVehicle --manager power reboot 1- 2025.08.29 及以后的 SOC:
adb shell lshal debug android.hardware.automotive.vehicle@2.0::IVehicle --manager power reboot 1 test- 或在 MCU 串口执行
system.reset 0