
前言 STMCube™ 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 产品系列。 STM32Cube 1.x 版包括: • 图形软件配置工具 STM32CubeMX,可通过图形化的向导生成初始化 C 代码。 • 针对每个系列提供综合的嵌入式软件平台,(比如用于 STM32F4 系列的 STM32CubeF4) – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性 – 一套一致的中间件,比如 RTOS、 USB、 STMTouch、 FatFS 和图形 – 所有嵌入式软件实用程序均配备一套完整的示例。 在应用中编程 (IAP)是在 flash 中执行代码的同时,对同一 flash 存储器编程的方法。它提供了使用高速通信协议加载应用代码的可能性。 本用户手册的目标读者为在 STM32 微控制器上使用 STM32Cube 固件的开发者。它提供了如何使用以太网通信,实现在应用中编程 (IAP)的全部说明。 在 LwIP TCP/IP 协议栈上提供了两种可行的解决方案: • 使用 TFTP (简单文件传输协议)的 IAP • 使用 HTTP (超文本传输协议)的 IAP 注: 本文适用于具有以太网外设的所有 STM32 系列。然而,为简单起见,使用了 STM32F4xx 微控制器和 STM32CubeF4 作为参考平台。 相同的说明、文件名、屏幕截图也适用于提供以太网连接的其它系列,例如STM32F107xx、 STM32F2x7xx、 STM32F7xx。若需了解更多在 STM32 系列上实现以太网IAP 样例的信息,请参考相关 STM32Cube 固件包中提供的文档。 1 IAP 概述 1.1 工作原理 在应用中编程 (IAP)是一种在现场通过 MCU 的通信接口 (例如 UART,USB,CAN 和以太网等)进行固件升级的方式。 当您启动微控制器时,您可选择以下两种模式之一: • IAP 模式,可执行 IAP 代码。 • 正常模式,可执行应用代码。 IAP 代码和应用程序代码都在微控制器的嵌入式 Flash 中。通常 IAP 代码被存储在 MCU Flash 的前几页,用户应用代码占据剩余的 Flash 区域。 图 1 显示了 IAP 操作流程: ![]() 1.2 使用 MCU 以太网接口实现 IAP 当以太网可用时,它通常是在嵌入式应用中实现 IAP 功能的更好的接口。其优点是: • 高速通信接口 (10/100 Mbit/s) • 通过网络 (LAN 或者 WAN)进行远程编程 • TCP/IP 协议栈上的标准应用协议 (例如 FTP、 TFTP、 HTTP)可用于实现 IAP 1.3 通过以太网实现 IAP 本用户手册说明了两种使用以太网通信外设在 STM32F4xx 上实现 IAP 的解决方案: • 使用 TFTP (简单文件传输协议)的 IAP • 使用 HTTP (超文本传输协议)的 IAP 两种解决方案都运行在 LwIP 协议栈上,它是 TCP/IP 协议套件的一种轻量级实现。 1.3.1 使用 TFTP 实现 IAP 的方法 使用 TFTP 实现 IAP 的方法广泛应用于需要固件升级能力的嵌入式应用 (比如在嵌入式Linux bootloader 中)。 TFTP 是工作在 UDP 传输层上的简单文件传输协议。它主要应用在 LAN 环境中。它基于客户端 / 服务器体系结构,其中客户端向文件服务器请求文件传输 (读或写操作)。 在这个例子中,服务器只处理来自 PC TFTP 客户端的写请求,所以在 LwIP 栈上实现了一个简单的 TFTP 服务器。 1.3.2 使用 HTTP 实现 IAP 的方法 使用 HTTP 协议进行固件升级没有使用 TFTP 常见,但是当需要通过互联网进行远程编程时,它是一种有用的解决方案。在这种情况下,需要 TCP 传输协议来确保最优操作。 工作在 TCP 上的 HTTP,提供了一种用 HTML 表单从 web 客户端 (Mozilla Firefox 或Microsoft Internet Explorer)发送二进制文件的方法,称作 HTTP 文件上传 (RFC 1867)。 本文档的下一部分给出了关于这两种 IAP 方法实现的详细信息并解释了如何使用这个软件。 完整版请查看:附件 |
DM00103145_ZHV3.pdf
下载712.66 KB, 下载次数: 3
兔哥的ST67——【000】ST67模组订购
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
刘氓兔的64位入门挑战【1】——MP257芯片下单和硬件准备
刘氓兔的64位入门挑战【0】——MP257选型