我在使用旭日x3派,第一次sd卡烧录好系统(v1.1.7)后,可以正常进入系统;
但是现在重新烧录系统无论是v1.1.7还是v3.0.3,都没办法进入系统,板子的灯常亮绿色,debug的串口输出如下:
U-Boot 2018.09-00018-ge762fe49 (Jan 02 2024 - 18:10:12 +0800)
Model: Hobot XJ3 Soc Board
DRAM: system DDR size: 0x7fe00000
2 GiB
MMC: dwmmc@A5010000: 0, dwmmc@A5011000: 1, dwmmc@A5012000: 2
Loading Environment from UBI… GigaDevice SPI NAND was found.
128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
*** Warning - bad CRC, using default environment
xj3_iar_probe: IAR output mode not define,using HDMI output as default
xj3_iar_probe: fail to set pixel clock 241700000 hz -1 hz
xj3_iar_probe: IAR output mode not define,using HDMI output as default
xj3_iar_probe: fail to set pixel clock 241700000 hz -1 hz
In: serial
Out: serial
Err: serial
Net: x3pi reset eth phy done
Warning: ethernet@A5014000 (eth0) using random MAC address - b6:4c:af:d5:2a:8f
eth0: ethernet@A5014000
Disable cnn cores ..
dtb_name:hobot-x3-pi.dtb
base board type: X3 SDB(for ddr dqmap)
bootmode: NAND
board_id = 31520324
hb_boot_args_cmd_set custom_bootargs 0 ubuntu_boot 1
Hit key to stop autoboot in 1s
enable watchdog success !
eMMC or SD Card not detected on mmchost 0
eMMC or SD Card not detected on mmchost 1
eMMC or SD Card not detected on mmchost 2
Boot from eMMC or SD Card failed
Hobot>
结论
你的 X3 派卡在 U-Boot 阶段无法启动,核心问题是:SD 卡未被正确识别(eMMC or SD Card not detected on mmchost 0/1/2),导致无法加载系统镜像。
从日志看:
- 板子正常完成 DDR 初始化
- U-Boot 成功加载
- 但所有 MMC 控制器都检测不到 SD 卡
- 最终停在
Hobot> 命令行
这是典型的SD 卡启动失败问题,社区已有多个类似案例。
排查步骤
检查 SD 卡物理状态
# 确认事项:
- SD 卡是否完全插入卡槽(听到"咔哒"声)
- 卡槽金属触点是否氧化/脏污
- 尝试更换 SD 卡(推荐品牌:闪迪/三星,容量 16-64GB,Class 10 以上)
重新烧录系统镜像
关键操作:
# 使用官方推荐工具
- Windows: balenaEtcher 或 Rufus(以 DD 模式)
- Linux: dd 命令
- 烧录后**安全弹出**SD 卡,不要直接拔出
# 镜像选择
- 优先尝试最新版 v3.0.3
- 如果之前 v1.1.7 能用,可能是新镜像与旧 U-Boot 兼容性问题
升级 MiniBoot/U-Boot(最重要)
社区反馈5 月后修复了 SD 卡兼容性问题,需要升级板载 U-Boot:
方法 A:通过 hbupdate 工具(推荐)
# 在另一台能正常启动的 X3 派上操作
# 或借用朋友的板子先升级 U-Boot
# 下载最新 miniboot 包
# 参考社区置顶帖:https://developer.d-robotics.cc/forumDetail/251934743552436364
# 烧录到故障板子的 eMMC/NAND
hbupdate -f miniboot_vxxx.bin
方法 B:通过 Fastboot 模式
# 板子断电
# 按住 Recovery 键(如果有)再上电
# 进入 Fastboot 模式后烧录
fastboot flash uboot uboot_x3pi_vxxx.bin
fastboot reboot
检查启动模式跳线
X3 派支持多种启动方式(NAND/SD/eMMC),确认:
- 板子上是否有启动模式跳线帽
- 是否误触导致切换到 NAND 启动而非 SD 启动
- 日志中
bootmode: NAND 表示从 NAND 启动,但你的系统在 SD 卡上
临时解决方案
如果急需使用,可以尝试在 U-Boot 命令行手动加载:
Hobot> mmc dev 0 # 切换到 mmc0
Hobot> mmc info # 查看 SD 卡信息
Hobot> fatload mmc 0 0x42000000 uImage
Hobot> bootm 0x42000000
如果 mmc info 无输出,说明硬件层面未检测到 SD 卡。
社区相关案例
建议操作顺序
- 换一张 SD 卡(最可能的原因)
- 用 DD 模式重新烧录 v3.0.3 镜像
- 升级 MiniBoot/U-Boot 到最新版本
- 如果仍不行,联系官方技术支持,可能是板子 MMC 控制器硬件问题
需要我帮你查找最新的 MiniBoot 下载链接或升级教程吗?
需要查找最新的 MiniBoot 下载链接或升级教程
根据你的情况,我整理了最新的 MiniBoot 升级教程和下载链接:
MiniBoot 固件下载
官方下载地址:
http://sunrise.horizon.cc/downloads/miniboot/
根据你的板子选择固件:
- 2GB 内存 + 3.3V(默认):
disk_nand_minimum_boot_2GB_3V3_20230413.img
- 4GB 内存 + 3.3V(默认):
disk_nand_minimum_boot_4GB_3V3_20230413.img
如果不确定内存大小,查看板子丝印或第一次能启动时的系统版本
升级方法(两种)
方法一:板端升级(需要另一块能启动的板子)
如果你还有另一块能正常启动的 X3 派:
# 1. 在能启动的板子上下载固件
cd /userdata
wget http://sunrise.horizon.cc/downloads/miniboot/disk_nand_minimum_boot_4GB_3V3_20230413.img
# 2. 执行升级命令(根据内存选择)
sudo update_minimum_boot disk_nand_minimum_boot_4GB_3V3_20230413.img
# 3. 重启
sudo reboot
升级完成后,用这块板子的 SD 卡去故障板子尝试启动。
方法二:使用 hbupdate 工具(推荐,无需能启动的板子)
步骤:
-
下载工具
http://sunrise.horizon.cc/downloads/hbupdate/hbupdate_win64_v2.1.9.1_rdk.zip
-
硬件连接
- 仅需 串口线(USB 转 TTL)
- 连接板子的 UART 引脚(GND, TX, RX)
- 不要接电源
-
配置 hbupdate
- 打开
hbupdate.exe
- Board Name: 选择
RDK_X3_4GB(或 2GB)
- Serial Port: 选择你的串口号
- File: 选择下载的 miniboot 固件(
.img 文件)
-
烧录操作
1. 确保板子断电
2. 点击 Start 按钮
3. 看到提示"请上电"后,立即给板子通电
4. 等待进度条完成(约 10-30 秒)
-
验证
- 烧录完成后断电重启
- 如果不再打印
CCC 且能识别 SD 卡,说明成功
快速解决建议(按优先级)
根据你的日志 eMMC or SD Card not detected on mmchost 0/1/2,建议顺序:
| 优先级 |
操作 |
成功率 |
 |
更换 SD 卡(闪迪/三星 16-32GB Class10) |
60% |
 |
升级 MiniBoot(用 hbupdate 工具) |
80% |
 |
使用 v3.0.3 镜像(v1.1.7 太旧) |
70% |
 |
检查 SD 卡槽接触(清理触点) |
30% |
关键提示
- v1.1.7 镜像太旧:社区反馈 RDK X3 V1.1.7 版本镜像无法启动 中,官方建议直接用 v3.0.3+
- SD 卡兼容性:2023 年 5 月后修复了 SD 卡兼容性问题,必须升级 MiniBoot
- 烧录工具:使用 balenaEtcher 或 Rufus(DD 模式),不要用默认模式
如果 hbupdate 烧录失败
常见错误及解决:
| 错误现象 |
原因 |
解决 |
| 卡在 10% |
上电时机不对 |
先点 Start,看到提示再上电(10 秒内) |
| 找不到串口 |
驱动未安装 |
安装 CH340/CP210x 串口驱动 |
| 校验失败 |
固件不匹配 |
确认内存大小(2GB/4GB) |
需要我帮你确认板子的内存大小,或者提供串口接线图吗?
最新 MiniBoot 升级资源
根据社区最新信息,我为你整理了完整的升级资源:
官方文档与下载
针对你的情况(推荐方案)
由于你的板子第一次能启动 v1.1.7,说明硬件正常,问题是旧版 MiniBoot 与新 SD 卡/新镜像不兼容。
最优解决路径:
1. 更换 SD 卡(闪迪/三星 16-32GB Class10)
↓
2. 用 balenaEtcher 烧录 v3.0.3 镜像
↓
3. 如果仍不行,用 hbupdate 升级 MiniBoot
hbupdate 烧录 MiniBoot 详细步骤
硬件连接:
电脑 USB ──→ USB 转 TTL 模块 ──→ X3 派
GND ──→ GND
TX ──→ RX
RX ──→ TX
不要接电源,hbupdate 会通过串口服电触发下载模式
操作流程:
1. 解压 hbupdate_win64_v2.1.9.1_rdk.zip
2. 运行 hbupdate.exe
3. Board Name: 选择 RDK_X3_4GB(不确定就选 4GB)
4. Serial Port: 选择你的串口号
5. File: 选择 disk_nand_minimum_boot_4GB_3V3_20230413.img
6. 板子断电 → 点击 Start → 看到提示后立即上电
7. 等待进度条到 100%
固件选择指南
| 内存大小 |
固件文件 |
| 2GB |
disk_nand_minimum_boot_2GB_3V3_20230413.img |
| 4GB |
disk_nand_minimum_boot_4GB_3V3_20230413.img |
如果不确定,查看板子丝印或第一次启动成功时的 dmesg 输出
常见问题
| 问题 |
解决 |
| 卡在 10% |
先点 Start,看到"请上电"提示后 5 秒内通电 |
| 找不到串口 |
安装 CH340 驱动,检查串口线连接 |
| 烧录后仍不识别 SD 卡 |
更换 SD 卡品牌/容量,或尝试 v3.0.3 镜像 |
需要进一步帮助?
如果上述步骤仍无法解决,建议:
- 在帖子下回复你的烧录日志截图
- 提供SD 卡品牌和容量
- 联系官方技术支持(文档中有联系方式)
需要我帮你查看官方文档的具体内容,或者提供串口接线图吗?