ISP(In System Programming)是在系统编程的简称,IAP(In Application Programming)是在应用编程的简称,那么两者的操作方式、结果和应用场合有什么区别呢?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
操作方式的区别:ISP:用写入器将code烧入,不过,芯片可以在目标板上不用取出来,在设计目标板的时候就将接口设计在上面,所以叫"在系统编程",即不用脱离系统;IAP:在应用编程,芯片本身(或通过外围的芯片)可以通过一系列操作将code写入,比如一款支持IAP的单片机,内分3个程序区:一个作为引导程序区,一个作为运行程序区,一个作为下载区。芯片通过串口接收到下载命令,进入引导区运行引导程序,在引导程序下将new code内容下载到下载区,下载完毕并校验通过后再将下载区内容复制到运行程序区,运行复位程序,则Iap完成。
应用场合的区别:ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了;IAP 如果有网管系统的话,用网管下载一切搞定,人不用跑来跑去,这可能是其优点或应用吧。典型IAP:IC卡电话机内含V.xx MODEM芯片,MCU自带引导区,可远程下载更新程序。
在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般是通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器。
文章评论(0条评论)
登录后参与讨论