Flash操作
点击左侧功能导航栏的图标 ,进入 Flash(Flash操作)页面。

用户可对芯片内部Flash和外部Flash进行操作,包括擦除Flash、下载数据至Flash、从Flash中Dump数据。
与固件模块相似,该模块也采用图形化的方式展示Flash Layout信息。
(浅灰色):可用的Flash空间。
(深蓝色):配置的NVDS区域。
(深紫色):Boot Info区域(0x01000000 ~ 0x01002000,根据不同系列芯片有所差异),选择使用内部Flash时将自动加载并显示Boot Info区域。
(深绿色):已存在Flash中的固件,如ble_app_bps。
(淡黄色):待操作区域,如待擦除的Flash区域。
内部Flash
配置Flash
当用户操作内部Flash时,首先需在Flash Configuration栏选择Internal Flash。
页面左侧的Flash Layout示意图将同步Firmware模块的Firmware Layout信息,从而获取当前Flash中的固件区域以及NVDS区域,同时加载Boot Info区域。

擦除Flash
GProgrammer支持三种Flash擦除方式:全片擦除、Sector擦除和区域擦除。
- 全片擦除(Erase All)
全片擦除,指整体擦除Flash空间。
擦除后,内部Flash中的Boot和NVDS区域内容将被清空,所有Firmware将被删除。
图 16 全片擦除 - Sector擦除(Erase Sector)
Sector擦除,指擦除指定的Sector区域(4 KB大小)。
图 17 Sector擦除 - 区域擦除(Erase Specified Area)
区域擦除,指在指定的地址范围内按Sector逐一擦除。
图 18 区域擦除
下载数据
下载数据至Flash时,用户只需浏览添加数据文件,然后设置下载起始地址即可。
数据下载地址需以4 KB对齐。

当下载的数据文件过大或设置的下载起始地址超出范围时,将导致Flash溢出报错。

- 若使用SWD方式连接目标板,则可以强制下载数据到Boot区域(SCA区 ) 。
- 若使用串口方式连接目标板,则无法强制下载数据到Boot区域(仅针对GR551x、GR5526系列芯片)。
Dump数据
用户可通过指定起始地址和数据大小,将Flash中的任意数据Dump到本地保存为文件。

外部Flash
配置Flash
当用户操作外部Flash时,首先需在Flash Configuration栏选择External Flash;然后点击Config按钮,打开外部Flash配置窗口。用户可根据实际情况配置PIN脚。
配置完成后,点击Apply按钮应用配置信息。
- 点击Apply按钮之前,必须确保外部Flash按照引脚配置与目标板正确连接。否则,外部Flash无法与目标板正常通信。
- GPIO_0、GPIO_1用于设备连接,若配置为外部Flash PIN,将导致GProgrammer与目标板断开连接。


- Flash Size 配置
用户完成PIN脚配置并应用后,软件将读取并显示外部Flash ID,并根据Flash ID自动配置Flash Size。
若无法判定Flash Size,则用户需自行选择设置Flash Size。

Flash操作
用户操作外部Flash(擦除Flash、下载数据、Dump数据)时,只要在有效地址区域之内,可任意操作,无特殊限制。

完成PIN脚配置前,无法进行任何针对外部Flash的操作。