IAP的与ISP区别
发布网友
发布时间:2022-05-16 03:32
我来回答
共3个回答
热心网友
时间:2023-08-16 01:08
在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般是通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器。
热心网友
时间:2023-08-16 01:08
ISP(In-System
Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,
而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。IAP(In-Application
Programming)
指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。ISP和IAP技术是未来仪器仪表的发展方向。
1
ISP和IAP的工作原理
ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。
IAP的实现相对要复杂一些,在实现IAP功能时,
单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为存储区。单片机上电运行在BOOT区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了IAP功能。
2
ISP和IAP在单片机中的应用
2.1
传统编程方法的不足
在一般的单片机的实验或开发时,编程器是必不可少的装置。仿真、调试完的程序需要借助编程器烧到单片机内部或外接的程序存储器中。普通的编程器价格从几百元到几千元不等,对于一般的单片机用户来说还是一笔不小的开支。另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,这样不但麻烦也很容易对芯片和电路板造成损伤,另外在程序需要升级做改动时,必须将设备返厂或是技术人员到现场操作,既不方便也造成成本浪费。
2.2
ISP和IAP的优点
ISP技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。
IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。
ISP的实现一般需要很少的外部电路辅助实现,
而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器,可以通过现有的INTERNET或其它通讯方式很方便地实现远程升级和维护。
2.3
产品分析
目前市场上不少的单片机具有ISP和IAP功能。
ST公司的μPSD32××系列单片机片内带128KB/256KB的FLASH存储器及32KB
Boot
ROM,通过JTAG串行口能很容易地实现ISP功能。IAP功能则可由用户在应用中实现。
ATMEL公司的单片机AT89S8252,提供了一个SPI串行接口对内部程序存储器编程(ISP)。SST公司的单片机SST89C54,其最大的特点内部有两块独立的FLASH存储器,具有IAP(应用中在线编程)功能,对于8052系列的其它公司的单片机(ATMEL、
WINBOND、ISSI)可以直接代换,软硬件无须做任何改动。
PHILIPS公司的P89C51RX2xx系列是带ISP/IAP的8位Flash单片机。PHILIPS公司为了使ISP技术和IAP技术得以推广,在芯片上免费提供了Boot
ROM固件,并且巧妙地解决了固件和FLASH的地址覆盖问题及一些具体实现细节问题,使它们的实现变得简单。
此外在外围器件中ST公司的PSD系列产品片内带大容量存储器,支持ISP及IAP功能。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ISP,In
System
Programing
主要是指代芯片的烧写方式,以往写片子需要把片子拿下来,离开电路,用
编程器烧,换句话说,芯片不能不脱离应用系统进行写入。
ISP
主要针对这个问题,使用JTAG或者串行口(MCU
内部有Boot
Loader,通过指定的方式激活之,它可以和PC或其它上位机通过串口联系,不用使单片机离开应用系统而更新内部的程序/设置)进行程序的烧写操作。
因此,具有ISP
功能的MCU
可以不使用编程器进行编程。当然,实现ISP
可能需要一些硬件电路支持,具体的在数据手册中有说明。
IAP,In
Application
Programing
单片机内部具有一些可擦写的非易失存储器,如Flash。在单片机独立运行时,不具备IAP
功能的单片机并不能对Flash的数据进行修改,比如,对自身的某一个模块的代码,数据进行修改。具备了IAP
功能的MCU
,能够通过使用各自公司开发的技术,对于自身进行修改。
简言之:ISP=>修改MCU
内部数据需要有外部介入;
IAP=>修改MCU
内部数据可以不用外部介入。
二者可以说是数据更新的一种实现机制。
一般具备ISP
功能后,就不要编程器了,而是使用下载线进行编程工作。但是不是说他们就一定不支持编程器了,具体型号具体分析。是否需要仿真器进行仿真和是否具备ISP和IAP没有必然的联系。只不过具备了IAP功能,可以在MCU内写入监控程序,模拟一个仿真器,当然,这个监控程序是要消耗资源的,和使用硬件的仿真器还有一定的差异
热心网友
时间:2023-08-16 01:09
IAP是建立在ISP上的烧写方式,有点类似BOOTLOAD的烧写功能,LINUX必须有个BOOT。IAP就是一个引导程序建立的程序刷新技术。烧写后通过跳转到主程序中
ISP和IAP两种编程方式有何区别
ISP和IAP最大的不同是:由谁来触发。ISP有4种触发方式:1.由外部硬件电路:如VDD保持高电平,给RST连续3个脉冲;2.检测状态位:如ISPEN,为0时PC指针从0000H开始执行;为1时,通过“引导向量”计算出“ISP代码”的位置。每次复位后都会检测该状态位;3.中止控制符信号触发芯片复位:中止控制符信号...
IAP的与ISP区别
ISP一般是通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机...
ISP,IAP在单片机中是什么意思
ISP是指在系统编程,相比于过去编程需将单片机芯片从电路板上取下来,放在编程器上编程 而ISP可以利用编程接口直接在电路板上烧写程序 IAP更进一步,可以在运行中编程,这样只要设置好通讯接口,可以远程控制下载程序并运行 ISP需人工复位并选择是下载,还是运行原来的程序,因此不能够远程控制下载 ...
单片机ISP,IAP和ICP几种烧录方式的区别
ISP(In System Programing),在系统(线)编程,通过串口将程序下载到单片机,单片机必须在非工作状态下下载程序将覆盖单片机以前的程序。IAP(In applicating Programing),在应用编程,通过串口或其他方式将程序下载到单片机,单片机可以在运行过程中下载程序。ICP(In Circuit Programing),在电路编程,是L...
单片机ISP,IAP和ICP几种烧录方式的区别
ISP:in system programming, 在系统编程 IAP:in applicatin programming 在应用编程 ICP:与 ISP 雷同。区别在于,编程时,单片机是否在运行用户程序。
单片机ISP,IAP什么意思
ISP是在系统编程,即可以在应用板或目标板上编程或更新,而过去的编程器编程,需先将单片机写好程序,再焊在电路板上,想修改程序,还要拿下来 IAP是应用过程中编程,更进了一步,可以在程序运行中更新程序并运行,能够实现远程更新,就好象我们的台式电脑,操作系统运行起来后,再安装应用程序并运行 ...
如题,什么是内置IAP
IAP简介IAP是应用在Flash程序存储器的一种编程模式。可以在应用程序控制下,对程序存储空间进行读取、擦除、写入操作。与ISP操作非常相似,不需要从电路板上取下芯片用编程器烧写,都具有在线编程功能。两者之间的不同点是:ISP通常是整片擦除、编程,在手工操作下通过PC串口下载程序到Flash,而IAP却是在...
单片机ISP,IAP和ICP几种烧录方式的区别
ISP是在系统编程,器件可以已经焊在电路板上,但留下编程接口,等出厂时烧写程序 IAP是在应用中编程,程序已经跑起来了,但留下远程接口,如果有程序更新,可以进行烧写,并运行新的程序,比ISP更进一步
STC单片机的IAP功能和ISP功能有什么区别与联系?为什么IAP功能同EEPR...
IAP(In-Application programmable)是在应用可编程:指的是可以通过单片机自身的程序修改单片机该程序区的内容;EEPROM功能是:在程序区1中的程序可以修改程序区2中的内容;通常程序区2中的内容不可以执行,只能当数据使用,功能相当于EEPROM;区别:ISP:从PC机修改单片机程序区的内容(即烧录)IAP:单片机...
IAP单片机跟ISP单片机在使用上到底有什么区别
ISP是在系统升级,一般来说只能做到重新上电后在一个单独的ISP运行过程中完成升级。IAP是在应用升级,要求更高一点,能够做到在应用程序运行的过程中完成升级。当然有很多支持IAP的单片机在实际使用中只需要做到ISP也就足够满足使用要求了……