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

使用 USART 实现STM32F40x/STM32F41x 的 IAP

[复制链接]
STMCU小助手 发布时间:2022-7-17 23:01
1 前言
3 y2 j- J% H8 v  S; Q( Q对于大多数基于 Flash 的系统而言,在最终产品中安装之后,能够对固件进行更新,这一点非常重要。这一功能被称为在应用中编程 (IAP)。此应用笔记的目的就是为创建 IAP 应用程序提供通用准则。
" W; \  f0 x( L2 [. \% ?: ?STM32F4xx 微控制器能够运行用户指定的固件,从而执行微处理器内置 Flash 的 IAP。借助这一特性,在重新编程过程中可以使用任意类型的通信协议。本应用笔记以 USART 为例进行说明。
9 r+ x) q3 N3 q0 P3 R. X  o: T' e$ [1 l8 p8 ~4 J+ c( f( u
2 IAP 概述
5 @! `* @1 z, J1 j- r; t& E3 e5 fSTM32F4xx 器件可在意法半导体的 STM324xG-EVAL 评估板上实现。) g2 b5 r, p2 D  j% M0 x
2.1 原理+ W' T. \# S: c' c/ @, B1 I! O% h
应使用所选的开发工具通过 JTAG/SWD 接口,或使用系统存储区中工厂内置的自举程序将IAP 驱动程序编程到 Flash 的基址。9 M+ G+ l7 j/ T8 m
IAP 驱动程序使用 USART 执行以下操作:% `( H! L3 P9 x( T' `
● 从超级终端将二进制文件下载到 STM32F4xx 内部 Flash 中。
7 v  T" v. W( g# T● 将 STM32F4xx 的内部 Flash 内容(从指定的用户应用程序地址开始)上传到二进制文件中。
1 l" b6 a- i' a9 Y$ }● 执行用户程序。

8 e/ g8 Q% u- T. _, j9 i+ X% @2.2 IAP 驱动程序说明
9 X% l- S& V2 f+ {% d9 |( KIAP 驱动程序包含下列源文件:0 {7 p8 t6 }& s
● main.c:在此文件中对 USART 进行初始化并配置 RCC。然后通过 menu.c 文件执行主菜单。' _  c) C0 Q6 j( o) k$ F
● menu.c:包含主菜单例程。主菜单提供了多种操作选项,包括下载新的二进制文件,上传内部 Flash,执行已加载的二进制文件,去除将要被加载二进制文件页的写保护(如果这些页面被写保护)。
4 H3 l9 D( X1 ?# r+ Q9 Q2 T● flash_if.c:包含内部 Flash 的写入、擦除和禁止写保护功能。  t& x1 K  H& {: w& k; v% @6 k
● common.c:包含从/向 USART 外设读取/写入相关功能" i' Z- |2 {- A0 q; Y! y2 L7 S
● ymodem.c:使用 YMODEM 协议从/向超级终端应用程序接收/发送数据(a)。如果接收数据时出现故障,则显示错误消息“接收文件失败”。如果成功接收数据,则将该数据编程到内部 Flash 的相应地址中。然后对内部 RAM 内容与内部 Flash 内容进行比较,以验证数据是否完整。如果数据存在不一致的情况,则显示错误消息“验证失败”。如果映像文件大小超过允许的存储空间,或用户中止任务时,还会显示其它错误消息。
  O, Z8 F" I$ ]2 u/ ~● STM32F4xx 标准外设库。# I2 e$ P4 L, p" X( G
用户可以按下连接到引脚的按钮来选择是执行用户应用程序,还是执行 IAP 重新编程:6 k: a& n2 _# `9 s; v
● 复位时不按按钮:切换到用户应用程序。* t" ~) ?& k9 [. d" L2 [6 ^, q
● 复位时按下按钮:显示 IAP 主菜单。
7 f& A$ [. i# |0 |有关 STM324xG-EVAL 板上用于进入 IAP 模式的按钮的详细信息,请参见表 1:STM32F4xxIAP 的实现。
- }  H2 P% q# gIAP 流程图如图 1 所示
2 C# j# U  V" a9 }% c8 B- E4 _1 m; c- X
  q, v7 D1 H, F% {0 u( ^! ^' C
Z%}6XNSNN$I13SY6PPB34.png
+ {) v; j; b3 I1 E

' S( k( P! J0 A' {
3运行 IAP 驱动程序0 Z5 C+ I; E" i6 m3 D
3.1超级终端配置# L5 |" o% e5 `% g- ~2 ]
要使用 IAP,用户的 PC 必须能够运行超级终端或其它支持 ymodem 协议的终端程序。本文档中使用超级终端。图 2 给出了超级终端的配置。+ X7 K8 U+ F$ [9 m+ m

) s8 [; S5 I  K3 q: M2 q2 ]9 t
& n( y; C, n3 n7 ~
%[H{JP1MIU0J9VDRME2[)J4.png
* _+ q6 R2 o# o2 ^4 F
9 ]4 r0 P  B2 T1 {* S! j

/ {! |1 K# _6 G. }% S% U* G, J& U( J8 {8 A
完整版请查看:附件1 X) J% I, D8 w- u9 B3 z
! S1 y7 b) }9 R5 n% ~

3 ^3 P- c( l/ x1 s8 A4 L. s
0 N* g' N3 V& q" I
( Z6 z/ V( W6 l0 E, ~: z0 I4 p

DM00036049_ZHV1.pdf

下载

884.54 KB, 下载次数: 2

赞 收藏 评论0 发布时间:2022-7-17 23:01

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版