0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IAP編程的流程及IAP的應用場所

FPGA那點事兒 ? 來源:CSDN技術(shù)社區(qū) ? 作者:Tweedle Dee ? 2021-08-11 09:27 ? 次閱讀

IAP是什么

有時項目上需要遠程升級單片機程序,此時需要接觸到IAP編程。

IAP即為In Application Programming,解釋為在應用中編程,用戶自己的程序在運行過程中對User Flash的部分區(qū)域進行燒寫。即是一種對單片機Flash擦寫的一種編程方案。

通常情況下,一片STM32單片機的Flash只有一個用戶程序,而IAP編程則是將單片機的Flash分成至少兩大區(qū)域,一部分叫做bootloader區(qū),一部分叫做app用戶代碼區(qū),還可留出一部分區(qū)域為代碼備份區(qū)。

IAP的應用場所

通常情況下我們給STM32單片機燒錄更新程序時是通過SWD、J-link或者通過設(shè)置BOOT引腳后,使用串口進行程序下載,這樣的方式直接一次性將程序文件下載到單片機的Flash中,比較適合絕大部分的應用。

但是當產(chǎn)品投入實際應用時,封裝完成后在后期的使用過程中遇到某些程序上的bug或者是根據(jù)客戶需求需要增加一些功能的時候,使用傳統(tǒng)代碼燒錄的方法就可能需要拆除封裝,而使用IAP編程在bootloader區(qū)提前寫入與外部通信接口用于升級單片機代碼,使得我們不用對已完成包裝的產(chǎn)品進行拆除既可以更新代碼,這樣既節(jié)約了成本,也更加方便快捷。

IAP編程的流程

IAP編程將Flash區(qū)分成的兩個區(qū)域,bootloader區(qū)和app用戶代碼區(qū)具有截然不同的功能。

bootloader區(qū),主要實現(xiàn)接收程序文件,并將該程序?qū)懹谔囟ㄎ恢玫腇lash區(qū)域。而這里接收外部程序文件,就需要實時和外部通信了。STM32單片機與外部通信大多是通過自身的串口接收和發(fā)送數(shù)據(jù),不過STM32單片機的串口可以外接多種通訊接口。

例如422、485、GPRSESP8266等。即我們可以通過串口外接藍牙模塊、WiFi模塊或者是其他網(wǎng)絡模塊,就可以實現(xiàn)遠程的文件傳送更新單片機程序了。

app用戶代碼區(qū)則是主要實現(xiàn)我們所需要的功能操作,除此之外app用戶代碼區(qū)還需要實時檢查代碼運行情況,通過判斷更新程序的標志位來判斷是否需要升級程序。若是需要升級程序則進入bootloader區(qū)進行代碼更新;若不需要則繼續(xù)運行功能函數(shù)代碼即可。

根據(jù)運行流程,我們可以總結(jié)出簡單幾條bootloader設(shè)計過程中需要注意的地方:

精簡、程序盡可能精簡。在單片機Flash有限的情況下,bootloader代碼占用Flash的空間越小,則APP程序代碼就可占用更多,實現(xiàn)更多功能函數(shù)。

標志位不受復位的影響。

Bootloader中盡量不使用中斷。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3521

    瀏覽量

    93268
  • IAP
    IAP
    +關(guān)注

    關(guān)注

    2

    文章

    163

    瀏覽量

    24138
  • 單片機程序
    +關(guān)注

    關(guān)注

    1

    文章

    12

    瀏覽量

    9530

原文標題:STM32代碼遠程升級之IAP編程

文章出處:【微信號:gh_94c30763133f,微信公眾號:FPGA那點事兒】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32代碼遠程升級之IAP編程

    有時項目上需要遠程升級單片機程序,此時需要接觸到IAP編程
    發(fā)表于 11-17 10:51 ?3150次閱讀

    Bootloader UART IAP流程是怎樣的

    IAP是什么?Bootloader功能主要有哪些?Bootloader UART IAP流程是怎樣的?
    發(fā)表于 12-13 06:57

    IAP編程下的單片機運行流程是怎樣的

    IAP是什么?IAP有哪些應用?IAP編程下的單片機運行流程是怎樣的?
    發(fā)表于 12-14 06:52

    IAP是什么?IAP升級流程是怎樣的

    IAP是什么?IAP升級流程是怎樣的?IAP應用編程有哪些實例?。?/div>
    發(fā)表于 12-14 06:53

    IAP在應用中編程及其應用

    IAP——在應用中編程。即用戶的應用代碼可以在運行過程中,自行對Flash 存儲系統(tǒng)進行修改。IAP 程序是Thumb 代碼,位于地址0x7FFF FFF0。在ARM 系統(tǒng)中實現(xiàn)狀態(tài)轉(zhuǎn)換的指令是“BX Ad
    發(fā)表于 07-19 15:01 ?14次下載

    ISP和IAP的區(qū)別詳解

    本內(nèi)容詳細解釋了ISP和IAP的區(qū)別,但兩者的操作方式,結(jié)果和應用場合有什么區(qū)別
    發(fā)表于 02-02 15:14 ?1.4w次閱讀

    STM32的IAP技術(shù)入門提高

    言簡意賅介紹STM32在線編程IAP的技術(shù)原理,配合官方源碼,能迅速入門,并深入了解。通過該文檔,自己也能修改IAP程序,實現(xiàn)各種功能。
    發(fā)表于 01-12 10:49 ?5次下載

    IAP編程模式介紹

    IAP編程模式介紹,好東西,喜歡的朋友可以下載來學習。
    發(fā)表于 01-18 17:04 ?21次下載

    SST單片機IAP編程示例(C語言)

    SST 單片機IAP 編程示例(C 語言),好東西,喜歡的朋友可以下載來學習。
    發(fā)表于 01-18 17:04 ?16次下載

    STM32在應用編程IAP)使用USART

    當發(fā)生重置時,程序計數(shù)器被設(shè)置為執(zhí)行IAP驅(qū)動程序。應該是 檢查特定條件的緊湊代碼,例如鍵的組合是 按下。當滿足此條件時,IAP驅(qū)動代碼要么執(zhí)行一個分支。 更新用戶應用程序或直接(通常默認情況下
    發(fā)表于 09-12 16:19 ?8次下載

    STM32 IAP 應用編程幾個要點

    STM32 IAP應用編程幾個要點
    的頭像 發(fā)表于 03-08 11:42 ?9463次閱讀

    MCU之IAP升級

    IAP升級簡介IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程序在運行過程中對User Flash的部分區(qū)域進行燒寫,目的是在產(chǎn)品發(fā)布后可以方便地通過預留的通信口對產(chǎn)品中的固件程序進
    發(fā)表于 10-25 13:06 ?18次下載
    MCU之<b class='flag-5'>IAP</b>升級

    AN0001 AT32 IAP 使用 USART

    前言對于AT32 MCU,除了出廠固化的bootloader,用戶也可以在應用程序中編寫自己的bootloader程序,用于最終產(chǎn)品的固件更新。此功能稱為應用程序內(nèi)編程IAP)。本應用筆記的目的
    發(fā)表于 01-14 12:52 ?4次下載
    AN0001 AT32 <b class='flag-5'>IAP</b> 使用 USART

    Megawin 8051 MCU的IAP(應用程序編程)示例代碼

    Megawin 8051 MCU的IAP(應用程序編程)示例代碼分享
    發(fā)表于 07-01 10:36 ?3次下載
    Megawin 8051 MCU的<b class='flag-5'>IAP</b>(應用程序<b class='flag-5'>編程</b>)示例代碼

    常用的幾種IAP升級技術(shù)方案是哪些

    關(guān)于 IAP 技術(shù),做過 bootloader 的想必很熟悉(IAP全稱 In Application Programming,即應用編程),和 ISP(全稱 In System
    的頭像 發(fā)表于 02-15 15:42 ?1326次閱讀
    常用的幾種<b class='flag-5'>IAP</b>升級技術(shù)方案是哪些