STM32H7XX在应用编程IAP详解

本文详细介绍了STM32H7系列微控制器的IAP(在应用编程)实现过程,包括IAP的基本概念、STM32H7的Flash结构、IAP后的程序流程、软硬件设计,以及bootloader和app程序的设计要点。通过IAP,可以方便地远程更新应用程序,简化调试过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、IAP简介

最近在做集群相关的项目,假如有60辆车组成集群,那每调试一次程序岂不是要给60辆车下一次程序?为了方便调试程序,计划通过上位机软件和数据链一次性就给60辆车下完程序,这就要用到IAP(In Application Programming)即在应用编程,将用户的程序区分为两部分,第一部分存放bootloader程序,第二部分存放app程序,第一部分负责对第二部分的更新和跳转,第二部分就是正常的程序功能,也就是说一个芯片里面其实运行着两个工程。

1.1 STM32H7的flash

图1闪存模块
我用的FLASH容量是2M的,可以看到分为两个块Bank1、Bank2,每个块还有8个扇区和一个系统存储器,每个扇区大小都为128K,最终我们的程序就是写在这里面。

1.2 加入IAP后的程序流程

图2 加入IAP后的程序流程图
可以看到,有新旧两个中断向量表,STM32复位后,先从0x08000004取出老中断向量表地址,执行中断程序如①所示,完毕,进入IAP main函数执行IAP过程,更新app程序,然后跳转。此时从0x08000004+N+M地址取出新的中断向量表&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值