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

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

[复制链接]
STMCU-管管 发布时间:2019-4-11 12:56
STM32F107 通过以太网实现在应用中编程 (IAP)
5 c  x8 [1 c+ j: ~6 C0 u4 F) T4 Q1 e* a6 A: h5 ?1 t
前言 . S5 N8 u8 K6 m& h2 J

2 W7 r" _+ _& {" A本应用笔记的目标读者为使用 STM32F107 微控制器的开发者。提供了如何使用 STM32F107以太网接口实现在应用中编程 (IAP)的解决方案。 7 [3 `" R. K& r  S

5 ^+ ?& ], |( Q6 M# A. B在 LwIP TCP/IP 协议栈上提供了两种可行的解决方案:
* [2 P4 {) J1 ~+ c6 \! q. X● 使用 TFTP (简单文件传输协议)的 IAP
1 p. ?3 s1 D4 q0 t& d7 W● 使用 HTTP (超文本传输协议)的 IAP# q7 ^9 P) k$ w

; Q7 C/ j* E  ^0 q" U% J3 f9 I1 IAP 概述 / y, C( w. w& g- f) n
1 }. ^" ^% r/ s2 l
1.1 工作原理 9 D& D6 C# F9 H0 Y( t  {1 Z
% s. \7 @, y, R9 m4 v9 p& i: d
在应用中编程(IAP)是一种在现场通过 MCU 的通信接口(例如 UART,USB,CAN 和以太网等)进行固件升级的方式。
9 r6 f: U: p' K0 {. W: S- c

. k  j$ `2 @7 ^: ]# O8 o" t% M7 v当启动微控制器时,您可以选择让它进入 IAP 模式以执行 IAP 代码,或者进入正常模式来开始执行应用代码。IAP 代码和应用程序代码都存在于微控制器的嵌入式 Flash 中。通常 IAP 代码被存储在 MCU Flash 的前几页,用户应用代码占据剩余的 Flash 区域。
4 h& P! G; R7 T# e! x

& Y  Y4 ]! O; r) N2 ~下图说明了 IAP 操作流程:' X4 o+ l) ~+ ^4 O6 L
2 x! T  M# E1 {; K4 K' g
1.png

  Q8 t, D% W0 K+ ]+ S$ X
1.2 使用 MCU 以太网接口实现 IAP

1 f3 ]4 Y$ e( _1 e9 e  P6 \; H& k
当以太网可用时,它通常是在嵌入式应用中实现 IAP 功能的更好的接口。其优点是:
% Y9 U" f( @! s; }
● 高速通信接口 (10/100Mbit/s)

6 }5 J  g2 U% `9 ?! U) {
● 通过网络 (LAN 或者 WAN)进行远程编程

) \# Q8 A8 q! _# H
● TCP/IP 协议栈上的标准应用协议可用于实现 IAP,比如:FTP、 TFTP、 HTTP……

- |' s$ z* P* Y% I! l6 r
1.3 在 STM32F107 上通过以太网实现 IAP
; D0 w4 [( X4 A8 }2 r
本应用笔记说明了两种使用以太网通信外设在 STM32F107 上实现 IAP 的解决方案:
% Z/ l1 y( p) R8 u( Q
● 使用 TFTP (简单文件传输协议)的 IAP
% M- X( L# Z6 W% k% P& I
● 使用 HTTP (超文本传输协议)的 IAP两种解决方案都运行在 LwIP 协议栈 (v1.3.1) 上,它是 TCP/IP 协议套件的一种轻量级实现。

7 w6 z  a4 |" y; P6 n% z
1.3.1 使用 TFTP 实现 IAP 的方法

4 F2 K4 G2 y( S! M
使用 TFTP 实现 IAP 的方法广泛应用于需要固件升级能力的嵌入式应用(比如在嵌入式 Linuxbootloader 中)。
" D$ \4 T% S+ V
TFTP 是工作在 UDP 传输层上的简单文件传输协议,它主要应用在 LAN 环境中。它基于客户端 / 服务器体系结构,其中客户端向文件服务器请求文件传输 (读或写操作)。

/ i& F9 J; R9 c# ]( |8 S
在我们的例子中,在 LwIP 栈上实现了一个简单的 TFTP 服务器,该服务器只处理来自 PCTFTP 客户端的写请求。

/ R, p# z& X8 b/ o
1.3.2 使用 HTTP 实现 IAP 的方法

0 \" @8 u5 R1 n% v
通过 HTTP 协议进行固件更新没有使用 TFTP 常见,但是当需要通过互联网进行远程编程时,它是一种有用的解决方案。在这种情况下,需要 TCP 传输协议来确保最优操作。

0 U- I9 z5 h' N, y4 D
工作在 TCP 上的 HTTP,提供了一种用 HTML 形式从 web 客户端(例如:Mozilla Firefox 或Microsoft Internet Explorer)发送二进制文件的方法,称作 HTTP 文件上传 (RFC 1867)。
, t5 ~% ^3 u" N1 G7 p2 I4 ^1 \
...........

7 N8 F  o) o; r
想了解更多,请下载原文阅读
  @' p. e3 q5 F( \. }* `# K) Y, _
赞 收藏 1 评论1 发布时间:2019-4-11 12:56

举报

1个回答
Kevin_G 回答时间:2019-4-11 13:17:50
收藏

所属标签

相似技术帖

官网相关资源

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