如果U-Boot镜像被擦除或是写入一个不对的U-Boot镜像,核心模块上电后将无法启动,这时您可以用USB调试模式来恢复启动镜像。首先我们要知道CC6UL的启动选项。
在CC6 UL SBC PRO单板机上,Console边有个跳线J10,它用来控制上电后启动方式:
默认地,该跳线是开放的,单板机上i.mx6ul的BOOT_MODE [1:0]=10,启动方式由BOOT_CFG1[7:0]引脚控制的寄存器决定,默认地它被配置成从NAND启动。如果NAND上没有合法的U-Boot镜像,则CPU会从USB调试模式启动。
当跳线被合上,则CPU会根据eFuse的OTP位来选择启动方式,默认对应OTP位没烧写,会从USB调试模式启动。

用USB调试模式恢复启动分区

用这个方法恢复U-Boot,您需要有一台安装有DEY SDK工具链的Linux电脑,参考DEY应用程序开发来安装DEY SDK。 恢复步骤:

  1. 像正常固件升级的方式一样连接Console线到主机。
  2. 用手机的数据线连接单板机背面的Micro USB口到主机。
  3. 合上J10跳线帽
  4. 给板子上电
  5. 打开console口终端,波特率为115200/8/n/1
  6. 在安装有DEY SDK的Linux主机上,运行<coed>sudo /opt/dey/2.4-r1/sysroots/x86_64-deysdk-linux/usr/bin/imx_usb /mypath/u-boot-ccimx6ulsbc.imx</code>
  7. 这样,串口终端会打印通过USB调试模式加载的启动过程,这时您已经在U-Boot中,可以重新分区,更新U-boot到NAND中,以便下次从NAND启动。

如果您使用TrustFence,需要更新签名认证的镜像,请参考官方原文档恢复UBoot中的对应章节。