Demo:boot2 isp

来自Bouffalo Lab Docs
武楷轩留言 | 贡献2025年7月30日 (三) 07:00的版本 (boot2)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

这部分代码是一个bootloader程序,具备 安全启动双分区更新压缩支持多核管理 等工业级特性。

该demo存放在 SDK 下的:/home/user/FromGit/bouffalo_sdk/examples/boot2_isp 路径下。

主要功能

  1. 分区表
    • 读取并验证分区表(pt_table_stuff),确定活动分区(active_id
    • 支持 A/B 双分区设计,实现无缝固件更新和回滚
    • 处理分区条目,包括固件位置、大小、版本号
  2. 固件加载与启动
    • 该程序会根据分区表加载固件到内存
    • 支持压缩固件:XZ 格式的解压blsp_boot2_check_xz_fw
    • 多核支持: BLSP_BOOT2_CPU_GROUP_MAX 定义 CPU 数量
  3. 固件更新
    • OTA 更新:将新固件从临时分区复制到主分区
    • 防回滚(Anti-Rollback):防止降级到不安全版本
    • 支持 USB/UART 烧录模式,对应代码:bflb_eflash_loader_main
  4. 安全
    • SHA-256 校验
    • 具有固件完整性检查


您可以在开发板存在其他 App 的同时烧录该 bin ,这并不会覆盖掉你的程序,而是只为开发板更换 bootloader.