资源升级
资源升级指对图片、字体、音频等不作为代码的数据进行升级。GR5xx支持内部Flash及外部Flash资源升级两种方式。
- 内部资源升级:只需加入DFU相关组件,无需其他配置,即可在app_bootloader固件或者应用固件中进行升级。
- 外部资源升级:在加入DFU相关组件的情况下,需要在Keil工程里进行宏配置。
内部Flash资源升级
采用内部Flash进行资源升级的步骤如下:
- 设置起始地址和存储器类型,如图 41所示。
图 41 内部Flash资源升级示意图 - 点击升级,升级进度如下图所示。
图 42 内部资源升级进度 - 资源下载完成后,当前运行的固件会对资源数据进行校验。若校验成功,GRToolbox APP界面底部会提示升级成功。
外部Flash资源升级
app_bootloader和ble_app_template_dfu固件均可进行外部Flash资源升级:
- 常见应用场景是在应用固件ble_app_template_dfu中进行外部Flash资源升级,只需在 ble_app_template_dfu工程里配置“ENABLE_DFU_SPI_FLASH”,如图 43所示,使能当前工程采用外部Flash资源升级。
图 43 使能外部Flash资源升级 - 在app_bootloader固件中进行外部Flash资源升级,需要如图 43中添加“ENABLE_DFU_SPI_FLASH”,还需要在app_bootloader工程里添加使能低功耗蓝牙的宏,具体配置如下表所示。
表 19 bootloader_config.h配置 文件名 宏 值 bootloader_config.h BOOTLOADER_DFU_BLE_ENABLE 1:打开蓝牙升级
根据实际情况完成上述配置后,其他升级步骤无论是在app_bootloader中还是ble_app_template_dfu固件中进行外部Flash资源升级都是相同的,具体步骤如下所示:
- 配置存储器I/O,如图 44所示。
图 44 配置存储器I/O 配置I/O时,根据外部Flash芯片与GR5xx的通信方式,可选择SPI、QSPI0及QSPI1等方式。示例中均采用各系列芯片SK板的板载外部Flash进行升级,各系列芯片SK板的板载 Flash 接口如下表所示:
表 20 SK板的板载Flash接口 开发板型号 接口类型 CS CLK IO0 IO1 IO2 IO3 GR5515-SK-BASIC QSPI1 GPIO_15 GPIO_9 GPIO_8 GPIO_14 GPIO_13 GPIO_12 GR5525-SK-BASIC QSPI0 GPIO_15 GPIO_18 GPIO_19 GPIO_14 GPIO_13 GPIO_12 GR5625-SK-BASIC QSPI0 AON_GPIO_2 AON_GPIO_5 AON_GPIO_3 AON_GPIO_4 AON_GPIO_0 AON_GPIO_1 GR5526-SK_BASIC QSPI0 GPIO_26 GPIO_21 GPIO_22 GPIO_23 GPIO_24 GPIO_25 说明:GR5331-SK-BASIC 没有板载外部 Flash,也没有 QSPI 接口,如果要使用外部Flash进行资源升级,只能使用SPI接口驱动外部 Flash,在实际操作时,需要参考GR533x Datasheet,使用杜邦线连接GR533x的SPI引脚和外部Flash芯片引脚。
以GR5515-SK-BASIC开发板为例,在手机APP界面选择配置存储器I/O后,按照图 45所示进行配置。
图 45 外部Flash引脚配置界面 - 完成配置后,点击升级按钮,升级进度如下图所示。
图 46 升级进度 - 升级完成后,当前运行的固件会对外部Flash的数据进行校验。若校验通过,则会在GRToolbox APP界面底部提示升级完成。