新聞中心

        IAP是什么

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

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

        本文引用地址:http://www.104case.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的實現更加靈活,通常可利用單片機的串行口接到計算機的RS232口,通過專門設計的固件程序來編程內部存儲器。

          拓展閱讀:

        基于IAP的STM32程序更新技術

        深入談談IAP升級

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



        關鍵詞: IAP IAP是什么

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桂东县| 舟曲县| 思南县| 全州县| 石河子市| 富蕴县| 东辽县| 馆陶县| 邢台县| 茂名市| 芜湖县| 昭苏县| 长丰县| 温泉县| 兰考县| 湘西| 临泉县| 商洛市| 绥棱县| 江川县| 沧源| 和平区| 常州市| 铅山县| 江安县| 会理县| 玉树县| 津南区| 临漳县| 昌图县| 平和县| 赣榆县| 昌江| 丘北县| 平江县| 资溪县| 安国市| 陇南市| 西平县| 东港市| 江油市|