1.概述:
前面一篇文章介绍了我们常用的ISP和ICP编程,除了这两种编程方式最为常见的还有一种叫IAP。下面聊一聊IAP的一些细节:
IAP:In applicating Programing,翻译过来就是在应用编程,即我们常说的在程序运行过程中进行编程或者升级程序。
一般来讲IAP升级的通信口有许多,比如我们常见的UART串口,SPI口包括我们的以太网口等都可以作为IAP升级传输数据的接口。
2.BOOtLoader:
BootLoader可以理解成是引导程序,它的作用就是用来启动正式的APP应用程序。
我们知道我们下载的程序都是放在Flash中的,而且我们在下载程序的时候会对芯片的不同区域进行擦除;对于芯片一般会开辟一个BootLoader区域,同时也会开辟一个APP区域用来存放应用程序。
3.升级原理:
我们在写升级程序的时候和我们的产品软件程序是不一样的,当我们使用上位机下载的时候会先把BootLoader下载进去,当然为了保密以及安全性的问题每个公司基本都会有自己的BootLoader协议。
下载完成BootLoader后就会继续下载我们所要升级的程序,然后芯片新下载的BootLoader引导执行我们新下载的产品程序,这样就可以将程序进行升级。当然通过当前的一些网络技术帮助就可以实现我们常见的OTA(远程在线)下载。
4.总结:
本篇和上篇文章主要介绍了IAP编程和ISP编程。ISP的优势在于不需要下载器就可以进行程序的开发和下载,IAP的优势是下载更加的灵活,也可以用于远程下载和维护。各有各的优缺点,在应用中根据需求选择。本期文章到此结束,我们下期再见。
如果本文帮助到了你,请转发,点赞,分享给你的朋友。由于作者能力和水平有限,文中难免存在错误和纰漏,请不吝赐教。