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

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

[复制链接]
STMCU小助手 发布时间:2023-6-19 18:15
前言
7 C* o; ^* k) h0 T0 P3 C2 h目前,越来越多的应用需要扩展外部的 Flash 来满足存储需求。那么,在调试及批量生产的过程中,需要对外扩的 Flash 进行烧录操作。由于 STM32 ST-LINK Utility 以及 STM32CubeProgrammer 中,对 Flash 支持的型号有限,只能覆盖一部分 MCU和 Flash 的型号,无法完全满足客户的需求。而且,它提供的 external loader 的制作模板存在覆盖的芯片型号较少,且无法前期 QSPI Flash 调试的问题。本文旨在提供一种通过 stm32CubeMX 制作 external Flash loader 的方法。客户可以根据自己的型号,进行定制化的生成。本文中,以某客户实际使用的 MCU(STM32H750) 和 Flash(S25LP128F) 为例进行讲解。/ {; Z' e8 G1 e/ E( N- y
准备工作 9 v- {8 S6 r. K9 H, W" b% @
安装 STM32CubeIDE4 E# C: n+ Q* F
安装 MCU 对应型号的 HAL 库7 I4 }" W& ^& ~- n
4 ~$ D! f/ N% i& L+ f0 W: Y
External loader 开发 1 J9 Z6 k* A& N9 e
External Loader 的开发分成三个部分,第一部分是使用 STM32CubeMX 进行工程的配置及生成。第二部分是外部 Flash 的驱动调试,主要包含初始化,擦除,写入以及读出等操作。第三部分调用驱动函数进行 external loader 的生成,包括外部 Flash信息的定义,包括 Flash 容量的大小,page 的大小,以及 Sector 相关的信息;第三步中 external loader 所需要的代码及对应器件的驱动,可以在下面的 GitHub 仓库中获取,同时也欢迎大家将自己调试好的器件驱动提交到该仓库。! K$ ]7 F- b$ i1 m2 s# t4 ^: b

9 r: \6 i  w( q7 x# M) W使用 STM32CubeMX 生成工程 % t( k7 s* ~0 l6 [1 x( ?
此处,我们使用 STM32CubeIDE 集成的 STM32CubeMX 进行工程的配置和生成。
6 @3 K" Y) `( f4 L, Y: E/ T
5 R" c6 S- D# M& \$ D
) n" ]; W- x$ _+ E8 w+ S4 q
新建工程
/ R% f/ p8 O$ w1 [% H6 L8 H0 F
选择对应的器件,填入工程名称,并选择存放位置:/ T/ ]; C/ [) s+ A* d

0 @% u0 I0 x8 I/ g( |0 c% t. d

/ z3 F& d/ _' |0 J5 ~ 5E2W14%PJZZW[J9LLY}786A.png . c+ Y# q& G3 j  ^. X; \9 t( K

$ c* I6 m4 l$ }  C0 y1 z 3~B1~3HL3DNBM]`Y[[}R6OH.png . [0 S" v. O6 |# ^- Q4 D

5 m0 z5 f5 N' b- P4 H. b0 q' X管脚配置) B  z: |- _8 x4 c, E. }
按照硬件原理图选择好对应的 Flash 管脚,此处选择为 Bank2,配置如下图。注意调整管脚的速度为 High,同时使能 QSPI的中断。FlashSize 值设置为 N,Flash 的大小配置 2N+1。" e. D% J9 ?; L) e9 X# ?( v. q5 s

- V) f$ C( y; q I3RY~D%}6H_PKW8_`PA{1_F.png ) n. S7 c0 }  p1 M+ Q% C
. y3 y" |6 F6 [# Y2 m
8(XURPF)WJCU]2WTL`3XNI1.png
( g# h) Z- A: m% E3 J/ ?0 W* k4 F) r( A6 U4 r0 g
时钟配置
3 v! M# w* V. k! V根据板子上的时钟源,进行对应的时钟配置,此处采用内部作为系统 PLL 的时钟源。$ |" A  W/ B$ T7 z. d) J; O

( {  i0 f6 U7 \, x; u! E
+ O. ^) W2 s2 v" s' k, q" l 5DR@5]~8~5))5(QJW9W[$BF.png
1 I1 x0 L* A- W1 q/ U$ d- l3 P
9 p1 a' Z( X, |- k% ]完整版请查看:附件
6 @  s% n! h3 g1 B7 J! m
" I9 S1 ], h2 r' |" S5 C2 t1 X! H 通过STM32CubeMX制作外部Flash的烧写驱动.pdf (680.82 KB, 下载次数: 13)
收藏 评论0 发布时间:2023-6-19 18:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

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