吴忠躺衫网络科技有限公司

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

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

3天內不再提示

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

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

IAP是什么

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

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

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

IAP的應用場所

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

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

IAP編程的流程

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

bootloader區,主要實現接收程序文件,并將該程序寫于特定位置的Flash區域。而這里接收外部程序文件,就需要實時和外部通信了。STM32單片機與外部通信大多是通過自身的串口接收和發送數據,不過STM32單片機的串口可以外接多種通訊接口。

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

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

根據運行流程,我們可以總結出簡單幾條bootloader設計過程中需要注意的地方:

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

標志位不受復位的影響。

Bootloader中盡量不使用中斷。

編輯:jq

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

    關注

    88

    文章

    3637

    瀏覽量

    93989
  • IAP
    IAP
    +關注

    關注

    2

    文章

    164

    瀏覽量

    24393
  • 單片機程序
    +關注

    關注

    1

    文章

    12

    瀏覽量

    9592

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

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

收藏 人收藏

    評論

    相關推薦

    STM32代碼遠程升級之IAP編程

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

    Bootloader UART IAP流程是怎樣的

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

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

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

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

    IAP是什么?IAP升級流程是怎樣的?IAP應用編程有哪些實例啊?
    發表于 12-14 06:53

    IAP在應用中編程及其應用

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

    ISP和IAP的區別詳解

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

    STM32的IAP技術入門提高

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

    IAP編程模式介紹

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

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

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

    STM32在應用編程IAP)使用USART

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

    STM32 IAP 應用編程幾個要點

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

    MCU之IAP升級

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

    AN0001 AT32 IAP 使用 USART

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

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

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

    常用的幾種IAP升級技術方案是哪些

    關于 IAP 技術,做過 bootloader 的想必很熟悉(IAP全稱 In Application Programming,即應用編程),和 ISP(全稱 In System
    的頭像 發表于 02-15 15:42 ?1629次閱讀
    常用的幾種<b class='flag-5'>IAP</b>升級技術方案是哪些
    百家乐网上赌有作假吗| 百家乐一拖三| 百家乐棋牌游戏皇冠网| 百家乐视频下载地址| 阴宅24向| 百家乐任你博娱乐平台| 威尼斯人娱乐平台| e世博资讯网| 百家乐官网什么牌最大| A8百家乐官网娱乐平台| 百家乐真人娱乐注册| 香港百家乐赌场娱乐网规则| 德州扑克冠军| 稷山县| 骰子百家乐官网的玩法技巧和规则| 百家乐打大必赢之法| 利都百家乐官网国际娱乐| 澳门百家乐海星王娱乐城| 太阳城小区| 百家乐官网d博彩论坛| 太阳百家乐官网管理网| 澳门百家乐赌技巧| 大发888注册账号| 百家乐官网对子计算方法| 缅甸百家乐论坛| 大发888娱乐城娱乐城| 大发888官网免费58| 凯旋门百家乐官网娱乐城| 百家乐有多少网址| 大发888 无法进入网页| ez百家乐官网技巧| 上市百家乐.评论| 博威娱乐在线| 马尼拉百家乐官网的玩法技巧和规则 | 百家乐官网伴侣| 韩国百家乐的玩法技巧和规则| 足球百家乐系统| 房山区| 百家乐线上游戏| 大发888最新网站| 百家乐官网开户最快的平台是哪家 |