版权声明:本文为博主原创文章,未经博主允许不得转载。联系邮箱:540655355@qq.com
ISP与IAP的概念及ISP的使用
最近本人在学习ARM7的远程升级,在这里将自己的学习过程与大家分享,有错误的地方还请大家指出便于改正!
ISP(In-System Programming)即“在系统可编程”,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。
IAP(In-Application Programming) 即MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。ISP和IAP技术是未来仪器仪表的发展方向。
ISP和IAP的工作原理
ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。
IAP的实现相对要复杂一些,在实现IAP功能时, 单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为APP(应用程序)区。单片机上电运行在BOOT区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作且程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了IAP功能,如果条件不满足则再次执行BOOT区的程序,保证可以进行再次的IAP。
通常在程序设计时有两种思路,见下图