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

【中文文档】AN3226_基于STM32F107以太网应用升级应用手册

[复制链接]
STMCU-管管 发布时间:2019-4-11 12:56
STM32F107 通过以太网实现在应用中编程 (IAP) 9 W- q; {* j  S

* U: M3 R' j; }: l9 F$ g* n前言
0 ~+ e' F/ X* A) b7 o
4 A) A" r2 ~/ h# i2 S2 Z  N. W本应用笔记的目标读者为使用 STM32F107 微控制器的开发者。提供了如何使用 STM32F107以太网接口实现在应用中编程 (IAP)的解决方案。
" i) `. O5 U: U  ]% d
! a$ W$ j( M4 z7 Y7 q9 i3 N
在 LwIP TCP/IP 协议栈上提供了两种可行的解决方案: - @' E7 c* U6 ?4 k. G7 V7 P
● 使用 TFTP (简单文件传输协议)的 IAP
# z* }" {. I! z2 x0 z5 i# ~● 使用 HTTP (超文本传输协议)的 IAP& ^; l: t: R' O- r% ]/ m
5 O+ e0 f- L) P; L* |
1 IAP 概述
, j% ]% r9 J0 V4 Z
% c: k( j' p- N1 F
1.1 工作原理
) G* R0 l& T% z* ^1 V5 W# |0 \# x+ o9 f) a/ }2 a
在应用中编程(IAP)是一种在现场通过 MCU 的通信接口(例如 UART,USB,CAN 和以太网等)进行固件升级的方式。 ( t6 H. z; K3 [# w+ k  h

: k) C2 O/ t: b, P- k当启动微控制器时,您可以选择让它进入 IAP 模式以执行 IAP 代码,或者进入正常模式来开始执行应用代码。IAP 代码和应用程序代码都存在于微控制器的嵌入式 Flash 中。通常 IAP 代码被存储在 MCU Flash 的前几页,用户应用代码占据剩余的 Flash 区域。 + n9 e, B( `" W8 H, `. ~

  P) v/ X0 w; }* n下图说明了 IAP 操作流程:
3 }6 z, L3 _- Y8 J7 a
" B1 A$ s$ ~; I3 H7 Y- l4 n- ?
1.png
$ H' i- a9 l7 t0 \; R
1.2 使用 MCU 以太网接口实现 IAP
, o- z2 y  M, f9 i% M3 L# h* H5 R
当以太网可用时,它通常是在嵌入式应用中实现 IAP 功能的更好的接口。其优点是:
- z8 p( o( V& t; ?( `, S2 w6 v- o) f
● 高速通信接口 (10/100Mbit/s)

1 `8 @) k4 |3 i4 z+ [: c: ]
● 通过网络 (LAN 或者 WAN)进行远程编程
& A$ }( I3 s, F$ [0 I8 |0 o
● TCP/IP 协议栈上的标准应用协议可用于实现 IAP,比如:FTP、 TFTP、 HTTP……
$ \, h6 Z9 ^: o2 X* H
1.3 在 STM32F107 上通过以太网实现 IAP
! g  K( B! m4 |: R# X; j$ M. |
本应用笔记说明了两种使用以太网通信外设在 STM32F107 上实现 IAP 的解决方案:

! h4 {- w( L# s  s# _5 D
● 使用 TFTP (简单文件传输协议)的 IAP
: y% a6 |7 p3 z/ n  {
● 使用 HTTP (超文本传输协议)的 IAP两种解决方案都运行在 LwIP 协议栈 (v1.3.1) 上,它是 TCP/IP 协议套件的一种轻量级实现。

( n0 }2 ~- ?- H8 J' ~4 P+ q
1.3.1 使用 TFTP 实现 IAP 的方法

! ]  |2 _: }* c: f" |- z
使用 TFTP 实现 IAP 的方法广泛应用于需要固件升级能力的嵌入式应用(比如在嵌入式 Linuxbootloader 中)。

6 V5 I' j" ^# ?: I7 V, f
TFTP 是工作在 UDP 传输层上的简单文件传输协议,它主要应用在 LAN 环境中。它基于客户端 / 服务器体系结构,其中客户端向文件服务器请求文件传输 (读或写操作)。
( V1 _2 q( t; }1 Y7 K; K
在我们的例子中,在 LwIP 栈上实现了一个简单的 TFTP 服务器,该服务器只处理来自 PCTFTP 客户端的写请求。
8 v8 q' q2 h' s: n) E) W& Z
1.3.2 使用 HTTP 实现 IAP 的方法
* f2 U% c' C% |3 O2 P# \
通过 HTTP 协议进行固件更新没有使用 TFTP 常见,但是当需要通过互联网进行远程编程时,它是一种有用的解决方案。在这种情况下,需要 TCP 传输协议来确保最优操作。
5 ~  _* Y2 E  a$ M- g+ K
工作在 TCP 上的 HTTP,提供了一种用 HTML 形式从 web 客户端(例如:Mozilla Firefox 或Microsoft Internet Explorer)发送二进制文件的方法,称作 HTTP 文件上传 (RFC 1867)。
! j1 E+ `1 A  g) T% S' R/ i( n
...........

. R- B. }$ y- ^- e
想了解更多,请下载原文阅读
2 {, \! f" E3 H# L
收藏 1 评论1 发布时间:2019-4-11 12:56

举报

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