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

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

[复制链接]
STMCU小助手 发布时间:2022-7-18 13:22
1简介+ w1 J% a2 e5 y/ w, M9 W
本应用笔记专为使用 STM32F407/STM32F417 微控制器的开发人员编写。它提供了如何使用 STM32F407/STM32F417 以太网通信接口实现在应用中编程 (IAP) 的解决方案。
, |; G" n% p3 c5 o' I有两种基于 LwIP TCP/IP 协议栈的解决方案:$ r  ^& z2 C5 P
使用 TFTP (简单文件传输协议)的 IAP0 g( f1 o% G# x7 `  y/ O
使用 HTTP (超文本传输协议)的 IAP6 j0 n2 f+ h+ q
: n4 v+ P" `0 f! L3 N
2 _8 y; X6 [  c$ T, L
2 IAP 概述  S( Z( x2 d' [# k- t
2.1 工作原理
$ H! r; L" T( I' A  q1 [在应用中编程 (IAP) 是一种在现场通过 MCU 通信接口(例如 UART、USB、CAN 和以太网)进行固件升级的方式。7 Y1 f, E+ I# A4 g3 N
启动微控制器时,可以选择让其在以下任一模式运行:8 r6 B1 z3 U) |! V# u$ h/ e7 g
IAP 模式,用于执行 IAP 代码,1 o/ I$ U' d6 s8 i+ ?6 j' M0 H
正常模式,用于执行应用程序代码。& ^$ ?2 |* G6 O4 S- Q
无论是 IAP 代码还是应用程序代码都位于微控制器的内置 Flash 中。IAP 代码通常存储在 MCU Flash 的第一页,而用户应用程序代码则占据剩余的 Flash 区域。8 |! F9 Q/ T6 U% s3 m( k8 z
1 介绍了 IAP 操作流程:  k  s8 m3 R" O) ^( Y: O! s
. l: A& _+ d3 v+ y$ H3 f7 W( z
[3O[CS8J1%GL``BV%}KP600.png
  l8 [2 Y0 W7 Z& [! ~. n8 f
& h) r- o) S& x

. L7 N$ t8 v+ b  B, L3 Y  ?2.2 使用 MCU 以太网接口实现 IAP
' S* v0 W- ]+ Q! S如果有以太网可用,则它通常是在嵌入式系统中实现 IAP 功能的首选接口。其优势包括:2 I4 i  x% M/ l5 ~  Q; o8 t! G
高速通信接口 (10/100 Mb/s); z3 {9 S2 R0 I0 `0 ^9 L  c1 n% ~
通过网络 (LAN 或 WAN) 进行远程编程
7 |; B: o3 t# X' k可以使用 FTP、TFTP、HTTP 等基于 TCP/IP 栈的标准应用协议实现 IAP5 T; ]2 v; x9 `* u. [

3 r2 n, E4 f+ G, d$ Y6 n2.3 通过以太网在 STM32F407/STM32F417 上实现 IAP' @' L6 R5 ~- O4 V
本应用笔记将介绍两种使用以太网通信外设在 STM32F407/STM32F417 上实现 IAP 的解决方案:
1 Q0 u3 i: Z3 e: I0 o使用 TFTP(简单文件传输协议)的 IAP
: q* j, v: g1 z2 |* ~3 a& x8 a$ o使用 HTTP(超文本传输协议)的 IAP8 y+ o/ _, L/ U/ k
这两种解决方案均基于 LwIP 栈 (v1.3.2),它是轻量级的 TCP/IP 协议栈。
6 ^* u' u+ T- @9 h; e. Q# z
, ]* D& C4 F4 @
2.3.1 使用 TFTP 实现 IAP 方法4 P3 }7 T8 f& f  Z
使用 TFTP 实现 IAP 的方法广泛应用于需要具有固件升级功能的嵌入式应用中(例如,嵌入式 Linux bootloader 中)。, ^6 O0 G$ {/ N2 _0 \9 P' P
TFTP 是一种在 UDP 传输层上执行的简单文件传输协议。此协议非常适合在局域网环境中使用。它基于客户端/服务器架构,在这种架构中,客户端会向服务器发出文件传输请求(读取或写入操作)。$ ]: x  n; {( V4 _+ x" A5 h
为实现 IAP,需要在 LwIP 协议栈上实现一个简单的 TFTP 服务器,服务器只需处理来自 PC的 TFTP 客户端的写入请求即可。5 E  k1 L9 N8 e9 U; d6 |

4 F1 W. c/ b/ f6 K' P! C. Q
2.3.2 使用 HTTP 实现 IAP 方法
/ l$ |2 z1 y) e& F1 i  T' u使用 HTTP 协议进行固件升级没有使用 TFTP 常见,但是在需要通过 Internet 进行远程编程时,这种解决方案就显得极为有用。这时,需要使用 TCP 传输协议来实现 http 服务。
: Z8 l5 ^/ k# [HTTP 基于 TCP 协议运行,它提供了一种以 HTML 表单形式从 Web 客户端(Mozilla Firefox或 Microsoft Internet Explorer)发送二进制文件的方式。这称为 HTTP 文件上传 (RFC 1867)。
7 r  e$ Z+ k/ Q9 k本文档中的后续章节将详细介绍这两种 IAP 方法的实现,并会对如何使用软件进行说明。文档 ID 022107 第 1版 3 F3 h. j; Q7 S) c) f- R

/ \% k  `6 l; z1 a5 E% K* K: b3 使用 TFTP 实现 IAP6 Z& N- D3 a8 P
3.1 TFTP 概述. h) E% b+ o- `6 s, B
TFTP 是一种基于 UDP 的简单文件传输协议。文件传输由 TFTP 客户端发起,会向 TFTP 服务器发送读取或写入请求。服务器确认请求后,即开始进行文件数据传输。数据将以固定大小的块进行发送(例如每块含 512 个字节)。
5 C3 L/ \- X! G必须在每个发出的数据块都得到接收方确认后,才可以发送下一个数据块。这种确认机制通过随各个数据块一同发送的块编号来实现。数据块小于固定块大小表示文件传输的结束。
  u1 p; `/ c  s 2 描述了各种 TFTP 数据包的格式:
8 v1 b  u% s# a* c  c& X5 e/ j. q8 O. q' G

$ s4 Z, O! l/ M* E, e) G (87VQ92)$T3IW[2ICU]7%~3.png
8 l8 ^1 k0 b1 q. t# G: J; x. _; K6 l
4 m' w! G. F$ `$ }- a$ u! m6 a

/ R" U  A' B& d( r  N" `" ?3 e完整版请查看:附件0 q7 u# D0 H& J' d% l0 b
( K2 X% Y0 o1 F/ g

) b$ Q3 O* V: }3 n. M

DM00036062_ZHV1.pdf

下载

1.13 MB, 下载次数: 54

收藏 评论2 发布时间:2022-7-18 13:22

举报

2个回答
ldl 回答时间:2024-9-5 21:18:45

http页面源码怎么获取?目前测试只能在IE浏览器下使用,需要调整为兼容谷歌或edge浏览器使用。

marstang 回答时间:2024-10-15 22:51:00
http页面源码怎么获取?
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版