• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    IAP是什么

    作者:蔣雅嫻 時間:2015-04-30 來源:電子產品世界 收藏

      導讀:本文主要講述的是是什么,不懂得童鞋們快來學習一下吧,很漲姿勢的哦~~~

    本文引用地址:http://www.czjhyjcfj.com/article/273451.htm

    1.是什么--簡介

      是In Application Programming的首字母縮寫,IAP是用戶自己的程序在運行過程中對User Flash的部分區域進行燒寫,目的是為了在產品發布后可以方便地通過預留的通信口對產品中的固件程序進行更新升級。

    2.--功能

      在應用編程IAP(In-Application Programming)是應用在Flash程序存儲器的一種編程模式。它可以在應用程序正常運行的情況下,通過調用特定的IAP程序對另外一段程序Flash空間進行讀/寫操作,甚至可以控制對某段、某頁甚至某個字節的讀/寫操作,這為數據存儲和固件的現場升級帶來了更大的靈活性。

    3.--實現方法

      通常在用戶需要實現IAP功能時,即用戶程序運行中作自身的更新操作,需要在設計固件程序時編寫兩個項目代碼,這兩部分項目代碼都同時燒錄在User Flash中,當芯片上電后,首先是第一個項目代碼開始運行,它作如下操作:

      1)檢查是否需要對第二部分代碼進行更新

      2)如果不需要更新則轉到4)

      3)執行更新操作

      4)跳轉到第二部分代碼執行

      第一部分代碼必須通過其它手段,如JTAG或ISP燒入;第二部分代碼可以使用第一部分代碼IAP功能燒入,也可以和第一部分代碼一道燒入,以后需要程序更新是再通過第一部分IAP代碼更新。

      在第二部分代碼開始執行時,首先需要把CPU的中斷向量表映像到自己的向量表,然后再執行其他的操作。

      如果IAP程序被破壞,產品必須返廠才能重新燒寫程序,這是很麻煩并且非常耗費時間和金錢的。針對這樣的需求,STM32在對Flash區域實行讀保護的同時,自動地對用戶Flash區的開始4頁設置為寫保護,這樣可以有效地保證IAP程序區域不會被意外地破壞。

    4.--IAP與ISP的區別

      在線編程目前有兩種實現方法:在系統編程(ISP)和在應用編程(IAP)。ISP一般是通過單片機專用的串行編程接口對單片機內部的Flash存儲器進行編程,而IAP技術是從結構上將Flash存儲器映射為兩個存儲體,當運行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之后將控制從一個存儲體轉向另一個。ISP的實現一般需要很少的外部電路輔助實現,而IAP的實現更加靈活,通??衫脝纹瑱C的串行口接到計算機的RS232口,通過專門設計的固件程序來編程內部存儲器。

      拓展閱讀:

    基于IAP的STM32程序更新技術

    深入談談IAP升級

    基于LPC2378的IAP功能的配變監測終端遠程設計



    關鍵詞: IAP IAP是什么

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 额尔古纳市| 常州市| 大埔区| 乌拉特前旗| 沙洋县| 星座| 鞍山市| 深泽县| 成都市| 吉林市| 灌南县| 苏尼特右旗| 保定市| 合江县| 重庆市| 全州县| 齐齐哈尔市| 农安县| 景德镇市| 板桥市| 新和县| 汤原县| 抚宁县| 湾仔区| 涿鹿县| 石家庄市| 乐东| 柘荣县| 东城区| 且末县| 新闻| 原平市| 宜黄县| 霍林郭勒市| 金沙县| 萝北县| 英德市| 稷山县| 新源县| 大丰市| 江都市|