前言
随着运行时间的增加,物联网终端在使用过程中会暴露出各种问题,技术人员需要对其进行维护或升级,而终端设备逐渐小型化和空间分布广的特点使其拆卸不便,采用固件远程在线升级技术可使固件升级更加便利。
BSDIFF简介
bsdiff算法是较为成熟的增量更新算法,由于该算法生成的补丁文件较小,因此而得到广泛应用。
系统框图
Boot工作原理
不管用的是什么MCU,要实现固件升级都离不开BootLoader,BootLoader是一个统称,它是一段引导程序,在MCU启动的时候会先运行这段代码,判断是否需要升级,如果不需要升级就跳转到APP分区运行用户代码,如果需要升级则先通过一些硬件接口接收和搬运要升级的新固件,然后再跳转到APP分区运行新固件,从而实现固件升级。以下是Boot流程图:
FLash分区