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(设备管理器检查)

PC连XCD白色USB口 设备管理器查波特率115200 MobaXterm串口设置

mcu log 示例

SOC 串口 uart 是否正常吐 log

  • PC 连 XCD 黑色 USB 口串口;选串口编号第二小的串口,波特率 115200;不正常→找 soc 相关老师

PC连XCD黑色USB口 第二小串口波特率 SOC串口log示例

硬件版本和 MCU 软件对应吗

怎么查看硬件版本

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

整机标签硬件版本 mcu log HWVER 关键字

怎么查看 mcu 软件版本号

mcu log 关键字 mver;NR=Debug 版本,RE=Release 版本

mcu log mver 关键字(NR=Debug/RE=Release)

软硬件版本号如何确认对应

不同硬件版本号 adb 正常工作的硬件链路 usb-hub 控制方式不同(前期 i2c,逐渐切换到 gpio),需选刷正确的 mcu 软件(对应表见原文嵌入表格 PBO8sm2FUhvBNMtOltucUiJBnPe)。

发现 mcu 版本不对,如何刷写

刷写的 mcu 是 debug 还是 release

  • debug=测试版;release=正式版/user 版/发布版
  • Debug 版本:usb-hub 上电默认 devices 模式(adb 可用);Release 版本:上电默认 host 模式(adb 不可用)
  • usb-hub 设计细节见 usb-hub代码架构设计文档 或请教郑文静

获取 debug/release 版本

按自身功能定或找 MCU 工程师/fanchangmai。下载:

ROM平台签名类型列 下载hardware.zip ALL.hex与ALL_HSM.hex

已经刷写 release 版本怎么办

重刷 debug,或手动切 devices 模式:

  • 大屏切换:中控屏 开发者选项 → USB 调试模式 开启
  • Mcu shell 切换:usb.set.mode.current 0(见 mcu shell 命令参考文档)

开发者选项USB调试模式 USB模式切换开为Device

已是 debug 版本仍没 adb 口

usb.get.mode 查当前是否 host;是则 usb.set.mode.current 0 切 devices;是 devices 则继续排查。

adb usb 线束链路检查

  • 内部定制一分二线束分正反面:没接入过 usb 可调面试试,或换环境交叉验证
  • 普通 usb 线:换内部定制线或换一根普通线试

USB线束检查

Mcu log 查看 usb-hub 配置结果

如何通过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

car.get/set.product.platform 说明 mcu shell 设置示例

人工服务

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