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,計算機應用與軟件

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

主站蜘蛛池模板: 亚洲成aⅴ人在线观看| 不卡的在线视频免费观看| 麻豆精选在线| 黄色成年视频| 欧美成人h精品网站| 99热这里只有成人精品国产| 99精品热视频这里只有精品7 | 久久国产亚洲偷自| 午夜视频在线观看免费网站 | 国产精品久久久久久久伊一| 亚洲天堂精品视频| 国产av一码二码三码无码| 精品国产香蕉伊思人在线| 欧美不卡在线视频| 午夜无码一区二区三区在线app| 2020亚洲精品无码| 精品久久蜜桃| 最新亚洲人成无码网站欣赏网| 99久久性生片| 亚洲人成色在线观看| 精品人妻一区无码视频| 亚洲中文字幕在线一区播放| 亚洲黄色网站视频| 亚洲天堂福利视频| 亚洲AV成人一区国产精品| 中文无码精品a∨在线观看| 久青草免费视频| 在线日本国产成人免费的| 亚洲天堂.com| 狂欢视频在线观看不卡| 67194成是人免费无码| 欧美全免费aaaaaa特黄在线| 成AV人片一区二区三区久久| www.亚洲国产| 天堂网国产| 国产极品嫩模在线观看91| 超级碰免费视频91| 免费人成网站在线观看欧美| 老司国产精品视频91| 国产成人综合亚洲网址| 婷婷亚洲综合五月天在线| 久久视精品| 色悠久久久| 国产精品美乳| 国产在线啪| 天天摸夜夜操| 香蕉eeww99国产在线观看| 免费啪啪网址| www精品久久| 91精品久久久无码中文字幕vr| 手机看片1024久久精品你懂的| 色悠久久久久久久综合网伊人| 国产精品久线在线观看| 制服丝袜 91视频| 久久这里只有精品66| 色噜噜在线观看| 国产午夜不卡| 精品视频在线一区| 欧美精品1区| 露脸国产精品自产在线播| 国产一二三区在线| 国产精品微拍| 67194亚洲无码| 亚洲黄色片免费看| 久久成人免费| 欧美性色综合网| 高清不卡毛片| 亚洲精品无码久久毛片波多野吉| 久一在线视频| 波多野结衣一级毛片| 97无码免费人妻超级碰碰碰| 国产伦精品一区二区三区视频优播 | 亚洲浓毛av| 国产精品嫩草影院av| h网站在线播放| 日韩在线观看网站| 玖玖精品视频在线观看| 啪啪免费视频一区二区| 久久五月视频| 国产欧美亚洲精品第3页在线| 无码免费视频| 久草青青在线视频|