【STM32F407开发板用户手册】第37章 STM32F407的内部Flash和SPI Flash都使用MDK下载

2020-11-27 14:42:09 浏览数 (1)

最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255

第37章 STM32F407的内部Flash和SPI Flash都使用MDK下载

本章节为大家讲解内部Flash和外部SPI Flash都使用MDK下载的的实现。

37.1 初学者重要提示

37.2 内部Flash和SPI Flash都使用MDK下载的优势

37.3 下载算法存储存放位置

37.4 下载全字库到外部SPI Flash说明

37.5 内部Flash和SPI Flash程序下载配置

37.6 实验例程说明

37.7 总结

37.1 初学者重要提示

  1. SPI Flash的相关知识点可以看第31章和32章。
  2. 操作本章配套例子前务必先将SPI Flash的下载算法放到MDK安装目录。
  3. 本章节配套例子实现了将12点阵,16点阵,24点阵和32点阵中文全字库下载到外置SPI Flash。
  4. 注意不可以STM32F4的内部Flash和外部SPI Flash同时下载,依次下载即可,详情看此本章37.5和37.6小节即可。

37.2 内部Flash和SPI Flash都使用MDK下载的优势

通过这种方式,可以方便的更新SPI Flash中的数据,特别是全字库,图库,主题等资源文件的下载。

37.3 下载算法存放位置

编译例子:V5-018_SPI Flash的MDK下载算法制作,生成的算法文件位于此路径下:

生成算法文件后,需要大家将其存到到MDK安装目录,有两个位置可以存放,任选其一,推荐第2种:

  • 第1种:存放到MDK的STM32F4软包安装目录里面:KeilSTM32F4xx_DFP2.15.0CMSISFlash(软包版本不同,数值2.15.0不同)。
  • 第2种:MDK的安装目录 ARMFlash里面。

37.4 下载全字库到外部SPI Flash说明

全字库的下载注意以下两点即可。

37.4.1 设置全字库文件到外置SPI Flash

增加地址空间:

设置文件gb3212到外部SPI Flash,此文件记录了12点阵,16点阵,24点阵和32点阵字体。

37.4.2 防止编译优化全字库文件

为了防止编译将文件gb2312优化掉(因为我们没有调用此文件),需要大家在Option->Linker选项里面设置保留此文件:

37.5 内部Flash和SPI Flash程序下载配置注意事项(重要)

使用STM32F4下载需要分步下载。

37.5.1 第1步:下载的RAM空间要够大

配置方法如下,注意这里一定要够大,否则会提示算法文件无法加载:

37.5.2 第2步:加载外置SPI Flash算法并下载

仅加载SPI Flash算法文件:

全编译工程,点击这里一键下载:

下载成功效果(会提示没有0x08000000地址的算法,不用管,因为我们没有添加内部Flash算法):

37.5.3 第3步:加载内部Flash算法并下载

仅加载内部算法文件:

全编译工程,点击这里一键下载:

下载成功效果(会提示没有0xC0000000地址的算法,不用管,因为我们没有添加SPI Flash算法):

37.6 内部Flash和SPI Flash程序同时下载(重要)

内部Flash和SPI Flash的算法文件都加载进来:

同时下载会提示如下错误,也就是校验的时候没有通过,实际测试程序已经正常运行了,大家可以不用理会:

或者简单些,大家不勾选校验也可以的:

不放心的话,就继续还用上面小节的分步下载。

37.7 实验例程说明

本章节配套例子:V5-019_LCD全字库外置SPI Flash(支持12,16,24和32点阵,操作前必看教程说明)

效果如下:

37.8 总结

本章节就为大家讲解这么,为了熟练掌握,大家可以尝试自己实现外部SPI Flash数据更新。

0 人点赞