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

【中文文档】AN3078_STM32通过I²C在线升级

[复制链接]
STMCU-管管 发布时间:2019-4-1 11:05
STM32™ 在应用中编程通过 I²C 总线
% j0 c1 t# a4 u8 a+ ~" ^% D' @( A2 ~
简介 & K, C3 _8 H# |3 \' x0 d0 t$ J1 i
5 Q7 J5 N/ O; v8 }, _1 F. d
对于大多数基于 Flash 的系统而言,在最终产品安装之后,能够对固件进行更新,这一点非常重要。这称为在应用中编程 (IAP)。此应用笔记的目的就是为创建 IAP 应用程序提供通用指南。 " R5 m9 H4 o( L2 x4 Z  `( P

3 `' e4 `7 f- j- HSTM32F10x 微控制器能够运行用户指定的固件,从而执行微控制器内置 Flash 的 IAP。借助这一特性,在重新编程过程中可以使用任意类型的通信协议(如 CAN、USART、USB、SPI 和 I2C 等)。 2 [  M7 T. a- }! T' ~

- g: ~9 B& o5 f0 N1 M6 R本应用笔记介绍如何使用 STM32F10x 的 I2C 外设执行在应用中编程。第一步,将 Aardvark工具用作主机,向 STM32F10x 发送 IAP 命令。第二步,将另一 STM32F10x 微控制器用作主机,且该微控制器桥接 PC 与目标器件(USB/I2C 桥接器)。 $ u! \, Q- e* j5 H" p5 c
9 a$ u0 \* J3 l4 ?+ x
STM32F10x 用作 I2C 存储器,可通过 I2C/接口对其进行编程、擦除和读取。 " _/ g% x9 _" w2 e
: d2 q' H( f8 D0 s$ ?
有关 STM32F10x 系列产品的特性、引脚、电气特性、机械数据和订购信息的详细信息,请参见 STM32F10x 数据手册,该手册可从意法半导体网站下载:www.st.com
  ?; S3 m$ |2 E. v8 D" _& J( Y5 y2 L9 H! X7 m1 K
STM32 固件库可从 www.st.com 下载。 & E! d/ l' x( u" Q1 v8 u
' `9 y" H7 P7 f( j) d: H
下面列出了开发过程中使用的 Aardvark 主机适配器版本:
8 n% u9 R3 ]3 M/ z0 B3 G/ V+ G● 固件:Aardvark I2C/SPI Control Center v3.52 -2009.0130
; J4 ^$ R  O) _3 h# ~$ J● 硬件:Aardvark I2C/SPI v3.0
; q5 B# K( a1 q9 N2 u
; v$ Y, `+ K0 E6 ?7 n8 M有关 Aardvark 主机适配器及其软件的详细信息,请参阅 www.st.com 中的相关文档。
% u7 `2 y- v1 B
% ~5 o5 s3 r/ u4 B: u$ |% J  [- k1 IAP 概述 1 u4 b3 T2 i2 Q" t0 Y4 }
( p8 @' L! z2 b+ N
1.1 原理
, O. }' T* U! q/ R0 w# {7 D$ ~7 b5 p
可以使用开发工具通过 JTAG 或 SWD 接口,把 IAP 驱动程序烧写到 Flash 的起始地址。此驱动程序使用 I2C,将文件从主机载入 STM32F10x 内部 Flash,然后执行该文件。
- v7 Q$ M; [. m# O" R4 r2 G/ {: ?* S/ j! S$ N, L
1.2 用户程序应满足的条件 7 F' W- y  W! o4 V
' `1 ^! c2 g2 i
将 IAP 应用程序加载到从 Flash 基址开始到 0x0800 0fff 的一段区域。因此,必须将用户应用程序加载到 0x0800 1000 地址以上的 Flash 高地址区域。
- @  T. p/ T+ X8 H4 w+ u) x* E$ [4 B0 e) z2 v; U9 s6 O' z
1.png

9 D& f# V# V' h
1.3 全局流程图

2 }" ^8 x/ Y. g+ \% L' u
1.png

# c5 {9 Y5 v* Y9 e5 y& M* J9 q( A2 d: k: Z
使用连接到按钮的引脚来选择跳转到用户应用程序还是执行用于重新编程的 IAP:

1 n& j0 l/ \( D4 {5 K1 ]4 W; A
● 复位时,按下按钮将执行 IAP

( e3 _$ ?' o) E; i/ L
● 否则,跳转到用户程序

; z1 i- }# e. v3 r/ j5 m. B; {
1.4 IAP 命令
* e- `/ I0 v, c$ K
1.4.1 读命令

) M& M  @7 E' W
读命令用于从 STM32 的 Flash 中读取数据,并且可以从用户存储空间的任意 Flash 地址开始读取。

9 E2 n9 B/ y. @

% r% i( X' e+ f7 b. y: k' }
...........

/ b' e3 X7 k; L6 h. d9 j
想了解更多,请下载原文阅读
2 V* S, `# e& x# ^1 r
收藏 1 评论2 发布时间:2019-4-1 11:05

举报

2个回答
Kevin_G 回答时间:2019-4-1 15:47:04
收藏
frank171 回答时间:2019-7-1 23:38:31
STM32通过I²C在线升级

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版