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

通过 STM32CubeMX 制作外部 Flash 的烧写驱动

[复制链接]
STMCU小助手 发布时间:2023-6-19 18:15
前言
% h( M2 r' z) l# H8 h+ h% `" ~" T目前,越来越多的应用需要扩展外部的 Flash 来满足存储需求。那么,在调试及批量生产的过程中,需要对外扩的 Flash 进行烧录操作。由于 STM32 ST-LINK Utility 以及 STM32CubeProgrammer 中,对 Flash 支持的型号有限,只能覆盖一部分 MCU和 Flash 的型号,无法完全满足客户的需求。而且,它提供的 external loader 的制作模板存在覆盖的芯片型号较少,且无法前期 QSPI Flash 调试的问题。本文旨在提供一种通过 stm32CubeMX 制作 external Flash loader 的方法。客户可以根据自己的型号,进行定制化的生成。本文中,以某客户实际使用的 MCU(STM32H750) 和 Flash(S25LP128F) 为例进行讲解。6 F1 T# t7 }. i' e
准备工作
: }3 ^" i3 r) |, e7 q6 G/ s2 t9 r⚫安装 STM32CubeIDE, d5 k5 Y0 x& K; e2 L4 f5 n
⚫安装 MCU 对应型号的 HAL 库
( ?" J" B9 H* F* M% p, ~3 J/ L4 }9 O2 ]
' m6 B8 Y& [* b
External loader 开发
- o/ f  u% M* n% F1 rExternal Loader 的开发分成三个部分,第一部分是使用 STM32CubeMX 进行工程的配置及生成。第二部分是外部 Flash 的驱动调试,主要包含初始化,擦除,写入以及读出等操作。第三部分调用驱动函数进行 external loader 的生成,包括外部 Flash信息的定义,包括 Flash 容量的大小,page 的大小,以及 Sector 相关的信息;第三步中 external loader 所需要的代码及对应器件的驱动,可以在下面的 GitHub 仓库中获取,同时也欢迎大家将自己调试好的器件驱动提交到该仓库。+ T. W* e' L0 l/ c& ~% d( g1 T

8 P+ n0 c5 N! Z* ?# m1 X使用 STM32CubeMX 生成工程
; Z: e/ h2 l4 E+ Q4 |1 H; d) P2 A" X此处,我们使用 STM32CubeIDE 集成的 STM32CubeMX 进行工程的配置和生成。: _: i+ A5 a' K+ W% w
: P: A) z. S4 m5 f

3 M8 Y$ x9 m6 s# \; f" p: Z新建工程
) A2 {; n/ h& J0 d& b. \
选择对应的器件,填入工程名称,并选择存放位置:
' z2 l# D. z0 f4 N1 \, g+ G1 g9 w& ~
: N( p* Y9 v- F6 U. z2 p/ B
  {* U# C7 a8 U) }
5E2W14%PJZZW[J9LLY}786A.png
5 S& B, {& q5 u7 U
4 ?& W# D* U' e- t( n' X) D 3~B1~3HL3DNBM]`Y[[}R6OH.png
) D! }7 `3 J* n7 |* c6 y; R! e  W% R" B! O: H( E3 J8 |
管脚配置
' }" v: D6 c; @' h按照硬件原理图选择好对应的 Flash 管脚,此处选择为 Bank2,配置如下图。注意调整管脚的速度为 High,同时使能 QSPI的中断。FlashSize 值设置为 N,Flash 的大小配置 2N+1。
- {* a: y2 w. j0 S& m# _: v" b- W5 A3 _. H" F) L; B
I3RY~D%}6H_PKW8_`PA{1_F.png
; D% o7 h$ l' }; I# r3 v
- V# \# X  U- Q' C* t5 M 8(XURPF)WJCU]2WTL`3XNI1.png
. f/ w; h7 P# \- E' t5 J: t+ }2 r; f7 I: D; X) x
时钟配置. F9 O! u7 s2 X; C, \" J& i: H
根据板子上的时钟源,进行对应的时钟配置,此处采用内部作为系统 PLL 的时钟源。! G  L  r5 ^- u
+ j* S3 z2 L* u# B' ]

2 ^: P: V2 Q# X3 G7 [ 5DR@5]~8~5))5(QJW9W[$BF.png
3 G; W) ?0 t$ H6 i" |+ h5 N' j7 p" C, B8 P# s3 K* G& b
完整版请查看:附件
1 u2 \! q4 N+ s* Z& f9 k, @* W. ~5 ?& Y# V
通过STM32CubeMX制作外部Flash的烧写驱动.pdf (680.82 KB, 下载次数: 15)
赞 收藏 评论0 发布时间:2023-6-19 18:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版