1、启动qboot线程
2、打印qboot版本信息
3、解压分区里面的固件 download
检查分区存在不存在
读取存放在分区里面的信息,封装了固件信息 if ( ! qbt_fw_info_read(fw_part_name, fw_info, false))//读取头部信息
校验头部信息 if ( ! qbt_fw_info_check(fw_info))//检测头部信息 检测头部信息的crc
固件检测 if ( ! qbt_fw_crc_check(fw_part_name, sizeof(fw_info_t), fw_info->pkg_size, fw_info->pkg_crc))//固件的crc检测
去掉头部信息的大小,就是app的地址。包的大小。数据包的crc
app的crc检测 (和固件检测的区别是啥,没细看)
如果需要升级,就会擦除app分区
如果跳转失败就会从download分区下载数据、或者factory分区
在失败会一直重启