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

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

[复制链接]
STMCU小助手 发布时间:2021-11-6 23:36
86.1 初学者重要提示* d; b! l3 A5 x: k' N( Y# v
  SPI Flash的相关知识点可以看第78章和79章。
# C5 g) f  j; o& n  操作本章配套例子前务必先将SPI Flash的下载算法放到MDK安装目录。( o/ s# e' G  d% G* r  j( q; W
  本章节配套例子实现了将12点阵,16点阵,24点阵和32点阵中文全字库下载到外置SPI Flash。
- o& c! d5 {% `6 u- P- S  全字库文件仅需下载一次即可,下载完毕后,大家可以删除工程中添加的算法文件,从这里删除即可:& @) w* M* X6 o! u& A
7 g  }  |* L5 F* j
4f31f47dabc8804ade935b670c9f129d.png
2 t: a1 `7 Z6 {
5 P: M1 g5 V4 g- {. D7 ?: `
86.2 内部Flash和SPI Flash同时一键下载的优势
( n) `6 u, [* p! p% [通过这种方式,可以方便的更新SPI Flash中的数据,特别是全字库,图库,主题等资源文件的下载。这样就可以通过MDK进行一键下载。5 V* F1 }7 M0 I- a1 s# Z  T: n
" V- @& {7 `7 n# h. U% r+ f0 ]
86.3 下载算法存放位置
9 N. ?8 y; q# T0 B' |$ D编译例子:V7-065_SPI Flash的MDK下载算法制作,生成的算法文件位于此路径下:" D% U4 `/ L6 \; @- f$ I, T

% r# T" u9 x( B7 q( K
800da58659fed9e41448eb14bd059eb8.png
! V* a3 V: J4 F1 C
8 E. L, r4 l7 _0 }9 R' f9 }
生成算法文件后,需要大家将其存到到MDK安装目录,有两个位置可以存放,任选其一,推荐第2种:  }% b. @  Q* x

* D- V5 m8 k" A  第1种:存放到MDK的STM32H7软包安装目录里面:\Keil\STM32H7xx_DFP\2.6.0\CMSIS\Flash(软包版本不同,数值2.6.0不同)。
8 H5 P: h2 v+ A3 i( M1 C3 [0 o" ]  第2种:MDK的安装目录 \ARM\Flash里面。' P& ~/ C. w4 ?$ X, f8 z
% X' e! x/ z; z5 ~
c685f7da1a598bf9355e4698ab4b3157.png

- x, {4 R6 S0 y6 x( J8 E2 t2 T1 k- u
86.4 下载全字库到外部SPI Flash说明
$ ]- S. X/ V1 @/ g2 |! I" R全字库的下载注意以下两点即可。
' ]1 r( v4 C1 B4 p/ w
1 d- I+ W" ]. z5 b. [% h86.4.1 设置全字库文件到外置SPI Flash
$ H" h; X- d, d- m/ j) H. y增加地址空间:
- A% ^" v( m3 j: m9 P% v; H+ G
& q8 {: L' a; y7 ^; V
f860ba550a4bb5d79651dfb0ed3546db.png
1 \& A! s8 X; X4 z
3 u! S. M" y. V6 b
设置文件gb3212到外部SPI Flash,此文件记录了12点阵,16点阵,24点阵和32点阵字体。, f5 D5 C0 L/ `% f4 A
! l) ]. f% V6 H- _
6eb37e990b5fac1fcebcf6e7748f6daa.png

/ \$ k! Y0 v6 [; ?6 P  G( s! E7 ~7 w! o" P5 Q  S
86.4.2 防止编译优化全字库文件7 u+ e. l8 t' t( U0 y% s
为了防止编译将文件gb2312优化掉(因为我们没有调用此文件),需要大家在Option->Linker选项里面设置保留此文件:
! ~8 j9 I% n# [! B
9 K0 S, l3 u( L, f1 Y0 r2 v8 Y
b0734fc0c5dcc00653465e79e3a85a9f.png
4 G( A* a; W, R0 L5 l! {

( }8 K! L. F, a0 K$ ?3 Z# f86.5 内部Flash和QSPI Flash程序下载配置1 \4 F  t! @* r& a# ~0 C' |& M) a
配置方法如下,注意这里一定要够大,否则会提示算法文件无法加载:9 M; t4 @6 M) E# x
; c) a0 i( h6 Q" C: D) Q2 C% m
b291caa643e5c32c089d6ccfe22e44c0.png

2 C0 p' E) b% S& k( J. j- a
- M, b5 [% L9 ~7 R. T2 E- a/ H# W我们这里是将其加到DTCM中,即首地址为0x20000000,大家也可以存储到任意其它RAM地址,只要空间还够加载算法文件即可。推荐使用AXI SRAM(地址0x24000000),因为这块RAM空间足够大。  r1 v$ E. {: }5 Z

" e1 A5 t3 C) s6 l, z如果要下载程序到内部Flash和外部SPI Flash里面,需要做如下配置,两个下载算法都要添加进来:$ _  Q9 Q  q* R$ }" V
! A) J, [2 d$ [# ]  u
70ecd6cbc0767b1cfd5197d7d2bfaef3.png

' d' m2 ~& c6 [8 u& N
2 q0 d' j5 h, z86.6 实验例程说明4 W- z9 s4 ^8 l
本章节配套例子:V7-067_MDK一键下载内部Flash和外部SPI Flash(下载的全字库文件支持12,16,24和32点阵)
+ Q5 a' K) m* U, I- ~# E1 V8 K) x- _2 R4 f* L
效果如下:  R* y7 V% I; f2 n; I3 B
& I* n; v4 {( s! w' x( F
b0cf3acce75b2e7e957abe7684881cd9.png

) m0 A% P- o( A5 u
; a1 U  ~, ^: O- a86.7 总结
1 A1 T6 Z3 Z# I. Z/ w0 [4 g* `本章节就为大家讲解这么,为了熟练掌握,大家可以尝试自己实现外部SPI Flash数据更新。
7 e4 D; |4 W6 i. `+ w
; ~4 l9 R# B0 D3 T! S! m
3 w/ }( C+ ~6 O. }8 j% T
收藏 评论0 发布时间:2021-11-6 23:36

举报

0个回答

所属标签

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