usb自动升级系统
最近在一个平台上,实现了个Uboot从USB自动升级Uboot+Logo+Kernel+Rootfs的功能;简单的总结下:
1、做这个的目的:方便客户升级;
2、总体的思路:在uboot里实现有了几条命令:usb start+fatls+fatload的命令,利用这几指令的操作去实现更新系统;
2.1、最初的验证:a、利用usb start查询到usb设备;b、fatls列举出u盘的文件;3、fatload加载相应的文件读入ddr,然后sf write进flash相应的位置;
2.2、代码的实现,添加一个自动升级的函数接口,在start_boot里,每次开机,uboot引导的时候,去scan一次是否有挂裁u盘,在u盘里去读取指令文件名的uboot等文件;读取到文件后,自动更新进flash里;
2.3、对应的源码,放在目录百度网盘目录:work/u-boot-2022_autoupdate.rar
3、注意点:需要注意涉及到DDR地址和flash 地址的差异(如环境变量存储在flash上,但是可以通过sf read指令,读到ddr,再用md指令去查看对应的load);