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

【经验分享】在 STM32L011 上通过 I2C 接口实现 IAP

[复制链接]
STMCU小助手 发布时间:2022-2-20 15:01
前言
6 l! u: J. j, m8 Y5 r7 |客户计划使用 STM32L011xx 开发一款光模块产品,需要 MCU 支持 I2C 接口下载代码。但 STM32L011xx 内部 Bootloader 没有支持 I2C 接口,所以需要我们使用 IAP 的方式来帮助客户实现该功能。
# m5 }9 ^1 N" y. e0 P( h" A7 J+ E' J, C! O- E8 R
问题分析
( x) p5 u; }2 d- u+ m: e8 v7 j$ e
5 D8 Q0 k2 s7 y6 E- z7 |7 F' w  [
IAP 代码大小
" b  a0 O: P+ PSTM32L011xx 只有 8K-16K 字节的 Flash 容量,所以这个 IAP 的代码不能过大,否则就会将用户的应用程序空间压缩的过小。经过和客户沟通,最大 IAP 代码可以占用的空间为 2K 字节。' X6 P6 o- y8 E7 T

! ?" y: y3 R  U, E- a. E+ `. I开发模式选用

" v! K' k3 K' Z& C) j9 d因为代码空间的限制(最多 2K 字节),所以我们只能使用直接写寄存器的开发方式。
4 n5 A" k1 A9 j1 q& A( J2 s& P' L, z& i9 u* n

: X. B% y+ V' |& ^! B9 E; K硬件结构2 J+ D% k/ B+ h* B8 l  d
  k- }1 Z% x" e0 Y0 p/ R
FBL(2SX%_{C0F0TK3[2B2PW.png
. n9 d3 g4 v. t0 k. p6 }9 \  c! P/ m1 O1 n; Q4 J
代码结构

1 \% V* q0 W# N3 |5 D8 H基本流程参考了我们的 Bootloader by UART 的结构。在上电的时候检查外部使能管脚的状态,如果是有效电平的话就进入到 Bootloader 模式,开启 Bootloader 程序的运行。在 Bootloader 程序中进行Flash 内容的改写。最后,进入到烧写好的用户代码中运行。; g8 D0 `& f& S+ l+ ]

5 V/ z6 u/ R+ t0 { }1W5R0HDQO_SGGVD55K}_IB.png
% W4 W% L) D+ ^2 U& R4 n% d( K7 E
. l4 S) ?  v$ ]0 O" C注意事项
" a* P- {, Q7 G* h( T在使用寄存器开发中,需要注意几个地方。" d4 H. q% k5 ?2 _
1/在地址匹配中断中需要检查 DIR 的值以判断当前的状态是发送还是接收;
+ x: l) W2 a! F" e3 g3 D2/主要的任务是下载 Code 到 Flash 中,所以,I2C 主要做的就是接收一个完整的数据包,这里以主机发送 STOP 事件为接收完成标志。
4 }5 F: S, O" r6 A9 {3 \7 X3/I2C 的接收缓冲开的越大越好,但是由于代码的限制,以最小的数据量为准。6 i4 k* t; Z0 S+ J+ p. b
4/STM32L011xx 系列的 Flash 最小单元都是相等的(128Byte),所以在擦写的时候可以直接一个页一个页的写,降低了IAP 代码的大小。: o4 V8 T; @2 ~: W3 E
  [% S+ N$ n9 T& z9 h$ ^
: q  b( r2 V, G' S
总结:

. _" M, X2 b9 h7 Z. X# x- q此 IAP 程序架构可以在整个 STM32L011 系列产品中直接应用,节省了客户下载应用代码的程序开发时间。占用的代码空间小于 2K 字节。# J9 ~2 c0 Z& m$ e9 Z8 X  d

$ ~6 ^8 b' l9 b! g: |/ G4 D1 `' P

6 M# t7 d6 _4 Q# g
赞 收藏 评论0 发布时间:2022-2-20 15:01

举报

0个回答

所属标签

相似技术帖

官网相关资源

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