本帖最后由 cx1524 于 2023-9-27 16:26 编辑
【JLink】 制作Flash下载算法文件 | 更新中
1. 简介
Flash下载算法文件通过Flash下载算法工程编译获取,模板工程可从MDK5安装目录下的ARM/Flash/_Template中获取。
在该模板工程中还带有STM32F10x的Flash下载算法工程示例,在修改工程时可以进行参考。
2. 工程介绍
制作Flash下载算法文件只需要这些步骤:
1. 首先将模板工程拷贝到工作区,将其做为我们的Flash下载算法工程;
2. 根据设备的Flash参数修改FlashDev.c文件;
3. 在FlashPrg.c中补充Flash的初始化、去初始化、全片擦除、扇区擦除和下载功能函数
4. 编译工程获取Flash下载算法文件.FLM
在工程中最主要的是FlashPrg.c和FlashDev.c这两个文件。
- FlashPrg.c提供的是设备Flash的相关功能API,如Flash的初始化、擦除和下载等。
- FlashDev.c提供的是设备Flash的一些基础信息,如Flash设备名,起始地址,设备容量,页大小等。
3. FlashDev.c文件
FlashDev.c文件中只有一个记录Flash信息的结构体FlashDevice,其在FlashOS.h中被声明,内部成员以及声明示例如下:
成员 | 说明 | Vers | 设备版本(无需修改) | DevName | 设备名(最长128个字符) | DevType | 设备类型 | DevAdr | 设备默认起始位置 | szDev | 设备容量 | szPage | 下载页大小 | Res | 保留,必须填充0 | valEmpty | 擦除后所保留值 | toProg | 烧录超时时长 | toErase | 擦除超时时长 | sectors | 扇区大小与起始位置 |
4. FlashPrg文件
该文件中对Flash的读写基本是直接对寄存器进行操作,故工程只需要设备头文件,不需要外设文件,详细的寄存器操作请阅读相关设备的参考手册。
该文件可参考已有示例中的FlashPrg.c文件进行修改。
5. 编译后的生成物
|