使用X5 Module应该选择哪个呢

:tada: 好消息:SD 卡启动成功!

从日志看,SD 卡已经成功启动并加载内核

Found U-Boot script /boot/boot.scr
fdtfile = x5-md-v1p2.dtb          ← 正确的 X5 Module 设备树
Loading kernel: /boot/Image
Starting kernel ...

这说明你的编译配置是正确的(使用了 board_x5_soc_*.mk),问题确实在 eMMC 烧录环节


问题定位

测试项 结果 结论
SD 卡启动 :white_check_mark: 成功 镜像本身没问题
eMMC 启动 :cross_mark: UMS 循环 eMMC 分区/标志位有问题
多个 Module :cross_mark: 同样问题 排除硬件故障

eMMC 烧录问题解决方案

方案 1:在 U-Boot 中清除 UMS 标志(推荐先试)

串口连接,上电后快速按任意键进入 U-Boot 命令行:

# 1. 查看当前环境变量
printenv

# 2. 清除 UMS 相关变量
setenv ums_active 0
setenv update_mode 0
setenv bootcmd 'run bootcmd_mmc1'

# 3. 保存并重启
saveenv
reset

方案 2:检查 xburn 烧录配置

xburn V1.1.9 烧录 eMMC 时,确认以下设置:

配置项 正确设置
设备型号 X5 Module / SOC
烧录目标 eMMC
烧录模式 完整烧录(非增量)
分区表 使用镜像默认
烧录后操作 不自动启动

:warning: 关键:xburn 中是否有「烧录后进入更新模式」或类似选项?如有请取消勾选

方案 3:通过 SD 卡修复 eMMC 分区标志

如果 SD 卡能成功进入 Ubuntu 系统:

# 1. 查看 eMMC 设备
lsblk  # 确认 eMMC 是 /dev/mmcblk0

# 2. 查看分区表
sudo fdisk -l /dev/mmcblk0

# 3. 清除 eMMC 前 1MB(分区表区域)
sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=1
sudo sync

# 4. 重新使用 xburn 烧录 eMMC

验证步骤

1. 确认 SD 卡能否进入 Ubuntu 桌面/命令行
   └─ 如果能 → 继续修复 eMMC
   └─ 如果不能 → 检查编译打包流程

2. 使用 xburn 重新烧录 eMMC(完整烧录模式)

3. 烧录完成后断电,拔掉 SD 卡,再上电测试

需要你确认

  1. SD 卡启动后能否进入 Ubuntu 系统?(串口登录或 HDMI 显示)
  2. xburn 烧录界面的截图(特别是设备选择和选项部分)
  3. SDK 版本号cat /path/to/sdk/version 或目录名)

参考资源

建议将 SD 卡成功启动的日志和 eMMC 修复方案更新到你的原帖子,这对其他 X5 Module 开发者会很有帮助!