CN / EN
CN / EN

提问

设计支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

GR551x 2.1.0 DFU 双区升级验证分析与总结 GR551x

182***560

2026-05-29 09:38

1.使用SDK版本 2.1.0,环境:KEIL_5,烧录工具 GProgrammer,GRttoolbox V2.21;

2. 官方SDK中 bootloader 和 ble_app_template_freertos

image.png

3.升级方式:后台双区升级;

4.配置改写:ble_app_template_freertos 中 custom_config.h BANK0和BANK1 运行固件一致;

BANK1 拷贝地址

Flash Layout:要注意

bootloader 配置文件修改:bootloader_config.h 选择地址校准和启动,APP_FW_COMMENTS:我没有研究明白,有明白的可以分享。

未展示位置,配置为0;

image.png

如果把 BOOTLOADER_DFU_BLE_ENABLE 设置为1 可以获得最小bootloader 但是,跳转固件会出现故障;

尝试官方推荐的方式修改,暂时没有修复;

当前如下配置,bootloader固件大小 88KB(满足4KB 扇区对齐)


4.普通模式与快速模式升级:

1)完成上述修改之后,画重点:必须使用官方GProgrammer烧录工具烧录;

2)分别烧录 Bootloader 和 ble_app_template_freertos(简称 app) 编译固件;

3)画重点:从 Bootloader 启动,观察是否能正常跳转到 app

image.png

4)改写 ble_app_template_freertos ,蓝牙名称;作为ota固件。

使用 GProgrammer 生成带 fw_bin 文件。

5)使用 GRttoolbox 进行升级;普通模式升级,取消快速模式勾选。

APP版本:

模式切换:image.png


应该是 0x0108E000

拷贝地址:在双区升级模式下 等于BANK1 起始地址;

选择OTA固件,点击升级,缓慢读条,直到成功:扫描新设备观察蓝牙名称是否变更确定ota固件成功运行。

6)

快速模式修改点:

对SDK中 dfu_port.c


GRttoolbox 升级进度条走完最后还是报

将main函数中,按下图修改后 升级成功。(原理我没有搞懂🤷‍♀️)



0收藏

0赞成

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

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