====恢复您的CCMP25设备==== 如果模块内置的eMMC中擦除引导加载程序(或使用无效映像写入)时,目标板将无法启动,这时则可以从其他介质引导目标板启动,然后在uboot界面中更新eMMC闪存中的启动镜像或是完整卡刷包。为了在加载uboot后,能使用卡刷包,请把带有正确镜像的卡刷包解压到U盘或是SD卡中(注意SD卡要用FAT32,并且不要用过大的扇区) ===在 USB 调试模式下启动=== 使用USB接口来恢复镜像(非usb转uart的console口),除了连接原有console口的调试电脑外,您还需要一台Linux主机和一根额外的USB Type-C 数据线。当然您也可以用同一台Linux电脑来实现。 操作方法: 注意,除了从官方的服务器下载预编译的固件外,确保无误的话也可以使用自己编译的固件。 下面固件下载请在Linux主机上完成: - 从 https://ftp1.digi.com/support/digiembeddedyocto/4.0/r7/images/ccmp25-dvk/wayland/arm-trusted-firmware/ 下载适合从 USB 引导的 TF-A 二进制映像文件 (tf-a-ccmp25-dvk-usb.stm32)。 - 从 https://ftp1.digi.com/support/digiembeddedyocto/4.0/r7/images/ccmp25-dvk/wayland/fip/ 下载 FIP DDR 固件二进制映像文件 (fip-ccmp25-dvk-ddr.bin)。 - 从 https://ftp1.digi.com/support/digiembeddedyocto/4.0/r7/images/ccmp25-dvk/wayland/fip/ 下载 FIP 二进制映像文件 (fip-ccmp25-dvk-optee.bin)。 - 在Linux主机上安装 dfu-util 软件工具:sudo apt install dfu-util - 连接console口到安装有终端程序的电脑上,并以9600/8/n/1的方式打开电脑 - 连接到目标板的USB Type-C接口到之前下载固件和安装好dfu-util的Linux主机上 - 将引导模式配置更改为从 USB 引导。为此,请按如下方式设置引导模式微动开关:BOOT.2置ON,其它三个(BOOT.1,BOOT.3,BOOT.4)置OFF。 - 插入电源上电 - 在linux主机上,运行一系列dfu-util命令来使MPU通过USB接口加载启动固件,如下所示,请按顺序执行: dfu-util -a 0 -D tf-a-ccmp25-dvk-usb.stm32 dfu-util -a 0 -e sleep 1 dfu-util -a 0 -D fip-ccmp25-dvk-ddr.bin dfu-util -a 0 -e sleep 1 dfu-util -a 1 -D fip-ccmp25-dvk-optee.bin dfu-util -a 0 -e 串行终端显示启动 U-Boot 的设备,此时在Uboot界面,您可以继续将 U-Boot 重新刷到 eMMC 中。比如使用卡刷包卡刷,以更新eMMC中损坏的镜像。如果没有U盘或SD卡,也可以通过FTP来更新固件(参考后附官方文档)。 注意,卡刷完成后,您需要把微动开关恢复为原来状态,然后按reset或重新上电,以便从模块闪存上的固件来启动。 更多内容,请参考官方文档:https://www.digi.com/resources/documentation/digidocs/embedded/dey/4.0/ccmp25/yocto-recover-device_t_stm.html#boot-in-usb-debug-mode