999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LPC1763的IAP在線升級方法

2018-06-17 10:48:10趙善國鄒啟紅王開明
科學與技術 2018年22期

趙善國 鄒啟紅 王開明

摘要:本文介紹了基于LPC1763的IAP在線升級方法,從IAP編程原理入手,通過外擴128K磁電存儲器(MRAM),將在線升級分為新程序接收和程序更新執(zhí)行兩個階段,著重介紹了IAP執(zhí)行過程。通過各階段的防誤碼設計,提高了IAP升級過程的可靠性。

關鍵詞:IAP;LPC1763;MRAM

引言

對于嵌入式產(chǎn)品,在應用編程(IAP)指在不影響產(chǎn)品正常運行的情況下實現(xiàn)應用程序的更新。許多ARM芯片都提供該操作接口,相對于在系統(tǒng)編程(ISP)方式,具有方便靈活且不需要借助專用Boot 裝載程序或工具的特點,而且在不影響嵌入式產(chǎn)品正常運行的情況下即可完成應用程序的動態(tài)升級。

本文以NXP公司LPC1763(ARM Cortex-M3內(nèi)核)微控制器為平臺,當在線升級時,首先將更新數(shù)據(jù)包暫存在外擴的128KB磁電存儲器(MRAM)中,再通過IAP服務程序?qū)⒏聰?shù)據(jù)包燒寫至片內(nèi)Flash區(qū),實現(xiàn)在線升級功能。

1.IAP編程原理

Boot裝載程序是ARM 芯片出廠時固化在內(nèi)部的一段代碼,它控制芯片復位后的初始化操作。支持IAP功能芯片的Boot裝載程序中包含了IAP代碼。LPC1700系列的Boot裝載程序在出廠時固化在地址0x1FFF 0000到0x1FFF 1FFF的8KB范圍內(nèi),這8KB稱為Boot Block。IAP代碼入口位于Boot Block中的0x1FFF 1FF0地址。當需要進行IAP時,Boot Block空間被重映射到芯片最低地址0x00000000處。

用戶調(diào)用IAP對片內(nèi)Flash操作的過程:首先是在用戶代碼中初始化IAP入口指針地址,然后通過調(diào)用Boot Block中的IAP代碼對片內(nèi)Flash進行擦除或?qū)懭氩僮鳌S捎贗AP 代碼位于Boot 區(qū)內(nèi),所以IAP 命令不允許對Boot扇區(qū)執(zhí)行寫/擦除操作。

復位后中斷向量被激活,跳轉到Boot Block 裝載程序的IAP入口。IAP 程序為Thumb代碼,位于地址0x1FFF 1FF0。

2.LPC1763 IAP在線升級方案

2.1系統(tǒng)結構

IAP在線升級系統(tǒng)除LPC1763外,還包含1片MR25H10磁電存儲器(MRAM)和1個RS232串口。MR25H10是Everspin公司推出的128KB串行MRAM,兼容串行EEPROM和串行Flash的讀/寫時序。它與LPC1763采用SPI總線方式通信,用以存儲程序更新標志和接收到的更新數(shù)據(jù)包。RS232串口用來與Zigbee無線模塊通信,接收上位機遠程下發(fā)的更新數(shù)據(jù)包。

2.2在線升級流程

在線升級過程大體可分為兩個階段:

第一階段為新程序接收階段,用戶程序接收到啟動更新命令幀,LPC1763通過串口依報文幀號,順序接收更新數(shù)據(jù)包,并將該更新數(shù)據(jù)同步存儲至外擴的128K MRAM區(qū),直至接收到結束更新命令包。當全部數(shù)據(jù)幀正確接收完成后,置程序更新標志,復位系統(tǒng)。

第二階段為程序更新執(zhí)行階段,系統(tǒng)復位后系統(tǒng)進入IAP服務程序入口,服務程序檢測程序更新標志是否有效,若有效則從MRAM取出相應更新數(shù)據(jù)包,通過IAP命令按扇區(qū)將其寫入片內(nèi)Flash區(qū)。當所有更新數(shù)據(jù)包燒寫完畢,清除程序更新標志,系統(tǒng)復位,程序指針從0x00000000地址執(zhí)行更新后的程序。

2.3系統(tǒng)存儲區(qū)分配及程序流程

為確保整個在線升級過程可靠,用戶程序?qū)⒔邮盏降母聰?shù)據(jù)包先暫存至外部128K MRAM的45.2KB空間,地址從0xE000開始。

IAP服務程序入口處于256K片內(nèi)Flash區(qū),用于當程序更新標志置位時,跳轉至IAP服務程序。通過編譯器將IAP服務程序配置于LPC1763 16KB AHB SRAM1區(qū),用于調(diào)用Boot Block中的IAP代碼對片內(nèi)FLASH 進行擦除或?qū)懭氲牟僮鳌?/p>

IAP執(zhí)行過程從新程序接收完成,系統(tǒng)復位開始。在執(zhí)行完系統(tǒng)硬件初始化和外擴MRAM初始化后,進入IAP服務程序入口。通過判斷程序更新標志后,讀取更新數(shù)據(jù)包總包數(shù),跳轉至SRAM區(qū)中的IAP服務程序,見圖1中編號1箭頭。

IAP服務程序初始化IAP程序函數(shù)指針I(yè)AP_Entry,調(diào)用Boot Block中的IAP程序執(zhí)行片內(nèi)Flash擦除和燒寫,見圖1中編號2箭頭。IAP指令大部分是以扇區(qū)為單位,LPC1763的0~15扇區(qū)為64KB,單個扇區(qū)規(guī)格為4KB,16~21扇區(qū)為192KB,單個扇區(qū)規(guī)格為32KB。用戶程序存放在0~11扇區(qū)48KB區(qū)域內(nèi),因此IAP執(zhí)行對0~11扇區(qū)的擦除指令。IAP指令中將RAM內(nèi)容復制到Flash指令要求Flash地址邊界為256B,特規(guī)定512B為Flash單次寫入字節(jié)數(shù)。SRAM1中分配512B用于暫存更新數(shù)據(jù)包,IAP服務程序一次從MRAM中讀取512B數(shù)據(jù)至該RAM區(qū),見圖1中編號3箭頭。IAP服務程序逐次將RAM中512B更新數(shù)據(jù)寫入至Flash 0~11扇區(qū),見圖1中編號4箭頭。待全部更新數(shù)據(jù)寫入Flash后,清除程序更新標志,系統(tǒng)復位,程序指針從0x00000000地址開始執(zhí)行新程序。

2.4防誤碼設計

由于數(shù)據(jù)傳輸錯誤將帶來系統(tǒng)癱瘓的風險,因此設計了如下升級防誤碼手段:

在新程序接收階段,發(fā)送方在發(fā)送單包的最后2位增加CRC16校驗位,LPC1763接收到該包數(shù)據(jù)后對除最后2位外的數(shù)據(jù)進行CRC16校驗,并與接收包中的校驗位進行比對,如一致則返回正確應答,將該包含校驗位存儲至MRAM中,從而保證通信數(shù)據(jù)的可靠性。

在程序更新執(zhí)行階段,LPC1763將更新包從MRAM讀取到SRAM過程中,同樣對數(shù)據(jù)進行CRC16校驗,也與MRAM中存儲的校驗位進行比對,確保讀取數(shù)據(jù)有效。

3.結論

本文在基于LPC1763微控制器的平臺上,提出了一種通過外擴MRAM方式實現(xiàn)IAP在線升級的解決方法,新程序接收及燒寫階段經(jīng)過防誤碼處理,確保了升級的可靠性,避免了由于程序失效,導致的系統(tǒng)無崩潰的風險。該方法在不影響產(chǎn)品正常運行情況下,實現(xiàn)了穩(wěn)定、可靠的在線升級方法。

參考文獻

[1]深入淺出Cortex-M3——LPC1700,周立功等,2010,廣州致遠電子有限公司

[2]基于ARM處理器的IAP設計及應用,許文杰,丁志剛,張泉,2009,3,計算機應用與軟件

(作者單位:貴州航天凱山石油儀器有限公司)

主站蜘蛛池模板: 伊人婷婷色香五月综合缴缴情| 欧美成人精品高清在线下载| 99精品视频九九精品| 国产一级α片| 成人午夜福利视频| 国产原创演绎剧情有字幕的| 精品少妇人妻无码久久| 亚洲国产在一区二区三区| 亚洲91精品视频| 国产亚洲精品91| 伊人久久久大香线蕉综合直播| 91麻豆精品国产高清在线| 亚洲水蜜桃久久综合网站| 亚洲欧洲日本在线| 欧美在线综合视频| 一级不卡毛片| 国产理论最新国产精品视频| 91精品啪在线观看国产91| 欧洲熟妇精品视频| 全部免费特黄特色大片视频| 国产永久在线视频| 国产人前露出系列视频| 乱系列中文字幕在线视频| 免费一级大毛片a一观看不卡| 国产精彩视频在线观看| 女人av社区男人的天堂| 美女被操黄色视频网站| 免费国产高清视频| 中文字幕在线观看日本| 99热这里只有精品5| 亚洲va在线∨a天堂va欧美va| 亚洲国产精品久久久久秋霞影院| 亚洲女同一区二区| 伦精品一区二区三区视频| 日韩毛片免费| 亚洲最大福利视频网| 毛片免费观看视频| 久久久久国色AV免费观看性色| 久久久久无码精品| 日韩免费无码人妻系列| av一区二区三区在线观看| 少妇精品网站| 2021最新国产精品网站| 国产激情第一页| 91久久偷偷做嫩草影院电| 中文字幕1区2区| 性色在线视频精品| 亚亚洲乱码一二三四区| 亚洲最黄视频| 97精品国产高清久久久久蜜芽| 国产精品专区第一页在线观看| 日韩精品一区二区三区免费在线观看| 狠狠色综合网| 天天干天天色综合网| 亚洲高清在线天堂精品| 2020亚洲精品无码| 色AV色 综合网站| 欧美一级在线播放| 日本五区在线不卡精品| 四虎精品黑人视频| 亚洲性一区| AV不卡国产在线观看| 无码久看视频| 国产精品美女网站| 极品国产一区二区三区| 婷婷六月综合网| 日韩毛片在线播放| 亚洲国产欧美自拍| 亚洲欧洲美色一区二区三区| 亚洲h视频在线| 毛片大全免费观看| 波多野结衣中文字幕久久| 亚洲高清中文字幕在线看不卡| 欧美日韩亚洲综合在线观看| 日韩国产一区二区三区无码| 国产香蕉国产精品偷在线观看| 国产亚洲精品yxsp| 欧美视频在线观看第一页| 日韩毛片视频| 国产中文一区二区苍井空| 九九香蕉视频| www.精品国产|