单片机的IAP是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机的IAP是啥意思?相关的知识,希望对你有一定的参考价值。

AP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB、USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中,当芯片上电后,首先是第一个项目代码开始运行,它作如下操作:
1)检查是否需要对第二部分代码进行更新
2)如果不需要更新则转到4)
3)执行更新操作
4)跳转到第二部分代码执行
第一部分代码必须通过其它手段,如JTAG或ISP烧入;第二部分代码可以使用第一部分代码IAP功能烧入,也可以和第一部分代码一道烧入,以后需要程序更新是再通过第一部分IAP代码更新。
对于STM32来说,因为它的中断向量表位于程序存储器的最低地址区,为了使第一部分代码能够正确地响应中断,通常会安排第一部分代码处于Flash的开始区域,而第二部分代码紧随其后。
在第二部分代码开始执行时,首先需要把CPU的中断向量表映像到自己的向量表,然后再执行其他的操作。
如果IAP程序被破坏,产品必须返厂才能重新烧写程序,这是很麻烦并且非常耗费时间和金钱的。针对这样的需求,STM32在对Flash区域实行读保护的同时,自动地对用户Flash区的开始4页设置为写保护,这样可以有效地保证IAP程序(第一部分代码)区域不会被意外地破坏。
IAP与ISP的区别
在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般是通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器。
参考技术A IAP in appplication program 在应用可编程

意思就是 在单片机工作的时候编程它

单片机自己编程自己 就是在线升级

通常需要 boot区支持 boot区是一个独立的 程序存储区 将boot区的程序 设计为 通过通信端口更改程序存储区flash 的内容 于是就实现了 在线升级的功能 这就是 IAP
参考技术B In Application Programming 是指在应用编程,单片机程序自己可以往程序存储器里写数据或修改程序! 参考技术C 在应用中变成,意思就是在程序运行时,你可以通过远程或通过某一端口,如串口下载升级本身的应用程序。 参考技术D IAP就是指在应用编程

单片机的ISP和IAP到底是啥,百度查了一下看的稀里糊涂,还请高手用大白话给指点一下,不胜感激,

单片机的ISP和IAP到底是什么,百度查了一下看的稀里糊涂,还请高手用大白话给指点一下,不胜感激,有帮助的话必采纳!

一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。例如STC单片机支持串口ISP下载。

在实现IAP功能时, 单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为存储区。单片机上电运行在BOOT区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了IAP功能。

一般ISP由单片机厂家实现,IAP由用户应用实现。

请参考:
http://blog.csdn.net/shenye1141664884/article/details/8514433追问

这个BOOT区是干什么的?还有你能给我举一个单片机应用IAP的实例吗

追答

给你个参考:http://blog.csdn.net/yx_l128125/article/details/12992773

参考技术A 一句话:ISP,MCU程序存储空间就一个,烧写代码时,MCU原来程序会被擦出;IAP,MCU程序存储空间有两个,烧写代码时,MCU保存原来代码,烧写完毕后,能跳转到新的代码区。

以上是关于单片机的IAP是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

IAP15W4K 单片机 制作 led线阵

IAP15W4K 单片机 制作 led线阵

51单片机汇编程序里面的NOT是啥意思?

单片机adc是啥意思 单片机adc的意思介绍

单片机里的ISP是啥意思??

单片机里sp是啥意思啊