Demo:boot2 isp
这部分代码是一个bootloader程序,具备 安全启动、双分区更新、压缩支持、多核管理 等工业级特性。
该demo存放在 SDK 下的:/home/user/FromGit/bouffalo_sdk/examples/boot2_isp 路径下。
主要功能
- 分区表:
- 读取并验证分区表(
pt_table_stuff),确定活动分区(active_id) - 支持 A/B 双分区设计,实现无缝固件更新和回滚
- 处理分区条目,包括固件位置、大小、版本号
- 读取并验证分区表(
- 固件加载与启动:
- 该程序会根据分区表加载固件到内存
- 支持压缩固件:XZ 格式的解压
blsp_boot2_check_xz_fw - 多核支持:
BLSP_BOOT2_CPU_GROUP_MAX定义 CPU 数量
- 固件更新:
- OTA 更新:将新固件从临时分区复制到主分区
- 防回滚(Anti-Rollback):防止降级到不安全版本
- 支持 USB/UART 烧录模式,对应代码:
bflb_eflash_loader_main
- 安全:
- SHA-256 校验
- 具有固件完整性检查
您可以在开发板存在其他 App 的同时烧录该 bin ,这并不会覆盖掉你的程序,而是只为开发板更换 bootloader.