STMCU小助手
发布时间:2022-7-17 23:01
|
1 前言6 X/ u: X2 z' e: B 对于大多数基于 Flash 的系统而言,在最终产品中安装之后,能够对固件进行更新,这一点非常重要。这一功能被称为在应用中编程 (IAP)。此应用笔记的目的就是为创建 IAP 应用程序提供通用准则。, L" u F; V* x/ R9 k$ z STM32F4xx 微控制器能够运行用户指定的固件,从而执行微处理器内置 Flash 的 IAP。借助这一特性,在重新编程过程中可以使用任意类型的通信协议。本应用笔记以 USART 为例进行说明。 2 IAP 概述 STM32F4xx 器件可在意法半导体的 STM324xG-EVAL 评估板上实现。 2.1 原理 应使用所选的开发工具通过 JTAG/SWD 接口,或使用系统存储区中工厂内置的自举程序将IAP 驱动程序编程到 Flash 的基址。 IAP 驱动程序使用 USART 执行以下操作: ● 从超级终端将二进制文件下载到 STM32F4xx 内部 Flash 中。& K- ?$ _) }' A/ _: ` ● 将 STM32F4xx 的内部 Flash 内容(从指定的用户应用程序地址开始)上传到二进制文件中。 ● 执行用户程序。2 m& i# d' E1 G$ ]. W 2.2 IAP 驱动程序说明1 u( ?* C; P9 [5 g* M+ x( e IAP 驱动程序包含下列源文件: ● main.c:在此文件中对 USART 进行初始化并配置 RCC。然后通过 menu.c 文件执行主菜单。# u1 a1 r8 |% L: c$ O# j ● menu.c:包含主菜单例程。主菜单提供了多种操作选项,包括下载新的二进制文件,上传内部 Flash,执行已加载的二进制文件,去除将要被加载二进制文件页的写保护(如果这些页面被写保护)。5 _/ f! W7 R5 i ● flash_if.c:包含内部 Flash 的写入、擦除和禁止写保护功能。6 D/ v! Y9 v3 h ● common.c:包含从/向 USART 外设读取/写入相关功能7 L: h1 H1 l9 e9 H* W( n ● ymodem.c:使用 YMODEM 协议从/向超级终端应用程序接收/发送数据(a)。如果接收数据时出现故障,则显示错误消息“接收文件失败”。如果成功接收数据,则将该数据编程到内部 Flash 的相应地址中。然后对内部 RAM 内容与内部 Flash 内容进行比较,以验证数据是否完整。如果数据存在不一致的情况,则显示错误消息“验证失败”。如果映像文件大小超过允许的存储空间,或用户中止任务时,还会显示其它错误消息。' r E" R2 Z$ }! F" z' e. M ● STM32F4xx 标准外设库。8 h7 |* W5 G0 G5 | h/ M( m+ D' A 用户可以按下连接到引脚的按钮来选择是执行用户应用程序,还是执行 IAP 重新编程:) i: i. ^9 M5 W( I0 j' J ● 复位时不按按钮:切换到用户应用程序。/ P( X8 L) {5 \- X ● 复位时按下按钮:显示 IAP 主菜单。 有关 STM324xG-EVAL 板上用于进入 IAP 模式的按钮的详细信息,请参见表 1:STM32F4xxIAP 的实现。 IAP 流程图如图 1 所示, L( U& B/ N+ S6 j & b" i9 X) j; U- f2 \+ Y2 `5 u
3运行 IAP 驱动程序 3.1超级终端配置 要使用 IAP,用户的 PC 必须能够运行超级终端或其它支持 ymodem 协议的终端程序。本文档中使用超级终端。图 2 给出了超级终端的配置。" j9 i2 x: A+ K % w: ?6 ?% a* X s# }- ]
/ f+ C G5 b- _& [ + a& v) M2 a2 b0 L) L# D9 y / I! |' @& \+ R) Y: d) ?8 X 完整版请查看:附件 1 d; p$ r: H: g, G & |: c% c) ^( l) u- \. T4 F& L 8 b* a6 Q* F8 X2 h w. n |
DM00036049_ZHV1.pdf
下载884.54 KB, 下载次数: 2
【福利三:雨露均沾·逢7狂欢】之四:用一个定时器同步另外两个定时器输出PWM
【逢7发帖赢大礼】STM32开发之WIFI实时时钟
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
STM32F4中文用户手册
STM32F400、STM32F402 Cortex-M4超值单片机
SPI 高温读错最后一位?STM32F42xx 官方根治方案
微信公众号
手机版