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

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

[复制链接]
STMCU小助手 发布时间:2023-6-19 18:15
前言 * d% Q/ `* n" k- D
目前,越来越多的应用需要扩展外部的 Flash 来满足存储需求。那么,在调试及批量生产的过程中,需要对外扩的 Flash 进行烧录操作。由于 STM32 ST-LINK Utility 以及 STM32CubeProgrammer 中,对 Flash 支持的型号有限,只能覆盖一部分 MCU和 Flash 的型号,无法完全满足客户的需求。而且,它提供的 external loader 的制作模板存在覆盖的芯片型号较少,且无法前期 QSPI Flash 调试的问题。本文旨在提供一种通过 stm32CubeMX 制作 external Flash loader 的方法。客户可以根据自己的型号,进行定制化的生成。本文中,以某客户实际使用的 MCU(STM32H750) 和 Flash(S25LP128F) 为例进行讲解。( _# `% O- y" H" j. J; K
准备工作
/ x# ?# d; B5 E- [/ T0 N⚫安装 STM32CubeIDE
# ^# J  v- s( o: }- L⚫安装 MCU 对应型号的 HAL 库
* [; @% ^: o9 B4 N+ b- o6 S. ^: \. k8 ?3 ]/ y3 {. p- D- a; h
External loader 开发 4 k5 h, n6 ~/ `+ r) W! E% w: o) f
External Loader 的开发分成三个部分,第一部分是使用 STM32CubeMX 进行工程的配置及生成。第二部分是外部 Flash 的驱动调试,主要包含初始化,擦除,写入以及读出等操作。第三部分调用驱动函数进行 external loader 的生成,包括外部 Flash信息的定义,包括 Flash 容量的大小,page 的大小,以及 Sector 相关的信息;第三步中 external loader 所需要的代码及对应器件的驱动,可以在下面的 GitHub 仓库中获取,同时也欢迎大家将自己调试好的器件驱动提交到该仓库。
- ^/ @' G' Y$ @, `$ b+ M" N3 ?$ a$ q2 K2 Y( x* V1 }3 H
使用 STM32CubeMX 生成工程 , h+ d1 A5 T% }0 \: `# L
此处,我们使用 STM32CubeIDE 集成的 STM32CubeMX 进行工程的配置和生成。, ?/ S' F* x+ W* I7 u

& H# G7 u, v* i( o
3 z" X5 ]+ C: y: K7 d; P8 Q. r" g, k
新建工程
% u; z1 `4 c" M' i  x
选择对应的器件,填入工程名称,并选择存放位置:* ^( `1 h  e3 m3 ~

% x3 @8 _3 w  u5 @

) ^6 o$ \& u- |) L4 D 5E2W14%PJZZW[J9LLY}786A.png 1 m$ ]* r+ k$ E  X
2 t6 ?! u, ^" j0 D1 ]
3~B1~3HL3DNBM]`Y[[}R6OH.png
- d1 w6 F& E2 f6 R8 d0 P  p) e2 R* x7 {# R
管脚配置
$ @* j* T: y9 O4 ^6 o按照硬件原理图选择好对应的 Flash 管脚,此处选择为 Bank2,配置如下图。注意调整管脚的速度为 High,同时使能 QSPI的中断。FlashSize 值设置为 N,Flash 的大小配置 2N+1。
& c/ L; ]$ z  T# y) n+ X% A- p  \! q  j" `! C8 Z
I3RY~D%}6H_PKW8_`PA{1_F.png - @2 u( ~3 `0 C0 P* h' t* _+ F
  ?: d6 \/ B) q$ `7 |" P, J2 D
8(XURPF)WJCU]2WTL`3XNI1.png 0 ]+ x$ O, |! k9 {+ h! Y0 w
/ w0 g4 |' c: v$ l& Q7 ^6 ^
时钟配置
/ v7 W9 g; M8 \% R+ S' z8 q9 Y根据板子上的时钟源,进行对应的时钟配置,此处采用内部作为系统 PLL 的时钟源。
4 Z: S, H9 R' W" p* @* z4 z
0 k% \4 V3 ]+ M' H  \, k
0 g- x, u8 w1 ~& B) m/ W 5DR@5]~8~5))5(QJW9W[$BF.png : u! P. W9 m% t+ Q. O  ~7 t

" x6 ~. p( M6 s" m% Y" _- A. w完整版请查看:附件3 c/ ^9 {& g" T0 M3 Y! E! N, h

4 u* z# Q; F& {. a: m 通过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 手机版