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

通过 STM32CubeMX 制作外部 Flash 的烧写驱动(.stdlr)

[复制链接]
STMCU小助手 发布时间:2022-8-8 23:30
前言 4 _$ i) }6 {& k/ C/ g7 a
目前,越来越多的应用需要扩展外部的 Flash 来满足存储需求。那么,在调试及批量生产的过程中,需要对外扩的 Flash 进行烧录操作。由于 STM32 ST-LINK Utility 以及 STM32CubeProgrammer 中,对 Flash 支持的型号有限,只能覆盖一部分 MCU和 Flash 的型号,无法完全满足客户的需求。而且,它提供的 external loader 的制作模板存在覆盖的芯片型号较少,且无法前期 QSPI Flash 调试的问题。本文旨在提供一种通过 stm32CubeMX 制作 external Flash loader 的方法。客户可以根据自己的型号,进行定制化的生成。本文中,以某客户实际使用的 MCU(STM32H750) 和 Flash(S25LP128F) 为例进行讲解。$ f; D. F# K+ G# G: d
2 j' b# N' u0 {7 D0 g. O8 ^

8 s. M4 R& x2 I  }# [7 `/ j准备工作 ) }- x/ h1 C( K3 F
⚫安装 STM32CubeIDE
5 J5 W4 H# q0 U; u⚫安装 MCU 对应型号的 HAL 库
$ r. v" N$ n4 Y# ^" J' C- Z: ~* W2 _, }

2 I5 {1 s* y' @+ H/ _; B5 VExternal loader 开发
$ d2 N) u9 ]/ v* O7 |& P8 }7 Q6 qExternal Loader 的开发分成三个部分,第一部分是使用 STM32CubeMX 进行工程的配置及生成。第二部分是外部 Flash 的驱动调试,主要包含初始化,擦除,写入以及读出等操作。第三部分调用驱动函数进行 external loader 的生成,包括外部 Flash信息的定义,包括 Flash 容量的大小,page 的大小,以及 Sector 相关的信息;第三步中 external loader 所需要的代码及对应器件的驱动,可以在下面的 GitHub 仓库中获取,同时也欢迎大家将自己调试好的器件驱动提交到该仓库。1 M) W  u4 E! E+ X  [
! {2 `: t6 Z0 w( `& w, X
使用 STM32CubeMX 生成工程 - w% P$ z& r0 A# l1 m0 R
此处,我们使用 STM32CubeIDE 集成的 STM32CubeMX 进行工程的配置和生成。
' n: |- V0 w& g) `) G  L选择对应的器件,填入工程名称,并选择存放位置:按照硬件原理图选择好对应的 Flash 管脚,此处选择为 Bank2,配置如下图。注意调整管脚的速度为 High,同时使能 QSPI的中断。FlashSize 值设置为 N,Flash 的大小配置 2N+1。. l( M$ L; ?4 z: S2 T
/ l# Q/ t3 U) `9 j0 d& r" y
LRL0J`S7BY}NI~@SU{PJ7RQ.png
- c/ i( e3 c9 O  o7 L  A1 @; k% Y4 G Y53%HAQR~DLZJJM2S7O[K~2.png
2 u, m; K3 p2 J% W* \1 g
  q6 H; @* q* P4 }6 P) k0 ~$ D
" S1 d3 H' q0 p% w0 A% Y% s' l* g/ P完整版请查看:附件
9 U% Y4 Z' n) c" L

6 H& e  s( D6 x0 u6 R2 W* V( X# n2 ^
# Q; `1 K' T, m

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

下载

680.82 KB, 下载次数: 53

赞 收藏 评论0 发布时间:2022-8-8 23:30

举报

0个回答

所属标签

相似技术帖

官网相关资源

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