看图写话一家人在一起吃饭(一家人在看书看图写话)



看图写话一家人在一起吃饭(一家人在看书看图写话)

文章插图

我们在阅读芯片数据手册的过程中,这两个词语通常是捉对出现 。有ISP的地方就会有IAP的影子,反之亦然 。而中文“在系统编程”和“在应用编程”听起来也十分类似 。究竟两者之间又有怎样的关系,我们在正常的使用中又会怎样用到它们呢?
我们先来了解一下ISP,在系统编程是一种给单片机或微控制器写入程序的手段 。我们印象中给它们下载程序的方式是将芯片摘下来,安装在专门的烧录器或下载器上,连接在电脑上下载程序 。而ISP实际上提供了一种简单的下载方式 。如果你在设计电路的时候给下载时所需要的引脚留出连接下载器或Debugger的接口,那么在芯片已经安装进系统的电路板中之后,你就可以不把芯片拔下来,直接将下载器连接至整块电路板上,然后就可以直接下载了 。一般来说这对于不能够简单的拆下来烧写的系统有奇效 。有了这项技术,工程师们想要更新机器的软件再也不需要把机器“大卸八块”了 。


看图写话一家人在一起吃饭(一家人在看书看图写话)

文章插图

而IAP“在应用编程”则更进一步 。运行在单片机上的程序能够通过调用系统函数或预留的程序,改写自己所在的程序区 。从而实现连外加程序和硬件都不用,就能够更新程序的能力 。一般来说实现的原理为:在Flash中固化了可以调用的对剩余Flash部分进行擦写的函数 。用户程序通过调用即可对自己所在的程序区进行擦写 。这样更加简化了更新固件的过程,如果程序设计得好的话,工程师甚至可以“足不出户”,利用IAP功能就能够将最新的固件写入进Flash 。


看图写话一家人在一起吃饭(一家人在看书看图写话)

文章插图

那么它们两个之间有什么关系吗?
实际上,如果ISP通过单纯的串口或者数据总线烧入,那么实现这种功能的很有可能就是IAP功能 。因为这就像出去接人一样,如果我们现在有一个人想要到另外的一个城市的某一栋楼,火车只能把他送到那个城市,而具体想要到达某一个地点则需要城市内公交的指引 。同样,串口等接口只能把数据送到单片机,而真正的Flash烧写则要靠IAP的函数 。而有些ISP则是通过专用的接口,比如JTAG也可以做下载程序的接口,那么这个时候的原理则是通过外加的烧写器来引导数据的不同走向 。
两者如果都需要程序的话,那么一个很明显的区别就是ISP一般需要将全部程序全都擦除重写,而IAP程序则可以精确地擦写Flash 。我们平常也可以使用IAP功能来在没有使用的Flash空间里存储一些运行时需要记录下来的数据 。这也算是IAP的一个特色吧!
本文为 无线电杂志 微信公众平台原创文章 。详细内容及高清大图请查阅《无线电》杂志 。版权所有,欢迎个人转发至朋友圈 。公众号、报刊等转载请给本公众号后台留言获得授权 。
…………………………………………………
无线电杂志
微信号:radiomagazine
【看图写话一家人在一起吃饭(一家人在看书看图写话)】长按识别二维码关注我们