关于IAP的一点深入理解
以前对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了。。。
文章来源: recclay.blog.csdn.net,作者:ReCclay,版权归原作者所有,如需转载,请联系作者。
原文链接:recclay.blog.csdn.net/article/details/79204422
- 点赞
- 收藏
- 关注作者
评论(0)