CN / EN
CN / EN

写技术文章

GR5515 使用GRToolbox进行OTA问题

157***476

2023-01-05 15:07:53

1.使用GRToolbox进行OTA时《获取固件信息》这一栏时是程序固定从boot_info(0x100_0000~0x100_1000)读取的img_info吗?还有选择蓝色箭头切换程序运行是直接跳转到img_info对应固件的load_addr吗?

2.我做了这样的一个OTA实验,例程是改的app_tmp_dfu,目的是想实现app双分区升级:

三个一样的程序,仅更改蓝牙名称和run_addr,load_addr

分别为程序a:蓝牙名称:Goodix_tem_DFU 运行地址:0x1040000

分别为程序b:蓝牙名称:Goodix_111_DFU 运行地址:0x1080000

分别为程序c:蓝牙名称:Goodix_333_DFU 运行地址:0x1040000

若:

①a运行,再升级到b,升级显示成功,跳转到b运行,获取固件信息时有程序a,b的信息,升级后广播名称为b

②b运行,再升级到c,升级显示成功,但是没有跳转到c运行,且获取固件信息时只有程序b的信息

若:

①a运行,再升级到b,升级显示成功,跳转到b运行,获取固件信息时有程序a,b的信息,升级后广播名称为b

②b运行,在获取固件信息时有程序a,b的信息,选择a运行

③a运行,升级程序c,拷贝升级,地址为0x1080000,升级显示成功,跳转到c运行,获取固件信息时有程序a,b,c的信息

④c运行,在获取固件信息时选择b运行,程序出错重启会跳到rom保存的ble_dfu程序运行

貌似程序升级只能flash小地址运行程序升级到大地址位置,如0x1040000运行的程序升级覆盖0x1080000是可以成功的,但是0x1080000运行的程序升级覆盖0x1040000是不行的?

如果flash应用程序运行出现无法再OTA的情况(相当于变砖无法升级),是否有方法可以使程序强制跳转到ble_dfu程序进行挽救的?

0收藏

0赞成

2条评论
您的评论
我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注