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

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

[复制链接]
STMCU小助手 发布时间:2021-11-6 23:36
86.1 初学者重要提示2 P. T& C% t+ {$ H* Q1 j0 }
  SPI Flash的相关知识点可以看第78章和79章。8 z- ?. O% R3 N& H/ d2 T( |+ ~$ Y
  操作本章配套例子前务必先将SPI Flash的下载算法放到MDK安装目录。
& ]) o, A( {5 e9 y, E  本章节配套例子实现了将12点阵,16点阵,24点阵和32点阵中文全字库下载到外置SPI Flash。
9 Z+ P5 C+ t/ O3 V+ _/ d5 l/ U  全字库文件仅需下载一次即可,下载完毕后,大家可以删除工程中添加的算法文件,从这里删除即可:
  y% t- |( D/ f4 F( k3 Q2 H! p  j0 E. s0 `5 q  F) c3 L
4f31f47dabc8804ade935b670c9f129d.png

' p3 [' w* X: z$ ?$ e
- i2 G: [0 g+ b# s' Z6 h4 [86.2 内部Flash和SPI Flash同时一键下载的优势' `( {8 k. g3 g+ a( x. Z
通过这种方式,可以方便的更新SPI Flash中的数据,特别是全字库,图库,主题等资源文件的下载。这样就可以通过MDK进行一键下载。
2 f7 B! i0 j+ z! Y
6 G+ `, o8 Q, w7 j/ g86.3 下载算法存放位置, x' J9 m; J6 |. }9 f) ]
编译例子:V7-065_SPI Flash的MDK下载算法制作,生成的算法文件位于此路径下:: c/ ]/ S" T$ R$ d% X0 |& s2 T: m
2 n3 s& [' r8 h' t4 N3 j
800da58659fed9e41448eb14bd059eb8.png

3 ~0 p4 d/ e3 u: N! K- {
7 M& x& ^* f$ @6 b  N0 {) c0 _; _1 M生成算法文件后,需要大家将其存到到MDK安装目录,有两个位置可以存放,任选其一,推荐第2种:$ r: V* W" f6 ~

: z" M7 J4 I  p) }  第1种:存放到MDK的STM32H7软包安装目录里面:\Keil\STM32H7xx_DFP\2.6.0\CMSIS\Flash(软包版本不同,数值2.6.0不同)。
3 D" r3 @+ i4 m: J: ^& i+ \- V9 r! r  第2种:MDK的安装目录 \ARM\Flash里面。0 W$ E# c: W  E  a1 ~, h
  r2 A: c' `; w3 [
c685f7da1a598bf9355e4698ab4b3157.png

9 @# ]6 r1 H- O$ e" o& J/ m+ S, e8 F3 h
86.4 下载全字库到外部SPI Flash说明
% E9 U+ T; a1 J/ o全字库的下载注意以下两点即可。3 o; o, q6 H3 u9 W0 D" |5 _; u) B% {# @
8 q5 j' J+ r4 j; h/ q7 G
86.4.1 设置全字库文件到外置SPI Flash
5 @: C8 T. ]; I7 V增加地址空间:
3 n, |. x. C# y( S
$ l1 E. T  \' ~
f860ba550a4bb5d79651dfb0ed3546db.png

6 p3 W9 E- u3 w- K) b0 l, e7 S& L" l. u  ^8 d
设置文件gb3212到外部SPI Flash,此文件记录了12点阵,16点阵,24点阵和32点阵字体。
( ~7 l6 Q4 S3 o0 O
4 C  n7 D! i3 c
6eb37e990b5fac1fcebcf6e7748f6daa.png

) Y$ o' j0 c! H4 @% J9 T  a4 N1 D: b9 l; }  d) C4 {$ Q# a; x5 w4 n
86.4.2 防止编译优化全字库文件# k- s5 e0 N" d" _) ^
为了防止编译将文件gb2312优化掉(因为我们没有调用此文件),需要大家在Option->Linker选项里面设置保留此文件:
% B1 a4 S! {+ x2 D' G# S
: g- C2 z% ]4 @8 p0 K' p% K+ u
b0734fc0c5dcc00653465e79e3a85a9f.png

9 o# @5 E! E2 r5 C7 D2 ~7 r" Y% ^8 }: m8 R9 n, l
86.5 内部Flash和QSPI Flash程序下载配置7 b# ^: y) j% g0 S* `6 M/ Y
配置方法如下,注意这里一定要够大,否则会提示算法文件无法加载:5 p: M: J0 k5 g& H9 V2 ^. v

' _+ W" L5 `  g2 V, D% f+ [, g, @
b291caa643e5c32c089d6ccfe22e44c0.png
% e! `8 a: N* I, W
! u' _4 I* o" O9 {" s" Y
我们这里是将其加到DTCM中,即首地址为0x20000000,大家也可以存储到任意其它RAM地址,只要空间还够加载算法文件即可。推荐使用AXI SRAM(地址0x24000000),因为这块RAM空间足够大。
+ [+ L* {5 E1 b' `, J# [; h3 C- a3 S9 x
如果要下载程序到内部Flash和外部SPI Flash里面,需要做如下配置,两个下载算法都要添加进来:8 l1 n$ {9 ~7 y; U: Y
: l! Y; q& @, T$ P; |' y% }5 Y% b' d
70ecd6cbc0767b1cfd5197d7d2bfaef3.png

- x( }, V8 g7 P& K; H# E1 O, h7 }$ K6 O' c
86.6 实验例程说明
: {8 G" S- F# F0 o6 r" S本章节配套例子:V7-067_MDK一键下载内部Flash和外部SPI Flash(下载的全字库文件支持12,16,24和32点阵)# v0 e* l3 f( G* o5 G, O$ L; w

7 B% m3 W  G. c0 L效果如下:. {, M9 ]' m4 f' c
7 U0 U. j) ?* \7 y3 I# q& c
b0cf3acce75b2e7e957abe7684881cd9.png
+ U( X! ?/ ]% k1 h; @7 q8 c5 m6 \

! n# h5 m3 Y4 B86.7 总结
" ^  K6 `6 }9 N0 }% v本章节就为大家讲解这么,为了熟练掌握,大家可以尝试自己实现外部SPI Flash数据更新。$ O, y2 t* M3 W5 l5 n. c

$ {. G* y8 `4 G% z% m9 C" t- \  j9 T5 X: ]/ A+ ]0 \
收藏 评论0 发布时间:2021-11-6 23:36

举报

0个回答

所属标签

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