boot2_isp是一个二级引导程序,从flash中读取分区表,可以选择指定的固件启动
https://github.com/bouffalolab/bouffalo_sdk/tree/721f30b7f09cec5b391d6a71f77f139c6e727d8a/examples/boot2_isp
https://github.com/sipeed/M0S_BL616_example/tree/main/examples/boot2_isp
准备两个固件FW1,FW2,这里以 blink_io29.bin
和 blink_io27.bin
作为例子
将两个固件分别烧录到0x10000,0x110000,地址可以根据固件大小进行调整
修改分区表
address0 = 0x10000
size0 = 0x100000
address1 = 0x110000
size1 = 0x100000

生成的分区文件 partition.bin

boot2_isp启动时检测GPIO_PIN_16电平,选择对应的固件启动


烧录设置

GPIO_PIN_16悬空时启动日志

GPIO_PIN_16接3V3时启动日志
