当U-Boot被擦除或是写入不合法的U-Boot,核心模块上电无法启动时,可以用通过从uSD卡或USB的OTG口启动U-Boot,再把U-Boot写入eMMC的启动分区,来恢复无法启动的CC6模块。

uSD卡启动恢复模块

用uSD卡启动,您需要一张带有U-Boot的uSD卡。

  • 制作U-Boot的uSD启动卡

您需要准备好一个能用的U-Boot文件,和一台Linux电脑,在Linux电脑上,用下面命令将U-Boot写入到uSD卡中

dmesg
ls /dev/mmc* 或 ls /dev/sd*
sudo dd if=<path/filename.imx> of=/dev/mmcblk0 bs=512 seek=2 oflag=sync 
如果您的uSD分区不是/dev/mmcblk0,请用自己电脑中的文件描述符代替。

上面命令中,dmesg用于查看系统消息,当插入uSD卡后,打这个命令,我们可以得到文件描述符,列出uSD卡列表,并用dd偏移两个扇区写入U-Boot镜像到uSD卡中。如果没有Linux电脑,在Windows中也有一些用的磁盘扇区读写工具,注意要偏移两个扇区写入,这样才能启动。

  • 选择从uSD卡启动

请将uSD卡插入到单板机中,然后在启动设置上选择uSD卡启动 进入U-Boot后,您可以正常更新U-Boot等固件到eMMC中,以便下次从eMMC启动,在重新上电之前,请先恢复启动开关为eMMC启动。

从USB启动恢复模块

从USB口启动并恢复模块,您需要一台安装有CC6 SDK的电脑,请将启动开关选择为从USB口启动,在安装有DEY SDK的电脑上

sudo /opt/dey/2.4-r1/sysroots/x86_64-deysdk-linux/usr/bin/imx_usb /path/to/u-boot-ccimx6sbc.imx

正常启动后,就可以将U-Boot等固件更新到eMMC卡中,更新记得把启动开关拨回eMMC启动方式。