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

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

[复制链接]
STMCU小助手 发布时间:2023-6-19 18:15
前言
7 F0 w4 s# c+ b2 z+ R目前,越来越多的应用需要扩展外部的 Flash 来满足存储需求。那么,在调试及批量生产的过程中,需要对外扩的 Flash 进行烧录操作。由于 STM32 ST-LINK Utility 以及 STM32CubeProgrammer 中,对 Flash 支持的型号有限,只能覆盖一部分 MCU和 Flash 的型号,无法完全满足客户的需求。而且,它提供的 external loader 的制作模板存在覆盖的芯片型号较少,且无法前期 QSPI Flash 调试的问题。本文旨在提供一种通过 stm32CubeMX 制作 external Flash loader 的方法。客户可以根据自己的型号,进行定制化的生成。本文中,以某客户实际使用的 MCU(STM32H750) 和 Flash(S25LP128F) 为例进行讲解。
2 K. y! h8 y# C& T0 T# M
准备工作
& m. C/ v% l. J& b安装 STM32CubeIDE
! U! x4 P) t- k3 {) d安装 MCU 对应型号的 HAL 库: S) f0 ~- e, u% k/ }
* D: F( w( X7 K( f
External loader 开发
1 E2 S4 ]6 K- g. J: eExternal Loader 的开发分成三个部分,第一部分是使用 STM32CubeMX 进行工程的配置及生成。第二部分是外部 Flash 的驱动调试,主要包含初始化,擦除,写入以及读出等操作。第三部分调用驱动函数进行 external loader 的生成,包括外部 Flash信息的定义,包括 Flash 容量的大小,page 的大小,以及 Sector 相关的信息;第三步中 external loader 所需要的代码及对应器件的驱动,可以在下面的 GitHub 仓库中获取,同时也欢迎大家将自己调试好的器件驱动提交到该仓库。
& Y3 E3 S  K# ]" ?6 J  e9 `7 O) p1 N% ?- K% v5 y
使用 STM32CubeMX 生成工程
" `0 `/ y. e8 H0 Q) H此处,我们使用 STM32CubeIDE 集成的 STM32CubeMX 进行工程的配置和生成。
% T: U: F* {# ^( [! d" S. [, Q8 f; ^& i9 r4 G. s% k! P
; n' U: A, @/ H; }& J+ R# X
新建工程+ O0 N; F. G+ a, Y- J6 f& q7 c4 y. W
选择对应的器件,填入工程名称,并选择存放位置:' i, _7 O3 [' s2 E

; l( }6 D5 Q" _" E; N" \
- Y# o3 q( S4 j# K7 e3 t
5E2W14%PJZZW[J9LLY}786A.png
% o  m6 x" T, {. ~$ [
6 `1 O" u1 Y9 i1 w/ T 3~B1~3HL3DNBM]`Y[[}R6OH.png 7 p! S2 \6 P0 D

. @9 l# Z. t( z0 ?" E% I9 F  a# J管脚配置
- N8 T7 b( i2 ]4 u) D+ P按照硬件原理图选择好对应的 Flash 管脚,此处选择为 Bank2,配置如下图。注意调整管脚的速度为 High,同时使能 QSPI的中断。FlashSize 值设置为 N,Flash 的大小配置 2N+1。
7 S! q+ S, E3 b( n, J9 o. s$ r  C
1 f5 F# C3 m: k* H* | I3RY~D%}6H_PKW8_`PA{1_F.png
4 |8 j, |* M% s7 a! ^
' ?  d7 g" U6 B  x! ~ 8(XURPF)WJCU]2WTL`3XNI1.png
3 }* y3 ~; X$ L) |) H% R
( `% c) A" g5 W时钟配置8 p. i  d( k' X$ @! b$ d) U- e
根据板子上的时钟源,进行对应的时钟配置,此处采用内部作为系统 PLL 的时钟源。
. R# o) P* S! p8 p0 D, S2 L
2 I0 W  x0 `! Q: ]; u4 i
& d6 D  U( p$ f% J- Y2 U 5DR@5]~8~5))5(QJW9W[$BF.png - l7 v; k; J6 T0 K4 k5 p  M

/ Q. D1 B: p* n3 m) [完整版请查看:附件7 H& P  F& f" S6 P6 C2 O) ~( F3 Z
' l6 Q& C) C* ]
通过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 手机版