这是本文档旧的修订版!
恢复CC8X到出厂状态
CC8x模块默认出厂带有U-boot,藉此您可以烧写默认或是自定义的固件。如果模块flash中的UBoot分区被擦除,或是您烧入一个不可用的U-Boot,导至模块变砖块不能用,你还可以通过恢复出厂状态来使得模块恢复正常工作。您可以选择从下面两处来启动UBoot,重新向片上闪存写入UBoot,从而恢复模块。
- 利用USB调试模式启动U-Boot
- 从uSD卡中启动U-Boot
USB调试模式启动U-Boot
使用这个方法,您需要有一台用于开发DEY的电脑并有root权限。您还需要CC8X的console连接线缆和一根USB type-C的线缆。
1. 从Digi官网FTP下载[[https://ftp1.digi.com/support/digiembeddedyocto/3.0/r2/images/ccimx8x-sbc-pro/xwayland/|CC8X的U-Boot镜像]] Digi作为NXP的金牌合作伙伴,在i.MX8X未正式发布之际就提供一些模块和开发板,请根据模块型号和处理器步进版本选择合适的U-Boot镜像,参考:https://www.digi.com/resources/documentation/digidocs/embedded/dey/3.0/cc8x/hw_r_variants_8x.html 以及[[https://www.digi.com/resources/documentation/digidocs/embedded/dey/3.0/cc8x/hw_r_soc-revisions_8x|如何识别处理器步进版本]] 2. 下载最新的[[https://github.com/NXPmicro/mfgtools/releases/latest|NXP UUU工具(Universal Update Utility)]] 3. 将UUU工具放置于搜索路径中,比如/usr/bin 4. 安装udev规则允许任何用户运行uuu来访问USB端口
~$ sudo sh -c "uuu -udev >> /etc/udev/rules.d/99-uuu.rules" ~$ sudo udevadm control --reload-rules
5. 连接开发板type-C接口到电脑[[digi:arm-embedded:whymodule|为什么采用 Digi核心模块来做嵌入式开发]] 6. 更改启动模式,选择从USB启动 开发板上的Boot1,Boot2开关全置位on即为从USB启动 7. 连接console线到主机,打开一个115200/8/n/1的串口终端,以查看启动信息 8. 给开发板上电 9 在主机上用uuu加载U-Boot文件,如 $ uuu </path/to/u-boot-file> 10. 终端显示启动信息,则启动成功
板子正常启动后,您还需要把U-Boot刷到模块的闪存,即eMMC中,以便下次可直接从模块启动。请参考固件更新章节了。