ART-Pi 外部 Flash 擦写
RT-Thread 官方开发板 ART-Pi 上有两片外部 Flash 存储芯片,分别是 16MB 的 W25Q128JV 和 8MB 的 W25Q64JV。其中,W25Q64JV 用于存放应用程序(称为“程序 Flash”),W25Q128JV 用于存放 WiFi 固件、蓝牙固件等,以及作为 OTA 存储区和文件系统(称为“数据 Flash”)。
FLASH(W25Q128JV)分区
为了合理利用 Flash 存储空间,RT-Thread 官方对 W25Q128JV 进行了分区管理,具体空间划分如下:
分区名 | 起始地址 | 分区大小 | 用途说明 |
---|---|---|---|
wifi_image | 0 | 512KB | 保存 wifi 固件 |
bt_image | 512 * 1024 | 512KB | 保存 bt 固件 |
download | 1 * 1024 * 1024 | 2048KB | 固件下载分区 |
easyflash | 3 * 1024 * 1024 | 1024KB | easyflash 参数保存区 |
filesystem | 4 * 1024 * 1024 | 12MB | 文件系统分区 |
ART-Pi 出厂时数据 Flash 中已经刷入相应的数据信息,但有时我们可能意外破坏或擦除上面的数据,这时就需要重新往 Flash 写入数据。为此,官方提供了两个 Flash 的 stldr 下载算法,用户可以通过 STM32Cube Programmer 工具加载下载算法,进行 Flash 读写操作。
STM32CubeProgrammer 下载算法加载
下载算法位于 sdk-bsp-stm32h750-realthread-artpi/debug/stldr 目录。
$ tree
.
├── ART-Pi_W25Q128JV.stldr
└── ART-Pi_W25Q64.stldr