針對閃存系統(tǒng)對在應(yīng)用中編程(in-application programming,IAP)的強烈需求,介紹基于 STM32 平臺的IAP 設(shè)計原理以及實現(xiàn)方法。分析 IAP 設(shè)計的重要性,以 STM32F103RC 為例,介紹 IAP 程序中的 FLASH 規(guī)劃、用戶程序條件,IAP 實現(xiàn)原理以及在產(chǎn)品中應(yīng)用 IAP 詳細(xì)設(shè)計的實現(xiàn)過程。結(jié)果表明:IAP 應(yīng)用在產(chǎn)品項目中的成功實現(xiàn),能使現(xiàn)場產(chǎn)品固件的更新更為便捷,可進行大面積推廣使用。
在應(yīng)用中編程(in-application programming,IAP)是用戶自己的程序在運行過程中對 User Flash的部分區(qū)域進行燒寫,可在產(chǎn)品發(fā)布后方便地通過預(yù)留的通信口對產(chǎn)品中的固件程序進行更新升級。通訊接口可以是 SPI、I2C、UART、USB、CAN 和以太網(wǎng)等。隨著用戶對產(chǎn)品現(xiàn)場適應(yīng)能力的要求越來越高,大部分基于閃存的系統(tǒng)對于 IAP 的需求也越來越強。筆者以 STM32F103RC 為例,介紹了 IAP在產(chǎn)品中應(yīng)用的詳細(xì)設(shè)計和實現(xiàn)過程。