AP(In Appplication Program),即在应用中可编程。
顾名思义,就是在系统运行的过程中动态编程,这种编程是对程序执行代码的动态修改,而且毋须借助于任何外部力量,也毋须进行任何机械操作。这一点有别于isp。
一般来说,isp在进行加载程序以前,需要设置某些功能引脚,迫使IC转入自举状态。而IAP则不需要作硬件上的任何动作,只要有合法的数据来源。数据源既可以是内部程序运行的结果,也可以来自UART,I/O口或者总线。
换个角度来来说,IAP不仅提供现场或者远程软件修改升级,也可以把它理解成idate,pdate或者xdate,替代I2C之类的外部E2PROM,存储并加密数据。
细说ISP 和IAP 的区别
ISP:in system programming,
IAP: in applicatin programming
但两者的操作方式,结果和应用场合有什么区别
ISP:
用写入器将code 烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时
候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统;
IAP:
在应用编程,有芯片本身(或通过外围的芯片)可以通过一系列操作将code 写入,比
如一款支持Iap 的单片机,内分3 个程序区,1 作引导程序区,2 作运行程序区,3 作
下载区,芯片通过串口接收到下载命令,进入引导区运行引导程序,在引导程序下将
new code 内容下载到下载区,下载完毕并校验通过后再将下载区内容复制到2 区,
运行复位程序,则Iap 完成;
应用场合:
1,ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了;
2,IAP 如果有网管系统的话,用网管下载一切搞定,人不用跑来跑去,
这可能是他们的优点或应用吧
典型IAP:IC 卡电话机
内含V.xx MODEM 芯片,MCU 自带引导区,可远程下载更新程序。
========================================================
在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP 一
般是通过单片机专用的串行编程接口对单片机内部的Flash 存储器进行编程,而
IAP 技术是从结构上将Flash 存储器映射为两个存储体,当运行一个存储体上的用
户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。
ISP 的实现一般需要很少的外部电路辅助实现,而IAP 的实现更加灵活,通常可利
用单片机的串行口接到计算机的RS232 口,通过专门设计的固件程序来编程内部存
储器。 |