针对闪存系统对在应用中编程(in-application programming,IAP)的强烈需求,介绍基于 STM32 平台的IAP 设计原理以及实现方法。分析 IAP 设计的重要性,以 STM32F103RC 为例,介绍 IAP 程序中的 FLASH 规划、用户程序条件,IAP 实现原理以及在产品中应用 IAP 详细设计的实现过程。结果表明:IAP 应用在产品项目中的成功实现,能使现场产品固件的更新更为便捷,可进行大面积推广使用。
在应用中编程(in-application programming,IAP)是用户自己的程序在运行过程中对 User Flash的部分区域进行烧写,可在产品发布后方便地通过预留的通信口对产品中的固件程序进行更新升级。通讯接口可以是 SPI、I2C、UART、USB、CAN 和以太网等。随着用户对产品现场适应能力的要求越来越高,大部分基于闪存的系统对于 IAP 的需求也越来越强。笔者以 STM32F103RC 为例,介绍了 IAP在产品中应用的详细设计和实现过程。