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

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

[复制链接]
STMCU小助手 发布时间:2021-12-20 20:00
86.1 初学者重要提示, l2 B& R5 L* y1 X
  SPI Flash的相关知识点可以看第78章和79章。
1 x+ H, ?5 L3 ~6 H9 }( f  操作本章配套例子前务必先将SPI Flash的下载算法放到MDK安装目录。
. t# l) Y' {0 V7 A' [  d  本章节配套例子实现了将12点阵,16点阵,24点阵和32点阵中文全字库下载到外置SPI Flash。
- ~& ]3 t4 c; l3 Q0 Q  全字库文件仅需下载一次即可,下载完毕后,大家可以删除工程中添加的算法文件,从这里删除即可:% Z, m4 f' [, ~  @

1 \* y5 {4 C& o) w
4f31f47dabc8804ade935b670c9f129d.png
" {! M9 c& i7 q8 G% f, ?" C$ B
! T3 R2 G& H, d  F4 ?; ^/ l* n" x
86.2 内部Flash和SPI Flash同时一键下载的优势8 V3 U0 n" y: \! B. m
通过这种方式,可以方便的更新SPI Flash中的数据,特别是全字库,图库,主题等资源文件的下载。这样就可以通过MDK进行一键下载。2 O$ X6 \5 C% T0 s" _" F* `- c1 V
$ w8 W' T3 _2 R. O% K
86.3 下载算法存放位置) }4 l, l# F! L; |- }
编译例子:V7-065_SPI Flash的MDK下载算法制作,生成的算法文件位于此路径下:' p% v$ l3 {* v0 t0 R
; e1 G# d5 n1 {$ W" g& w3 d
800da58659fed9e41448eb14bd059eb8.png
2 G7 ?# ~' H! {- J

: g! w, \$ u( x生成算法文件后,需要大家将其存到到MDK安装目录,有两个位置可以存放,任选其一,推荐第2种:
0 O5 F: n: p7 T' x2 C# b* ^9 o* r" x; t
  第1种:存放到MDK的STM32H7软包安装目录里面:\Keil\STM32H7xx_DFP\2.6.0\CMSIS\Flash(软包版本不同,数值2.6.0不同)。8 C2 H# W& {4 n% }1 B8 e3 g
  第2种:MDK的安装目录 \ARM\Flash里面。( c2 X6 |. {0 }* G- d+ Q

: y% I9 s( D" S- ?
c685f7da1a598bf9355e4698ab4b3157.png

) i, l, k' u3 }7 @' I
% X% I& o# W1 J; a86.4 下载全字库到外部SPI Flash说明, `3 a# ]" i: J5 J7 l% U1 e+ Q
全字库的下载注意以下两点即可。$ J8 \; u  e2 b/ O8 @
8 @$ A6 ^0 G6 a1 d9 n
86.4.1 设置全字库文件到外置SPI Flash% _/ s# V( k- D$ [- u- j  E9 p. N
增加地址空间:8 q9 O7 y9 [# F% S5 k% r3 e
1 t. n0 K* @6 g7 Z0 l
f860ba550a4bb5d79651dfb0ed3546db.png
" `: O( }5 o' Y$ b, t

1 t) H5 t) a& f7 H8 K设置文件gb3212到外部SPI Flash,此文件记录了12点阵,16点阵,24点阵和32点阵字体。! X  {( f5 _1 ?+ V% P) K2 S
  d( A) I& \6 j$ l8 M
6eb37e990b5fac1fcebcf6e7748f6daa.png

9 Z/ E0 w$ O+ x5 x+ Z# ]* ^: F0 _* R3 }- L
86.4.2 防止编译优化全字库文件7 j' w/ Q* h3 d6 `. {3 a
为了防止编译将文件gb2312优化掉(因为我们没有调用此文件),需要大家在Option->Linker选项里面设置保留此文件:
) ~1 j& {2 W* c2 `9 V3 N  t% x0 V- g9 v1 C
b0734fc0c5dcc00653465e79e3a85a9f.png

4 f. R& u0 W% {: s9 ]* W3 F
- }9 B+ |0 ]8 {6 Y3 Q86.5 内部Flash和QSPI Flash程序下载配置6 T7 L5 T1 |3 t* T0 Y$ T  u+ J/ O. J+ q
配置方法如下,注意这里一定要够大,否则会提示算法文件无法加载:
4 W( o! u8 a* ?/ f$ v  t* T9 U* k  p
8 v) [2 M! d, W% E% {; {/ i
b291caa643e5c32c089d6ccfe22e44c0.png

1 U( O8 M( {; ?/ q
) z% h. k3 a# |! H+ V我们这里是将其加到DTCM中,即首地址为0x20000000,大家也可以存储到任意其它RAM地址,只要空间还够加载算法文件即可。推荐使用AXI SRAM(地址0x24000000),因为这块RAM空间足够大。
. J5 P* a& b2 K- y. ], V: |- ~6 u5 d  m4 p% ^+ x3 e, ~
如果要下载程序到内部Flash和外部SPI Flash里面,需要做如下配置,两个下载算法都要添加进来:
% k! O" m! n) I/ ^/ }$ ^7 a4 o, m  D" W: M$ j4 A# |5 v, o6 u6 t
70ecd6cbc0767b1cfd5197d7d2bfaef3.png
4 T/ s, i# T1 H0 U5 o
$ p, C0 c7 I% |6 ~
86.6 实验例程说明% [$ M$ X. z; z
本章节配套例子:V7-067_MDK一键下载内部Flash和外部SPI Flash(下载的全字库文件支持12,16,24和32点阵)
8 x) m' G! z1 I1 I9 a) M' |6 w* f2 J9 U4 y: ~8 E( h
效果如下:
$ y6 z, t: b; D9 Y
8 J- ~* h, i/ b) x
b0cf3acce75b2e7e957abe7684881cd9.png
  T, F( N6 P' u0 S% T
  b  m$ z. g0 \+ _( u, l. y
86.7 总结8 A0 y2 R# N0 J- p2 ^1 y9 F- ]
本章节就为大家讲解这么,为了熟练掌握,大家可以尝试自己实现外部SPI Flash数据更新。
& N, h+ d, L- }; U$ k3 w0 i
9 u$ g( |! O- @+ f, v; Z
4 I6 {2 t5 I, m  p8 ~- a6 g
收藏 评论0 发布时间:2021-12-20 20:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版