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

STM32F407/STM32F417通过以太网实现在应用中编程 (IAP)

[复制链接]
STMCU小助手 发布时间:2022-12-5 22:00
1 简介3 i3 U; K6 {0 a( k5 k5 o& n
本应用笔记专为使用 STM32F407/STM32F417 微控制器的开发人员编写。它提供了如何使用STM32F407/STM32F417 以太网通信接口实现在应用中编程 (IAP) 的解决方案。
2 M/ K( K* J0 X, [2 k有两种基于 LwIP TCP/IP 协议栈的解决方案:
8 T( j( r; C& J% n. r% Q/ p● 使用 TFTP (简单文件传输协议)的 IAP5 X. a8 S+ _& y
● 使用 HTTP (超文本传输协议)的 IAP( n- `8 U8 U  n$ q- R
! N( \3 q% l, {
2 X) B+ @! A* J" X& R) `
2 IAP 概述
3 ~$ g7 D0 j" D+ F# a' D9 j8 m4 s! G* }2.1 工作原理
2 m& {+ G% H$ I1 y在应用中编程 (IAP) 是一种在现场通过 MCU 通信接口(例如 UART、USB、CAN 和以太网)进行固件升级的方式。
8 R6 \9 `3 ]5 A+ @启动微控制器时,可以选择让其在以下任一模式运行:/ p" o/ a! n1 x2 D
● IAP 模式,用于执行 IAP 代码,
1 n6 `/ V# V9 u! U! d● 正常模式,用于执行应用程序代码。
/ [+ N8 R. r7 Z! F# y无论是 IAP 代码还是应用程序代码都位于微控制器的内置 Flash 中。IAP 代码通常存储在 MCU Flash 的第一页,而用户应用程序代码则占据剩余的 Flash 区域。
' Z9 D8 j# \$ A$ Y图 1 介绍了 IAP 操作流程:9 ^5 O( b/ c3 W4 i
: s2 o0 c8 ?# c& V9 w3 z. V' ^; f
TGA[8ZNN6]OUO3JE[0PR)AJ.png
: }) ]5 g4 X- ~) E/ M. F1 G; \
; R7 u9 q0 k; t5 p0 t9 A9 `* D
7 C. y! G0 J) }& S; Z' b
2.2 使用 MCU 以太网接口实现 IAP
1 ?% R' G& M# U2 N1 A7 [如果有以太网可用,则它通常是在嵌入式系统中实现 IAP 功能的首选接口。其优势包括:, b% q) @1 P( M$ k- W
● 高速通信接口 (10/100 Mb/s): K9 G8 L7 S& H
● 通过网络 (LAN 或 WAN) 进行远程编程$ B  _5 {7 y& i' x
● 可以使用 FTP、TFTP、HTTP 等基于 TCP/IP 栈的标准应用协议实现 IAP; F% [$ R4 c7 n) x

: x( r+ @( P6 O1 M: z2.3 通过以太网在 STM32F407/STM32F417 上实现 IAP
& j  u1 c+ `6 B! `5 `. x9 W/ e本应用笔记将介绍两种使用以太网通信外设在 STM32F407/STM32F417 上实现 IAP 的解决方案:3 C4 u. E4 D8 f" A& W
● 使用 TFTP(简单文件传输协议)的 IAP
$ c3 B& y; ~6 w) G. N2 F● 使用 HTTP(超文本传输协议)的 IAP
6 T8 e+ `8 F+ A- B8 n这两种解决方案均基于 LwIP 栈 (v1.3.2),它是轻量级的 TCP/IP 协议栈。
0 [: z0 y: [' Z8 r6 Z
' v$ y' Y3 v5 F5 ]7 i: e5 P
& N! i$ R5 A4 j6 C/ x, X
2.3.1 使用 TFTP 实现 IAP 方法
  S% f4 c: d3 y) \/ w+ i& I使用 TFTP 实现 IAP 的方法广泛应用于需要具有固件升级功能的嵌入式应用中(例如,嵌入式 Linux bootloader 中)。
* e- ~4 M$ \$ q* [3 {# \5 l1 W, s7 bTFTP 是一种在 UDP 传输层上执行的简单文件传输协议。此协议非常适合在局域网环境中使用。它基于客户端/服务器架构,在这种架构中,客户端会向服务器发出文件传输请求(读取或写入操作)。& p3 z- \  c- M' Z* a
为实现 IAP,需要在 LwIP 协议栈上实现一个简单的 TFTP 服务器,服务器只需处理来自 PC的 TFTP 客户端的写入请求即可。
! m- W, E9 X- W) I2 J# ?. U$ H
2 E$ e" l; _6 h  {; P% b6 @
2.3.2 使用 HTTP 实现 IAP 方法' O( r) {% U2 Y% s
使用 HTTP 协议进行固件升级没有使用 TFTP 常见,但是在需要通过 Internet 进行远程编程时,这种解决方案就显得极为有用。这时,需要使用 TCP 传输协议来实现 http 服务。. f% [' n! ~, o, }
HTTP 基于 TCP 协议运行,它提供了一种以 HTML 表单形式从 Web 客户端(Mozilla Firefox或 Microsoft Internet Explorer)发送二进制文件的方式。这称为 HTTP 文件上传 (RFC 1867)。) L- I& \2 k4 ~1 [
本文档中的后续章节将详细介绍这两种 IAP 方法的实现,并会对如何使用软件进行说明。
. h3 I/ q' p0 @. F, M( B: t0 F7 H. S# m+ \: w* z/ [* B
3 使用 TFTP 实现 IAP
/ z" s, f  J- V& n  r5 R3.1 TFTP 概述
$ z( G" s6 @. f( l+ ~  GTFTP 是一种基于 UDP 的简单文件传输协议。文件传输由 TFTP 客户端发起,会向 TFTP 服务器发送读取或写入请求。服务器确认请求后,即开始进行文件数据传输。数据将以固定大小的块进行发送(例如每块含 512 个字节)。. A9 d0 \2 i3 |1 A
必须在每个发出的数据块都得到接收方确认后,才可以发送下一个数据块。这种确认机制通过随各个数据块一同发送的块编号来实现。数据块小于固定块大小表示文件传输的结束。0 Q; d+ v: ?7 v( L' {
图 2 描述了各种 TFTP 数据包的格式:9 l! E9 W7 x. ~  c$ e" @

- ]' |! M: ?+ p' R) k0 U4 v5 M
0 U1 b+ \. J8 c( X: T, Y1 d
9N]}O@DR6AKMCJSE29V4%~Q.png 4 ~" j) [. N/ v* J, x

# V# P8 T7 B% a. ^7 j3 F: Q( L完整版请查看:附件
) f3 H  B- ]7 C( f. d( ]( u' s' E  ]; c! u3 k- K
! |* R0 I% K& S: d$ C+ N
, r: x, {7 _+ I9 x" X

STM32F407 STM32F417通过以太网实现在应用中编程 (IAP).pdf

下载

623.28 KB, 下载次数: 4

赞 收藏 评论0 发布时间:2022-12-5 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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