STM32芯片IAP升级机制详解

本文详细介绍了STM32芯片的IAP(在应用编程)升级机制,包括与ISP、ICP的区别。STM32的IAP允许在内部FLASH中划分BOOT和APP存储区,通过特定条件触发升级。文章还讨论了RAM和ROM的区别,并给出了IAP程序的地址分配和编写要点,包括USB方式的升级步骤。

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

一、先了解ICP和ISP、IAP之间的区别:
1、 ISP(In System Programing 在系统编程)的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。例如,我们开始接触到的STC51单片机的程序下载方式(点击上位机下载----->复位(断电)----->下载)

2、 IAP(In applicatin programming 在应用编程)的实现相对要复杂一些,在实现IAP功能时,单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为APP存储区。单片机上电从BOOT区开始运行,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到APP存储区,开始执行放在存储区的APP程序,这样便实现了IAP功能。

3、 ICP(In-Circuit Programming 在线编程)通过JTAG/SWD协议或者系统加载程序(Bootloader)下载用户应用程序到微控制器中。这种情况使用仿真器下载或者芯片厂商提供的ICP软件。

总结:(1)(重要!!!)IAP和ISP是我们研发生产中使用的比较多的情况,使用ISP外部条件触发(网上说有四种方式这里不介绍了,感兴趣的可以百度一下),IAP升级完全是芯片内部控制的(

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值