STM32F2x7 通过以太网实现在应用中编程 (IAP) 前言 X) q/ W! H8 }% D% x# ^' |$ |2 j 本应用笔记的目标读者为使用 STM32F2x7 微控制器的开发者。它提供了如何使用STM32F2x7 以太网接口实现在应用中编程 (IAP)的解决方案。 ! ]3 ~6 M A% S! ~4 s' B3 V. z 在 LwIP TCP/IP 协议栈上提供了两种可行的解决方案: ● 使用 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 概述 + y2 c% V( F, L) z, \% R 1.1 工作原理 6 f1 y6 { w; v/ C% D$ \' k 在应用中编程(IAP)是一种在现场通过 MCU 的通信接口(例如 UART,USB,CAN 和以太网等)进行固件升级的方式。 8 l/ h7 Z/ V3 E4 ` 当启动微控制器时,您可以选择让它进入 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 操作流程: 1.2 使用 MCU 以太网接口实现 IAP 当以太网可用时,它通常是在嵌入式应用中实现 IAP 功能的更好的接口。其优点是: ● 高速通信接口 (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 1.3 在 STM32F2x7 上通过以太网实现 IAP 本应用笔记说明了两种使用以太网通信外设在 STM32F2x7 上实现 IAP 的解决方案: ● 使用 TFTP (简单文件传输协议)的 IAP $ F- v5 I. F3 E/ E( x# M● 使用 HTTP (超文本传输协议)的 IAP 两种解决方案都运行在 LwIP 协议栈 (v1.3.2) 上,它是 TCP/IP 协议套件的一种轻量级实现。 1.3.1 使用 TFTP 实现 IAP 的方法 0 R' w" Q% m* |$ C" B使用 TFTP 实现 IAP 的方法广泛应用于需要固件升级能力的嵌入式应用(比如在嵌入式 Linuxbootloader 中)。 TFTP 是工作在 UDP 传输层上的简单文件传输协议。它主要应用在 LAN 环境中。它基于客户端 / 服务器体系结构,其中客户端向文件服务器请求文件传输 (读或写操作)。 1 F; d+ C- @; v, T9 K& |7 W4 o在这个例子中,服务器只处理来自 PC TFTP 客户端的写请求,所以在 LwIP 栈上实现了一个简单的 TFTP 服务器。 ( \% G& i: t9 l! e1.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)。 本文档的下一部分给出了关于这两种 IAP 方法实现的详细信息并解释了如何使用这个软件。 2 P! ?' S8 a% [2 k& k: |$ O& \, t" N* n" S9 E) S; R" T |
收藏 |
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
【STM32图书分享之九】—《STM32F 32位ARM微控制器应用设计与实践》
stm32f207/stm32f407擦除内部flash讲解
【经验分享】STM32F2 中 DMA 的 FIFO 模式
无刷直流电机控制应用+基于STM8S系列单片机---电子书
STM32 USB的程序,包含固件、驱动和测试用的应用程序
工业以太网总线ETHERCAT驱动程序设计及应用(扫描版)
STM32F2x7 通过以太网实现在应用中编程 (IAP)
STM32F2xx 微控制器中的 EEPROM 模拟