×
嵌入式 > 技术百科 > 详情

关于IAP的一点深入理解

发布时间:2020-06-16 发布时间:
|

以前对IAP的理解也是建立在朋友灌输的 – 有IAP就是有仿真功能 –这层理解上,也没想太多。


其实仔细看看官方的手册对比网上的解答发现似乎不仅仅是这样。


ISP(In-system programmable)是 在系统可编程:


指的是不需要把单片机从目标系统板上取下来就可以直接从PC往单片机里面烧录程序。 


关于ISP应该讲很熟悉了,学过STC的51单片机,它的烧录软件上赫然有着STC-ISP的字。 



IAP(In-Application programmable)是 在应用可编程:


1、指的是可以通过单片机自身的程序修改单片机该程序区的内容;


仔细想想,它说的难道不是在线升级的含义嘛!,,,其实还是感觉不实在,难道这个用得少异或自己见得少?


2、更想说的是,STC这里的狭义IAP指-用户可以将用户程序区的程序Flash当EEPROM使用。


读这句确实挺绕口也挺不好理解的,举个例子吧, 


比如使用IAP 61K的FLASH。 那么,如果你程序只用了1K 意味着至少你有60K的空间可以用于数据的存储。 数据的存储的地方不相当于EEPROM了吗?


结合上面和下面这段话一起理解下。 


如果把程序区Flash分成两段,1和2,那么则有: 


在程序区1中的程序可以修改程序区2中的内容; 


程序区2中的内容不可以执行,只能当数据使用,功能相当于EEPROM;


3、就是经常说的在线仿真了。


EEPROM功能是:


EEPROM 就是一个存东西的地方


区别:


ISP:从PC机修改单片机程序区的内容(即烧录) 


IAP:单片机自己修改自己程序区的内容 


EEPROM:单片机程序区1中的程序可以修改程序区2中的内容


再对比下手册的这个图 



EEPROM 一栏有IAP的表示可以把Flash剩余空间作为EEPROM 


没有IAP的,STC打头的单片机,就要单独的内部EEPROM了。。。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
家庭网络:从带宽共享走向内容共享