如果linux嵌入式系统采用norflash引导加载uboot方式。uboot启动后,可进行uboot、设备树、内核及文件系统等升级和烧写工作及启动参数设置等操作。当uboot出厂前如果出现问题,可以通过其他方式修改重写,但是考虑到在用户现场情况下,如果出现uboot升级烧写过程中断电或其他不可抗拒原因,将可能导致uboot烧写失败或启动分区信息被破坏,那么系统将无法启动。为了解决以上问题,特采用双uboot系统保证系统升级及正常工作。
BootLoader引导加载uboot功能及应用程序升级uboot功能。
BootLoader中主要实现对双uboot的引导加载及错误处理。实现功能:系统启动后,根据启动标志位,校验优先启动uboot,校验通过启动,校验未通过加载次启动uboot。
应用层对上层提供接口命令完成升级功能。升级功能:升级脚本根据传入的文件名称,自动查询用户目录下是否有该升级文件,如有则升级,没有则退出。升级后重启引导加载最新uboot。注意:每次升级只升级次启动地址,当前启动不变。
根据需求要求,进行如下划分