亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于IAP和USB技術的嵌入式系統(tǒng)應用程序升級新方法

        2012-12-31 00:00:00張秀國
        計算機光盤軟件與應用 2012年22期

        摘要:對于內含IAP功能的嵌入式微控制器提出基于IAP和USB技術的系統(tǒng)應用程序升級的新方法。U盤被用作程序代碼的存儲設備,將微控制器的存儲器Flash和SRAM進行有效的區(qū)間分配,經外部擴展接口USB,微控制器將U盤里面的代碼讀入SRAM里的相應區(qū)間,再通過微控制器IAP功能把SRAM代碼寫入相對應的Flash分區(qū)里,實現嵌入式系統(tǒng)應用程序在線升級。該方案受環(huán)境的影響非常小,嵌入式系統(tǒng)采取這種方法,應用程序的在線升級變的非常簡單。本文給出了這種方法詳細的程序流程圖以及實現技術。

        關鍵詞:IAP功能;USB技術;嵌入式系統(tǒng);在線升級

        中圖分類號:TP311.11 文獻標識碼:A 文章編號:1007-9599 (2012) 22-0000-03

        1 IAP、USB技術及嵌入式系統(tǒng)的含義

        IAP(In Application Programming)是指在應用編程。就是在程序運行過程中的編程,片子提供一系列機制(軟件或硬件上的)當片子運行時候可以提供改變flash里面的數據的方法。簡單點講,就是程序本身可向程序的存儲器里修改程序或者寫數據。典型使用這種方式的應用就是通過一小段的代碼實現程序下載,單片機里ISP功能就是IAP技術實現的,就是片子在出廠之前就有一段boot程序存在里面,當片子上電之后,這段程序就開始運行,一經檢測到上位機上面有下載的要求就和上位機發(fā)生通信,接著就下載數據到達存儲區(qū)。

        USB(通用串行總線)是英文Universal Serial BUS的縮寫,中文簡稱是“通串線,是一個外部總線的標準,用來規(guī)范外部設備和電腦的通訊及連接。是個接口技術主要應用在PC領域,USB的接口支持設備熱插拔及即插即用的功能。

        嵌入式操作系統(tǒng)(Embedded Operating System,簡稱:EOS),即用在嵌入式系統(tǒng)里的操作系統(tǒng)。它是一個有著廣泛用途的系統(tǒng)軟件,一般包括和硬件有關聯的系統(tǒng)內核、底層驅動軟件、通信協(xié)議、標準化的瀏覽器等。此系統(tǒng)負責嵌入式系統(tǒng)里所有的軟硬件資源分配、任務的調度,協(xié)調、控制并發(fā)的活動。它必須通過模塊的裝卸達到系統(tǒng)所需的功能。

        2 基于USB和IAP嵌入式升級方法

        IAP可經通信的接口對PC機傳送代碼進行接收,然后通過IAP功能把代碼寫入對應存儲器里,對嵌入式的應用程序實現在線升級。USB是廣泛應用在生活里的在線接口,用U盤作傳輸媒介把PC機編譯的嵌入式的應用程序的代碼寫入U盤里,嵌入式的控制器經U盤的讀寫模塊把U盤數據讀入,應用IAP功能對程序實現升級,這個過程就實現了IAP及USB技術嵌入式的應用程序的在線升級方法。由于采用的是外部掛接的U盤作現場數據采集的海量存儲應用,所以不需要增加任何的硬件,是一種低成本、高效、簡潔的嵌入式的在線升級方法。

        以下將依據IAP原理,對LPC2119-嵌入式的微控制器給出詳細新方法的實現程序及技術的流程,該技術已經在臭氧發(fā)生器嵌入式的控制程序里得到廣泛的應用及驗證。具有便捷、成本低、可靠、簡單等特點。

        2.1 在線升級系統(tǒng)的結構

        現場數據采集及嵌入式的應用程序傳輸媒介選用的是U盤,由于LPC2119無USB接口,所以采用的是外部擴展的USB通信的接口,即USB的讀寫模塊將U盤里面的數據進行讀寫,模塊的配置是SPI接口模式和LPC2119進行連接,這個模塊往微控制器里供應讀寫U盤的文件數據接口,它在微控制器里占用的內存空間很少。U盤的讀寫支持字體模式、扇區(qū)模式及數據流模式,可選用U盤的讀寫模式進行模塊配置。

        2.2 IAP的功能實現調用過程

        IAP的功能是通過編寫相對應的功能函授,調用Boot Block 內IAP的服務程序來實現的,功能函授將不同的參數及命令碼傳遞給IAP的服務程序,可把不同的IAP命令進行實現。命令碼是50-56,相應的對應七個命令:為寫操作準備扇區(qū)、拷貝RAM中的數據到Flash、擦除掉扇區(qū)、查空的扇區(qū)、讀器件的ID、讀引導程序的版本號以及數據校對。

        寄存器及命令碼經寄存器RO向若干個連續(xù)的字RAM進行傳遞,結果及狀態(tài)碼在IAP執(zhí)行之后經R1指向下的若干個連續(xù)字RAM進行返回。因此,定義數組unsigned int result[ ]及un-signed int command[ ]分別用在結果返回及參數傳遞。result數組里的元素最多是兩個,command數組里面的元素最多是五個,數組里元素的個數應該根據可能會用到的元素個數的最大數確定。

        3 U盤數據的讀寫函數及協(xié)議

        通過SPI的接口可實現U盤的讀寫模塊與LPC2119通信,SPI在模式0或者模式3工作,U盤的讀寫模塊和LPC2119之間能實現各種參數及命令的傳遞是通過字節(jié)數據直接的交互來實現的,對U盤讀寫模塊可相應的完成各種操作。U盤的讀寫函數是ReadUdisk(),WriteUdisk();傳遞特定參數給讀寫函數,對U盤里指定地址指定文件以指定的模式實現讀寫。在此應用過程中,U盤文件里的數據應該采用“字節(jié)模式對少數數據進行讀寫,扇形模式對大量數據進行讀寫”這個原則。

        4 應用程序的在線升級實現過程

        4.1 運行流程:

        如圖2所示是LPC2119運行流程圖,它分四個步驟進行:(1)上電進行復位之后執(zhí)行Boot Block引導程序,將微控制器進行初始化;(2)判斷進入ISP的功能與否,若沒有,就要執(zhí)行Flash里的OxO地址應用程序;(3)在應用程序相關初始化開始之后,開始調用Refresh()這個函數,查詢出U盤是否存在其中或者是否需要對應用程序進行升級;(4)依據查詢的結果,對應用程序執(zhí)行升級或者將Reflesh()應用程序予以退出。

        LPC2119進行復位之后,僅有一次對Reflesh()進行調用的過程,所以若想實現升級就需要調用這個函數之前插進去U盤,這種類型的設計滿足了控制系統(tǒng)在運行的過程里不允許應用程序進行升級操作要求。

        4.2 存儲空間配置:

        LPC2119 Flash 里存有五種屬性程序:U盤的讀寫函數、應用程序、IAP的功能函數、引導函數、Refresh()函數。Refresh()函數、U盤的讀寫函數以及IAP的功能函數組成了升級函數,升級的過程不能將其改變,必須固定在存放區(qū)確定的位置處,應用程序是指被升級的對象,引導函數指出廠時固化的程序。通過以上分析可以看出,其RAM空間及內置Flash合理配置是IAP升級能否實現的關鍵。

        依據程序的屬性及LPC2119運行的流程,可把內置Flash分三個區(qū):(1)0-13#扇區(qū)是應用程序區(qū),可在線升級的應用程序被放于其中;(2)14#扇區(qū)是升級程序區(qū),Refresh()函數、U盤的讀寫函數以及IAP的功能函數放置其中,對應用程序進行更新升級;(4)15#扇區(qū)為Boot Block。相對應的把RAM分成四個區(qū):應用程序的使用區(qū)、U盤的數據緩沖區(qū)、升級程序的使用區(qū)、IAP的使用區(qū)。如圖3所示是存儲空間的配置圖。

        4.3在線升級實現過程

        在線升級實現過程如圖4所示,用戶需要對控制器進行復位,因為升級執(zhí)行之后就不能再退出。由于采用的是絕對的地址對調用函數Refresh()函數進行訪問,所以在修改或者升級應用程序的時候,對這個調用的方法或者地址值是不能進行改動的。

        由于在升級的過程中應用程序代碼會隨著改變,所以在升級應用程序的時候,不能夠調用應用程序區(qū)函數,可用絕對地址的應用程序訪問方式對升級程序區(qū)函數進行調用,但是在修改該應用程序區(qū)的時候要一直保持這個調用方法及地址值。

        5 升級過程中防意外出現的設計

        升級過程,難免會出現數據的傳輸錯誤、掉電、數據的來源出現中斷等各式各樣的意外導致升級可能失敗,所以要設計出一套合理的方法保護升級過程順利進行。

        對于斷點這種情況,可設置BOOT的引導區(qū)來確保系統(tǒng)來電之后可以繼續(xù)進行升級程序過程完成升級。中斷的向量表里存放著32字節(jié)數據,向量表進行中斷之后,存放的就成為啟動代碼,程序的設計就與啟動代碼里完成RAM各種配置。在BOOT區(qū)用戶代碼引導以前檢查出上一次的升級過程是否順利的完成以及對升級的命令進行檢查;對于數據的傳輸錯誤以及數據的來源出現中斷這些現象,可通過CRC對傳輸的數據進行校驗,把512字節(jié)作為單位對數據包進行記錄,將正確的被接收的數據包存放在Flash里,丟失或者錯誤的數據包可要求進行重新傳送,這樣就大大的降低了數據升級過程中的危險,最大限度的保證升級過程的順利實現。

        6 結語

        此文提出了基于USB和IAP嵌入式的應用程序的在線升級方法,經U盤的讀寫模塊把U盤里應用程序代碼進行讀入微控制器RAM里,調用IAP的功能函數把代碼寫進微控制器Flash內,將應用程序的在線升級過程予以實現。這樣就省去了拆卸控制板或者到現場帶著專用的編程器這些繁瑣的過程,通信網絡也不需要使用,受環(huán)境的影響很小,成本很低。這個方法已經被應用在某些試驗中并已經成功,這個方法便捷、可靠且簡單,值得大大的推廣及應用。

        參考文獻:

        [1]孟志強,朱良焱,石瑜.基于IAP和USB技術的嵌入式程序升級方法[J].湖南大學學報(自然科學版),2009,36(6).

        [2]陳家義.基于IAP功能的USB方式軟件更新方案[J].自動化與信息工程,2009,30(4).

        [3]王靜,盛雯雯,王宗琛.IAP在C8051F340微控制器上的實現[J].煤炭技術,2011,30(10).

        [4]王黨利,寧生科,馬保吉.基于STM32F10X引導程序實現USB在應用中編程[J].國外電子測量技術,2010,29(11).

        97激情在线视频五月天视频| 亚洲精品国产v片在线观看| 久久久国产精品樱花网站| 亚洲一区二区女优av| 国产一区二区三区色哟哟| 国产国产裸模裸模私拍视频| 99久久国语露脸精品国产| 亚洲成AV人久久| 熟女人妻一区二区三区| 亚洲av无码乱码在线观看性色| 亚洲欧美日韩综合久久| 日韩欧美人妻一区二区三区| 在线免费日韩| 青青草视频在线你懂的| 日本啪啪视频一区二区| 丁香花五月六月综合激情| 手机看片久久国产免费| 日韩中文网| 麻豆国产成人AV网| 综合亚洲二区三区四区在线 | 国产精品爽黄69天堂a| 亚洲AV永久青草无码性色av| 人妻系列少妇极品熟妇| 五月色丁香婷婷网蜜臀av| 精品久久久久久久久久中文字幕| 亚洲是图一区二区视频| 亚洲av本道一本二本三区 | 欧美一区二区三区红桃小说| 国产精品美女久久久久久大全| 国产精品亚洲最新地址| 亚洲午夜av久久久精品影院色戒| 日本老熟欧美老熟妇| 久久国产精品岛国搬运工| 日韩精品一区二区三区av| 精品人妻av一区二区三区麻豆| 国产精品人妻一码二码| 亚洲av日韩av永久无码色欲| 久久精品国产亚洲AV高清y w| 亚洲精品一区二区高清| 2018国产精华国产精品| 亚洲偷自拍另类图片二区|