DCD / XCD 刷机教程
官方 DCD/XCD 刷机总教程。DCD(watt / SA8295)走 EDL 9008 刷机(
sudo ./edl.sh -f);XCD 走 fastboot(sudo ./flash_all.sh),刷前必须关闭 SoC 心跳,否则刷机过程中 MCU 会重启 SOC 导致失败。
ROM 包
Daily ROM 下载:座舱ROM平台(无权限需申请:权限申请)
熔丝熔断版本刷机:熔丝熔断版本台架刷 user-root ROM
ROM 选择:当天 Dev 分支的线刷包-整包
一定要下载签名为测试、版本名称以 .D 结尾的包,否则默认未打开 ADB。
DCD
- 线刷包:
watt_M_24.11.05.D_838_24.11.05.01.00_12_Uroot_IMAGES.zip(约 8082 MB) - 整包:
watt_full_images.zip(约 3090 MB)
XCD
- 线刷包:
suiren-24.11.05.D-flash_package.tgz
卡刷
线刷
DCD
台架准备
- 将二合一串口线的 Type-C 端连入黑色口(注意正反),另一端连入电脑
- 将金手指插入台架背部,先关闭台架电源,再按住金手指上的按钮不松并重新上电,一段时间后(5 秒以上)松开,台架将进入 EDL 模式
Ubuntu
-
首次使用 Ubuntu 刷机时,需先参考 EDL工具使用说明 中“二、工具获取安装”,安装 EDL
-
验证台架:终端输入
lsusb,若列表中有9008设备,则已进入 EDL 模式 -
进入到
watt_images目录中(包含 ufs0、ufs1 文件夹),在终端执行:sudo ./edl.sh -f命令执行完成,显示如下信息表示刷机完成(
{All Finished Successfully}): -
执行完毕后,给台架重新断电、上电即可
Windows
❗ Windows 刷机工具已更新至 2.0+,流程待完善
- 安装下面的软件:小米汽车PC刷机鉴权工具 - 下载地址
- 账号申请:小米汽车PC刷机鉴权工具 - 账号&权限申请说明
- 小米座舱PC刷机鉴权工具 v2.0 - 使用说明
安装高通驱动:qpm.qualcomm.com(使用公司邮箱注册,安装驱动,下载完成后重启电脑)
XCD
Ubuntu
关心跳! 如果没关心跳就进行了刷机,MCU 会在刷机过程中重启 SOC,导致刷机失败,此时设备会无限重启进 fastboot,无法正常开机。需通过 MCU 方式关闭心跳,再进行刷机。
❗ XCD 在 E4U2 阶段开启了功能安全 SoC 心跳监控功能,旨在能够在 SoC 系统异常场景下 MCU 根据 SoC 心跳监控策略重启 SoC,实现功能安全要求。
关心跳方式(任选其一):
方式 1:在“用户反馈” APP 中关闭
- 打开“用户反馈” APP
- 连续点击 10 次“问题反馈”
- 在弹出的页面中关闭“Soc 开关状态”
- 重启一次设备至点亮屏幕
- 通过
adb reboot bootloader进入 fastboot 模式 - 前往下文「第三步」,开始刷机
方式 2:SOC 侧(Android Shell 方式)
adb root
adb remount
adb shell setprop persist.soc_heartbeat_switch false
adb reboot设备重启后,再进入 fastboot:
adb reboot bootloader方式 3:MCU 侧(MCU Shell 方式)
进入 MCU Shell(任选其一):
- Adb(适用于 Android 正常启动、能进 adb 的情况):
adb root && adb shell stop mculog && adb shell microcom /dev/ttyHS4 - MCU 串口(适用于设备起不来等各类异常情况):
-
将二合一串口线接到 MCU 串口上。对于 XCD 旧板(裸板),白口为 MCU 串口,黑口为 SOC 串口;对于 XCD 新板(有金属外壳),和旧板相反,黑口为 MCU 串口,白口为 SOC 串口。
-
使用串口通信工具连接(任选其一):
Minicom:
sudo apt update && sudo apt install minicom# 查看串口 USB ls /dev/ | grep -i usb # 例如 ttyUSB0 # 连接串口('ttyUSB0' 需根据上一步输出确定) sudo minicom -D /dev/ttyUSB0 # 下面两步仅需配置一次,后续刷机无需再配: # CTRL+A -> Z -> O -> Serial port setup -> Hardware Flow Control: NO # CTRL+A -> L (保存配置)Putty:
sudo apt update && sudo apt install putty sudo putty
-
进入 MCU Shell 后:
- 关闭日志输出:
log.set.loglevel.current 0 - 关闭心跳(粘贴到 MCU Shell 中回车;几秒后设备会自动重启进 fastboot 模式,此时心跳自动关闭):
pm.soc.fastboot.ctrl 1 - 若使用 MCU 串口形式,关闭心跳后需重新将线束插回 SOC 串口:
# 进入 fastboot 后获取版本,获取成功后执行刷机 sudo fastboot getvar product
若 XCD 处于 Host 模式,无法线刷:
- 参考上述 putty 方式进入串口
- 执行
usb.set.mode.saved 0可以将 XCD 模式切换回 device
第三步:关闭心跳后,解压下载的 ROM 包,进入 ROM 包目录,执行:
sudo ./flash_all.sh避坑记录
- 报错:
Flashing is not allowed in Lock State
- 现象:执行
sudo ./flash_all.sh后提示FAILED (remote: 'Flashing is not allowed in Lock State')- 解决:执行
sudo fastboot oem unlock- 设备型号一致,但报错:
Missmatching image and device
- 现象:执行
sudo ./flash_all.sh后提示Missmatching image and device(镜像与设备不匹配),但实际确认台架硬件与 ROM 版本完全一致,排除版本不匹配。- 解决:可能是 sudo 的 PATH 环境变量不包含 fastboot 所在路径导致的。
- 方法一:不使用 sudo,直接执行
./flash_all.sh(普通用户的 PATH 包含 fastboot 安装路径)- 方法二:将 fastboot 所在路径添加到 sudo 的 PATH 环境中
- 根源:脚本通过 fastboot 命令获取台架设备信息与 ROM 版本对比。但当 fastboot 命令本身不可用时(
fastboot: not found),脚本未提示“命令不存在”,反而默认输出“镜像与设备不匹配”,导致报错误导。本质是 sudo 使用 root 的 PATH,未包含 fastboot 安装路径。
Windows
- 安装下面的软件:
[附件: zip (token=JhPNbevKToE1mGxdDZKc8A0Un4f)] - 参考“线刷-DCD-Windows”中的第 5 步:DCD / XCD 刷机教程,下载高通驱动
- WIN11 显示缺少驱动:Windows 常用驱动
- 打开 MobaXterm,选择对应串口建立连接,进入 mcu shell
- 输入
pm.soc.fastboot.ctrl 1进入 fastboot 模式 - 进入 ROM 包目录,执行
sudo ./flash_all.sh即可进行刷机
海外 ROM TIPS
最近 global 版本在切换到海外域名,开机向导登录小米汽车扫码会报错,暂时需要使用以下命令进行登录:
adb root
adb shell settings put global account_mi_config_host 1
adb shell settings put global micar_account_env PREVIEW
adb shell pkill -9 account如果台架是 pre-prod 环境,就把 env 后面的环境改成 preprod。