XCD找不到adb常见问题排查手册【仅适用于XCD2.0】
适用于 N801/P801/XCD mcu 侧 adb/usb/hub 故障排查;DCD 直接转人工。
XCD 是否正常工作
adb 正常工作的前提是 MCU 和 SOC 均正常。
电流是否正常
XCD 正常电流一般 600mA~3500mA,且会一直小幅度跳动。不正常→人工服务。
mcu 串口 uart 是否正常吐 log
- PC 连 XCD 白色 USB 口串口;选串口编号最小的串口,波特率 115200(设备管理器检查)

- 打开串口工具看有无 mcu log;mcu shell 指令参考 mcu shell命令参考文档

SOC 串口 uart 是否正常吐 log
- PC 连 XCD 黑色 USB 口串口;选串口编号第二小的串口,波特率 115200;不正常→找 soc 相关老师

硬件版本和 MCU 软件对应吗
怎么查看硬件版本
- 整机标签:直接看硬件版本号(如 P2)
- 裸板:按硬件来源溯源
- mcu log 查询:关键字
HWVER(2024-08 才支持,前期版本不支持)

怎么查看 mcu 软件版本号
mcu log 关键字 mver;NR=Debug 版本,RE=Release 版本。

软硬件版本号如何确认对应
不同硬件版本号 adb 正常工作的硬件链路 usb-hub 控制方式不同(前期 i2c,逐渐切换到 gpio),需选刷正确的 mcu 软件(对应表见原文嵌入表格 PBO8sm2FUhvBNMtOltucUiJBnPe)。
发现 mcu 版本不对,如何刷写
- 北京小米科技园:H 栋 7 层 mcu 公共刷写台架自助升级,见 MCU刷写台架介绍及刷写教程
- 非北京:XCD MCU 线刷教程、《XCD MCU更新UCB以及代码刷写流程》
刷写的 mcu 是 debug 还是 release
- debug=测试版;release=正式版/user 版/发布版
- Debug 版本:usb-hub 上电默认 devices 模式(adb 可用);Release 版本:上电默认 host 模式(adb 不可用)
- usb-hub 设计细节见 usb-hub代码架构设计文档 或请教郑文静
获取 debug/release 版本
按自身功能定或找 MCU 工程师/fanchangmai。下载:
- 座舱 ROM 平台 https://preview.admin.iccc.mioffice.cn/rom/#/rom/versionInfo —— 签名类型”测试”=debug,“正式”=release;下载 hardware.zip → mcu.zip → ALL.hex(常规)/ ALL_HSM.hex(带 HSM,刷法参考《HSM固件刷写》)
- 小米融合云 https://cloud.mioffice.cn/#/product/file-store/objects/xcd-project —— 按 分支/daily-build/日期/Debug|Release 找 ALL.hex
- 各 hex 介绍见《XCD MCU 各 hex 介绍》

已经刷写 release 版本怎么办
重刷 debug,或手动切 devices 模式:
- 大屏切换:中控屏 开发者选项 → USB 调试模式 开启
- Mcu shell 切换:
usb.set.mode.current 0(见 mcu shell 命令参考文档)

已是 debug 版本仍没 adb 口
usb.get.mode 查当前是否 host;是则 usb.set.mode.current 0 切 devices;是 devices 则继续排查。
adb usb 线束链路检查
- 内部定制一分二线束分正反面:没接入过 usb 可调面试试,或换环境交叉验证
- 普通 usb 线:换内部定制线或换一根普通线试

Mcu log 查看 usb-hub 配置结果
N801-P2 及以前硬件使用 adb/usb 需注入配置字
硬件版本号资源紧缺,boardid 做了版本号回卷变更;自 20241218 的 mcu master、rls-xcd-u-L43K31C32、rls-xcd-u-L431K32C32 需按下法配置(配置字表见原文嵌入表格):
car.get.product.platform获取当前产品平台(mcu 串口敲)car.set.product.platform $product_platform设置(0x1001=Lemans、0x1002=Modena25C、0x1003=kunlun 等)- 再
usb.set.mode.current 0设当前点火循环 USB 为 devices

人工服务
以上排查仍无结果,请联系 fanchangmai,@SOC 的老师。