/********************************************************************************* * STM32 IAP docs * 说明: * STM32在线写入程序,目前没有去实践。 * * 2017-12-29 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一、参考文档: 1. STM32Cube in-application programming using the USART embedded software (AN4657) http://www.st.com/zh/embedded-software/x-cube-iap-usart.html 2. STM32 in-application programming (IAP) using the USART www.st.com/resource/en/application_note/dm00161366.pdf 3. STM32F10x in-application programming using the USART www.st.com/resource/en/application_note/cd00161640.pdf
4. STM32 MCU IAP 例程跳转到 APP 代码简要分 析
http://stm32.eefocus.com/data/st/96/06/5f/1401869649649310.pdf 二、从Linux系统理解IAP: 1. JTAG、JLink、ST-Link下载可以认为是使用内部ROM程序直接写入正片Flash程序; 2. IAP写入程序,相当于多了一个U-Boot程序(BootLoader),负责对真正程序的写入; 3. IAP本身具有一定功能,所以写入程序可以是I2C、UART、网络等等,只要能够完成数据通信,就能将程序写入,和U-Boot属于类似功能,不过受限于Flash的大小,IAP的程序空间不一定足够大,另外就是一般在嵌入式开发中只需要一种写入应用程序的方式就可以了,所以IAP不一定需要支持所有的接口方式写入; 4. U-Boot主要功能是加载内核(也包括直接写入程序),IAP的主要功能是重新写入应用程序; 5. IAP功能其实也论证了《STM32 Flash 永久用户数据空间》中的应用示例: http://www.cnblogs.com/zengjfgit/p/8143762.html