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

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

[复制链接]
STMCU小助手 发布时间:2022-8-8 23:30
前言   H$ _3 _# z. `
目前,越来越多的应用需要扩展外部的 Flash 来满足存储需求。那么,在调试及批量生产的过程中,需要对外扩的 Flash 进行烧录操作。由于 STM32 ST-LINK Utility 以及 STM32CubeProgrammer 中,对 Flash 支持的型号有限,只能覆盖一部分 MCU和 Flash 的型号,无法完全满足客户的需求。而且,它提供的 external loader 的制作模板存在覆盖的芯片型号较少,且无法前期 QSPI Flash 调试的问题。本文旨在提供一种通过 stm32CubeMX 制作 external Flash loader 的方法。客户可以根据自己的型号,进行定制化的生成。本文中,以某客户实际使用的 MCU(STM32H750) 和 Flash(S25LP128F) 为例进行讲解。
8 [" I9 I% t( ]3 O8 R) y( F: p. |# \2 z6 Z+ T; C
1 @* H6 X9 b6 N) B
准备工作 - C3 U  @# b) a
⚫安装 STM32CubeIDE& D& S6 e, x; H0 `9 P; f) z- u5 N
⚫安装 MCU 对应型号的 HAL 库
. [3 W, u1 P3 f; v7 b. p1 ^! h7 |* W  I' V9 [- O

$ B% k* t% g' s# }0 G0 ?External loader 开发 $ u0 H: W$ z0 h- ]. }: u- f. T
External Loader 的开发分成三个部分,第一部分是使用 STM32CubeMX 进行工程的配置及生成。第二部分是外部 Flash 的驱动调试,主要包含初始化,擦除,写入以及读出等操作。第三部分调用驱动函数进行 external loader 的生成,包括外部 Flash信息的定义,包括 Flash 容量的大小,page 的大小,以及 Sector 相关的信息;第三步中 external loader 所需要的代码及对应器件的驱动,可以在下面的 GitHub 仓库中获取,同时也欢迎大家将自己调试好的器件驱动提交到该仓库。
2 E1 g0 l& f3 r4 i. H& m
; V! D" B& O/ m5 z使用 STM32CubeMX 生成工程 ; o, i- s8 M/ n. p1 t1 b3 Y1 A
此处,我们使用 STM32CubeIDE 集成的 STM32CubeMX 进行工程的配置和生成。# C  o6 W7 J( ?& O8 e% A
选择对应的器件,填入工程名称,并选择存放位置:按照硬件原理图选择好对应的 Flash 管脚,此处选择为 Bank2,配置如下图。注意调整管脚的速度为 High,同时使能 QSPI的中断。FlashSize 值设置为 N,Flash 的大小配置 2N+1。
- y6 b  i7 j' H( L9 S( [7 |$ j
  }! R8 Z0 N! i9 S1 ^
LRL0J`S7BY}NI~@SU{PJ7RQ.png
+ d5 f) j+ C6 y/ f/ j Y53%HAQR~DLZJJM2S7O[K~2.png
5 o9 A0 C7 s/ S3 \- ^0 E
+ u( P& [% i2 W" n& a! d) x7 M* e* s. I* G  d+ t
完整版请查看:附件
+ K$ r& V( T- _% U- z; s

, m* b8 \, d& i* G5 e0 y; c1 a+ \- M  J. m- a, l* P

通过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 手机版