前言
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 代码被存储在 MCUFlash 的前几页,用户应用代码占据剩余的 Flash 区域。
图 1 显示了 IAP 操作流程:
图 1. IAP 操作流程 1.2 使用 MCU 以太网接口实现 IAP 当以太网可用时,它通常是在嵌入式应用中实现 IAP 功能的更好的接口。其优点是: • 高速通信接口 (10/100 Mbit/s) • 通过网络 (LAN 或者 WAN)进行远程编程 • TCP/IP 协议栈上的标准应用协议 (例如 FTP、 TFTP、 HTTP)可用于实现 IAP
|