你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32H7的内部Flash和SPI Flash同时使用MDK一键下载

[复制链接]
STMCU小助手 发布时间:2021-11-6 23:36
86.1 初学者重要提示" B7 v& Y1 U8 y% V+ e
  SPI Flash的相关知识点可以看第78章和79章。
1 Y: n# t7 I9 X3 ]  操作本章配套例子前务必先将SPI Flash的下载算法放到MDK安装目录。
4 s+ ^: N  g# X3 f  本章节配套例子实现了将12点阵,16点阵,24点阵和32点阵中文全字库下载到外置SPI Flash。- E7 O& t: K; @( e
  全字库文件仅需下载一次即可,下载完毕后,大家可以删除工程中添加的算法文件,从这里删除即可:
% h- c5 b. m% N4 _2 n$ r5 e2 a# @0 E+ c, D$ t7 p) T5 N; g
4f31f47dabc8804ade935b670c9f129d.png
2 _- F% l5 R' x, O$ r0 ?- W

$ L0 E, t- l* i8 W; G& k2 b. I86.2 内部Flash和SPI Flash同时一键下载的优势
: L7 F  v9 G' Z1 A+ b1 g+ I通过这种方式,可以方便的更新SPI Flash中的数据,特别是全字库,图库,主题等资源文件的下载。这样就可以通过MDK进行一键下载。
0 y; \3 ~/ t  R: ?- o" w1 a. O1 m& i. P2 B; O6 Q
86.3 下载算法存放位置
& K! k4 P( V. {3 ^+ [2 T3 }编译例子:V7-065_SPI Flash的MDK下载算法制作,生成的算法文件位于此路径下:: ^# |! x! V8 P
- A* }. S- |  f; z
800da58659fed9e41448eb14bd059eb8.png
( c4 f- n- i0 X8 v' C% ?$ }

: O0 g9 u7 g9 I# x生成算法文件后,需要大家将其存到到MDK安装目录,有两个位置可以存放,任选其一,推荐第2种:
# h, y/ F. c# E7 C5 P! n8 D' A& |/ V9 d
  第1种:存放到MDK的STM32H7软包安装目录里面:\Keil\STM32H7xx_DFP\2.6.0\CMSIS\Flash(软包版本不同,数值2.6.0不同)。+ {$ r/ G( l: Y3 Q
  第2种:MDK的安装目录 \ARM\Flash里面。, s+ r) s% J# K- @: _! s
# m, \% @  p( ^1 }
c685f7da1a598bf9355e4698ab4b3157.png

# b9 U+ {0 P& H' K4 E1 v! w6 s6 O0 x. J! u
86.4 下载全字库到外部SPI Flash说明
( V: H- @% Y( W  n" ~7 O全字库的下载注意以下两点即可。; W0 ?' V7 T7 v$ S$ v" m5 f
0 e# H6 k1 }" f5 c0 E8 N7 _
86.4.1 设置全字库文件到外置SPI Flash  Q  |* ]( U8 d3 S/ z+ C# U
增加地址空间:
1 y! _- S3 J3 Q9 R$ V; f$ U2 y5 A$ l8 P. P4 Z
f860ba550a4bb5d79651dfb0ed3546db.png

/ J5 ]- k- C: h( N+ e# T( |9 O% I' `( T( a* s( w0 `% J
设置文件gb3212到外部SPI Flash,此文件记录了12点阵,16点阵,24点阵和32点阵字体。
- N8 j7 ~; r8 N% ?  M3 y. ~4 v% t# }! J
6eb37e990b5fac1fcebcf6e7748f6daa.png
, C; c- x6 \2 i) z

2 i& x+ ]) y! c5 H86.4.2 防止编译优化全字库文件$ c. x) E) `/ |2 F' t6 W
为了防止编译将文件gb2312优化掉(因为我们没有调用此文件),需要大家在Option->Linker选项里面设置保留此文件:4 r  m; k* G1 M) O7 O9 A

. g- z$ w: J* w9 H
b0734fc0c5dcc00653465e79e3a85a9f.png

/ y5 m* y- |; t0 n2 i
( [, W' A/ W7 Z+ f86.5 内部Flash和QSPI Flash程序下载配置) d9 H$ j# n& a$ y& \
配置方法如下,注意这里一定要够大,否则会提示算法文件无法加载:
8 n7 A, Q: [, w1 n; ]& q: K& B+ B0 h" L( a6 d: g
b291caa643e5c32c089d6ccfe22e44c0.png
% g6 i! u% X9 u* ?" w1 Q
; n1 D' g  U! S" ~/ I8 y5 \. n% t3 R
我们这里是将其加到DTCM中,即首地址为0x20000000,大家也可以存储到任意其它RAM地址,只要空间还够加载算法文件即可。推荐使用AXI SRAM(地址0x24000000),因为这块RAM空间足够大。9 m4 n: q; n, Y  j0 x+ |! }' _5 p

4 O1 ]" C. b+ E# z3 m如果要下载程序到内部Flash和外部SPI Flash里面,需要做如下配置,两个下载算法都要添加进来:
+ Z4 s) y- r) B# |7 g2 q3 x! K% W  m' y4 C2 A/ F0 }9 v, ~
70ecd6cbc0767b1cfd5197d7d2bfaef3.png

' f0 L+ w: W5 B9 [6 P3 u& {0 @0 z7 V1 n  V7 g
86.6 实验例程说明- O* h" Q1 |/ w% y
本章节配套例子:V7-067_MDK一键下载内部Flash和外部SPI Flash(下载的全字库文件支持12,16,24和32点阵)7 |$ A& J; C3 T

2 {4 |! O5 S: l5 p" B) f效果如下:
* R& b! e/ m; I" B" y4 F
$ K, ]( Y3 m+ c( [- A
b0cf3acce75b2e7e957abe7684881cd9.png
: o- ^1 b  J- s4 ^5 J
& X+ i" y* c4 @$ G- a; \6 S
86.7 总结
- ?7 N, }  m( P+ t4 ?4 v本章节就为大家讲解这么,为了熟练掌握,大家可以尝试自己实现外部SPI Flash数据更新。
6 a' S/ p$ @$ V' o3 Z
0 j; X3 g$ N# F0 V, I3 w
- z8 X! O" R3 B9 d5 p0 l
收藏 评论0 发布时间:2021-11-6 23:36

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版