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

STM32L0芯片FLASH编程示例及提醒

[复制链接]
STMCU-管管 发布时间:2021-6-17 16:25
这里就STM32L053芯片的FLASH编程做个简单演示并做些提醒,以供有需要的人参考。
* n) n( m/ s8 U& c0 o
% |, |8 g& n* ?( z' s' ~一般来讲,FLASH编程主要包括擦除、代码编程、Option字修改操作,关于Option编程下面不做介绍。STM32L0芯片的擦除除了支持全片擦除外,再就是支持页擦除,每页的大小为128Bytes,即32个字。编程可以按字或按半页【64Bytes】编程。单页擦除、单字编程以及半页编程的时间都是一样的,大概3.2ms左右,这点在芯片数据手册上也明确出来了。
+ d7 [/ W& V* U
11.png

5 A% B" P: k- x: \+ N' Q! R这里提醒两点。第一点,在做擦除或编程时,要注意地址对齐的问题,页擦除时地址要128字节对齐,字编程注意4字节对齐,半页编程时注意64字节对齐。还有一点就是做半页编程时,半页编程的执行代码要放到RAM里进行,这点手册也强调了。- q6 l3 X  h0 t, v2 T( W" \( q
8 r4 I8 t5 m. q5 t9 l" Z
下面演示字编程、页编程、页擦除的操作。这里我先以字编程模式写5个字,然后以半页编程模式对5个半页进行FLASH编程,并记录二者所花的时间,看看字编程时间跟半页编程的是否一致。另外,在完成5个半页编程之后,又进行了页擦除操作,擦除刚才已编程的5个半页中的1页,即最后应只剩下3个半页的内容【注:对于STM32L0系列芯片,内部FLASH被擦除后内容为全0】。
- r5 S$ [8 R6 n) |1 L" M, C/ o8 f' Y5 d6 _: b
下面代码截图是基于STM32Cube库来组织的,主要涉及到字编程、半页编程、页擦除三个操作,对应着绿色下划线的3个库函数。+ X; T& t6 A' L. W! _9 h& F
3 @$ m* P( s$ f
12.png
- u4 f7 l2 S2 ?' j

, I& X4 A" Z& q% F8 e. R' h其中,半页编程的执行代码需配置到RAM里去运行。另外,Period1和Period2分别来存放写5个字和5个半页的编程时间,并放在指定的FLASH位置。编译运行后我们可以看到如下结果:: U( I  L7 {% h2 y
0 q" m. ^! e9 c, \) _6 N+ O
13.png
上面截图是经过运行后芯片内部的部分FLASH空间的内容。5个红色方框围住的数据乃5个字编程后的结果,蓝色方框内的数据乃5次半页编程后的结果,但最终只看到3个半页的编程内容,那是因为后面两个半页的内容经页擦除操作后而消失了。
- J# B/ I9 y" l/ N/ g% t9 z3 }5 W1 C% J6 G% S7 q% @  S
用来统计编程时间的定时器的计数频率为1MHz,显然Period1和Period2基本是相等的,将它们再除以5后所得编程时间都是3.3ms的样子。显而易见,进行批量代码编程时采用半页编程更高效。
; i! H1 O0 [5 I% m* H! W# E9 _1 x
/ }1 w! Q, O% q; F; O7 F. Z前面说了做半页编程时其执行代码需放到RAM运行,该代码在STM32cube库的这个文件stm32l0xx_hal_flash_ramfunc.c里面。实现该操作对于不同的IDE在处理上稍有差异。这里基于ARM MDK进行简单配置,划分点RAM出来给它用。
4 a- Z& n: A' p% e' o
14.png

' x; ^5 M% c) a; S; s+ {3 ~% T关于STM32L0系列FLASH编程的演示就介绍到这里,愿能帮到有需之人以节省些时间和精力。
0 }: ^- L) w$ e1 L# d
% ^+ o" V5 a3 g+ s0 O. h* Z
2 `  ?5 X* d8 U6 M8 H8 A; T$ a
赞 收藏 评论0 发布时间:2021-6-17 16:25

举报

0个回答

所属标签

相似技术帖

官网相关资源

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