本帖最后由 TL_LBY 于 2024-8-27 16:30 编辑
转自旧论坛作者:denghongyan
项目基于B85M_SINGLE_BLE_SDK_V3.4.2.2 实现目标:有两个固件(app_1.bin, app_2.bin),将app_1.bin(烧写地址0x0)和app_2.bin(烧写地址0x40000)同时烧录到tlsr8258中,期望实现先启动app_2.bin,再由app_2.bin主动切换到app_1.bin.
我们的操作步骤如下: >步骤1:擦除板子,然后写入两个固件 >步骤2:通过BDT的Memory Access将0x08写入0 >步骤3:给板子上电 >步骤3现象:app_2.bin成功运行,运行后并未实现固件切换(固件2的功能是等待10s后切换至固件1) >步骤4:给板子重新上电 >步骤4现象:没有固件在运行
在app_2.bin中实现固件切换的代码如下: u8 data_false = 0x0; u8 data_true = 0x4b; unsigned char r = irq_disable(); flash_write_page(0x40008, 1, &data_false); flash_write_page(0x08, 1, &data_true); irq_restore(r);
|