最新教程下载: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 初学者重要提示
- SPI Flash的相关知识点可以看第31章和32章。
- 操作本章配套例子前务必先将SPI Flash的下载算法放到MDK安装目录。
- 本章节配套例子实现了将12点阵,16点阵,24点阵和32点阵中文全字库下载到外置SPI Flash。
- 注意不可以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数据更新。