请选择 进入手机版 | 继续访问电脑版

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

【中文文档】AN3376_基于Ethernet接口的STM32F2x7在应用编程实现

[复制链接]
STMCU-管管 发布时间:2019-4-11 13:38
STM32F2x7 通过以太网实现在应用中编程 (IAP)
* H4 a3 N) N9 K! N- z+ _
( {/ _  ^$ [8 A" W前言
( z: S. ?0 E3 B; m2 X- T* \/ B4 W
  X) q/ W! H8 }% D% x# ^' |$ |2 j
本应用笔记的目标读者为使用 STM32F2x7 微控制器的开发者。它提供了如何使用STM32F2x7 以太网接口实现在应用中编程 (IAP)的解决方案。
3 @$ H& q5 b6 q' D, T2 Z# Y9 U
! ]3 ~6 M  A% S! ~4 s' B3 V. z
在 LwIP TCP/IP 协议栈上提供了两种可行的解决方案:
3 h! ]- y/ z9 }3 o, w6 Y5 D$ V● 使用 TFTP (简单文件传输协议)的 IAP # V: }( X( f. L! j
● 使用 HTTP (超文本传输协议)的 IAP; z, E( d" J3 _( A. T- Y: K* p" U) k3 U" m
0 D8 q8 ~) n* A6 d/ x  ^) R
1 IAP 概述
* m5 r) Y  s1 r0 h- z
+ y2 c% V( F, L) z, \% R
1.1 工作原理 6 f1 y6 {  w; v/ C% D$ \' k

5 ]$ r# P2 ~/ p/ Y. o" j! p$ J* X- ]在应用中编程(IAP)是一种在现场通过 MCU 的通信接口(例如 UART,USB,CAN 和以太网等)进行固件升级的方式。 8 l/ h7 Z/ V3 E4 `

3 W8 r! [. v9 g当启动微控制器时,您可以选择让它进入 IAP 模式以执行 IAP 代码,或者进入正常模式来开始执行应用代码。 IAP 代码和应用程序代码都在微控制器的嵌入式 Flash 中。通常 IAP 代码被存储在 MCU Flash 的前几页,用户应用代码占据剩余的 Flash 区域。 * u0 |7 f3 H" ~3 D$ A
3 k) z, T4 J$ Q& I: z+ a' i1 K$ m
图 1 显示了 IAP 操作流程:
' f4 D# f) k, X; G0 Z& B% @
, M) s4 [1 }% A9 j0 @
1.png
: Q2 J% z! d) i' Q6 ]/ T  {+ W
1.2 使用 MCU 以太网接口实现 IAP

' r: s4 v) V4 r2 E1 U  @
当以太网可用时,它通常是在嵌入式应用中实现 IAP 功能的更好的接口。其优点是:

+ I5 E) d7 \6 ~2 L+ c1 S4 R- Q" a( u
● 高速通信接口 (10/100 Mbit/s)
4 _$ m+ o7 x* H) Q9 g! s
● 通过网络 (LAN 或者 WAN)进行远程编程
1 u6 `5 p6 J6 _
● TCP/IP 协议栈上的标准应用协议 (例如 FTP、 TFTP、 HTTP)可用于实现 IAP

& [7 a# x1 Z% d5 Y. y3 \
1.3 在 STM32F2x7 上通过以太网实现 IAP

& ^, i0 O. `# K5 a0 ~; q9 w
本应用笔记说明了两种使用以太网通信外设在 STM32F2x7 上实现 IAP 的解决方案:

0 ?- U) n$ M, \) f. x0 Q
● 使用 TFTP (简单文件传输协议)的 IAP
$ F- v5 I. F3 E/ E( x# M
● 使用 HTTP (超文本传输协议)的 IAP

+ \" r6 U! |6 w  H, ?
两种解决方案都运行在 LwIP 协议栈 (v1.3.2) 上,它是 TCP/IP 协议套件的一种轻量级实现。

0 Y, }3 W. t3 b
1.3.1 使用 TFTP 实现 IAP 的方法
0 R' w" Q% m* |$ C" B
使用 TFTP 实现 IAP 的方法广泛应用于需要固件升级能力的嵌入式应用(比如在嵌入式 Linuxbootloader 中)。

, L; Z( Q. j4 b$ K& a
TFTP 是工作在 UDP 传输层上的简单文件传输协议。它主要应用在 LAN 环境中。它基于客户端 / 服务器体系结构,其中客户端向文件服务器请求文件传输 (读或写操作)。
1 F; d+ C- @; v, T9 K& |7 W4 o
在这个例子中,服务器只处理来自 PC TFTP 客户端的写请求,所以在 LwIP 栈上实现了一个简单的 TFTP 服务器。
( \% G& i: t9 l! e
1.3.2 使用 HTTP 实现 IAP 的方法
8 R4 y7 T3 F, m; R0 S9 e
使用 HTTP 协议进行固件升级没有使用 TFTP 常见,但是当需要通过互联网进行远程编程时,它是一种有用的解决方案。在这种情况下,需要 TCP 传输协议来确保最优操作。
9 J8 e; t+ g2 j9 j! M* M( z
工作在TCP上的HTTP,提供了一种用HTML形式从web客户端(Mozilla Firefox或MicrosoftInternet Explorer)发送二进制文件的方法,称作 HTTP 文件上传 (RFC 1867)。

( [6 P& ?- {9 @5 F: s8 w$ `
本文档的下一部分给出了关于这两种 IAP 方法实现的详细信息并解释了如何使用这个软件。
2 P! ?' S8 a% [2 k
..........

3 S8 }5 t# [; U1 M' C
想了解更多,请下载原文阅读

5 e* {0 L8 G5 v9 M6 I' G7 S. ~
) M4 n" B2 B* Y
& k: |$ O& \, t" N* n" S9 E) S; R" T
收藏 1 评论1 发布时间:2019-4-11 13:38

举报

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