MCU雙鏡像機(jī)制如何使能?
一. 背 景
嵌入式設(shè)備升級過程中會由于斷電、強(qiáng)行中斷等外部因素,導(dǎo)致新固件寫入Flash時不能完整寫入,使系統(tǒng)啟動時出現(xiàn)問題?;蛟O(shè)備運行中,鏡像文件被意外損壞,導(dǎo)致系統(tǒng)癱瘓,設(shè)備無法運行。面對以上問題,可以使用雙鏡像機(jī)制(dual image),它保證至少有一個鏡像文件是可以啟動,并且在任何時候都能正常工作。如果發(fā)生意外,引導(dǎo)加載程序檢測并使用備用的鏡像文件。
二. 原 理
(資料圖片)
LPC5536 ROM支持內(nèi)部Flash的雙鏡像引導(dǎo)(也支持FlexSPI外部Flash,原理相同),即在Flash可以放置兩個引導(dǎo)鏡像,ROM根據(jù)鏡像文件版本號決定啟動哪個鏡像,首先啟動最新版本號的鏡像,如果失敗,則啟動舊鏡像文件。
通電啟動時,ROM首先檢測CMPA中關(guān)于重定位鏡像文件的位置和大小,然后檢測兩個鏡像的版本號,所以在使用雙鏡像機(jī)制時,主要對鏡像文件重定位和版本號進(jìn)行配置。
ROM從內(nèi)部Flash啟動雙鏡像文件流程圖如下:
2.1 鏡像文件重定位
LPC5536內(nèi)部Flash支持重映射,當(dāng)設(shè)置重映射偏移量后,F(xiàn)lash AHB 總線將訪問偏移后的地址。例如,當(dāng)偏移量設(shè)置為128K(0x20000),對0x0的訪問將被重新映射到地址0x20000。通過這個特性,ROM可以實現(xiàn)雙鏡像引導(dǎo)。下面是一個關(guān)于內(nèi)部Flash存放兩個鏡像文件的簡圖。
第二個鏡像的偏移量和重映射大小由用戶在CMPA區(qū)域設(shè)置,讓ROM知道第二個鏡像的位置。
2.2 配置鏡像的版本
在頭文件偏移量為0x24處設(shè)置鏡像版本號,如下表格所示,第16位-31位設(shè)置鏡像文件版本號,第10位表示鏡像文件是否存在版本號,使用雙鏡像機(jī)制時,此位設(shè)置為1.
三. 應(yīng) 用
3.1 配置CMPA
配置CMPA中數(shù)據(jù)值修改cmpa.bin文件,通過blhost把修改后的bin文件寫入CMPA,以配置image1偏移量和重映射大小,流程如下:
a. 打開一個全0的cmpa.bin,修改0x3E23C處數(shù)據(jù)為0x20000,高位在右低位在左,如下:
b. 修改重映射大小。地址0x3E238處修改為0x1d800,如下:
c. 保存并重命名為cmpa_new.bin,另存為\blhost_2.6.7\blhost_2.6.7\bin\win
3.2 燒寫cmpa_new.bin
借助blhsot 工具燒寫,blhost 2.6.7是一個命令行調(diào)試工具,界面如下:
測試blhost與開發(fā)板通信是否正常:
首先,從設(shè)備管理器查看開發(fā)板與電腦連接端口號
其次,開發(fā)板J43上使用跳線帽連接3和4,使能ISP啟動;
然后,按下復(fù)位鍵,輸入連接測試命令blhost -p com12 -- get-property 1
判斷是否正常通信,如連接成功會提示信息:
寫入修改好的bin文件數(shù)據(jù)到CMPA
通過使用blhost -p com12 -- write-memory 0x3e200 cmpa_new.bin命令,寫入CMPA:
為確保正確寫入,查看設(shè)置之后CMPA數(shù)據(jù)
通過命令blhost -p com12 -- read-memory 0x3e200 512查看設(shè)置后的CMPA數(shù)據(jù):
3.2 雙鏡像版本設(shè)置
根據(jù)實驗效果,Image0的功能是LPC5536-evk開發(fā)板上紅燈閃爍,Image1功能是綠燈閃爍。
Image0 設(shè)置版本號為1,Image1 設(shè)置版本號為2:
打開紅燈閃爍的工程,修改頭文件偏移量0x24處為0x10400
打開綠燈閃爍的工程,修改頭文件偏移量0x24處為0x20400
3.3 分配Flash
LPC5536JBD100用戶可用的內(nèi)部Flash共246K,所以Image0 分配到0x0-0x1FFFF地址范圍內(nèi),Image1分配到0x20000-0x3D7FF地址范圍內(nèi)。如果使用MCUXpresso ID,設(shè)置如下:
工程->右鍵屬性->MCU settings,設(shè)置起始地址和大小,完成后點擊應(yīng)用按鈕。
紅燈閃爍工程:
綠燈閃爍工程:
重現(xiàn)編譯工程。
3.4 功能測試
測試程序為兩個點燈程序,分別為紅燈閃爍和綠燈閃爍程序,紅燈閃爍為image0,版本號1,綠燈閃爍為image0,版本號2,所以測試結(jié)果如果綠燈閃爍,則成功。
下載程序使用IDE中GUI Flash Tool,分別下載兩個鏡像文件到開發(fā)板中:
在“File to program”中選擇燒寫的文件,點擊run按鈕后,程序會下載到Flash:
下載完成后,點擊確定:
同樣的方式下載另外一個程序,注意在燒寫第二個程序時,不能勾選“mass erase”,如果使用其它工具燒寫,也應(yīng)關(guān)閉和”mass erase”相同功能的選項,避免擦除第一個鏡像文件。
測試結(jié)果下載程序后,復(fù)位,綠燈閃爍。
升級測試:將紅燈閃爍工程版本號修改為3,即修改0x10400為0x30400,重新燒寫鏡像文件,應(yīng)該會看到紅燈閃爍。
四. 總結(jié)
雙鏡像機(jī)制為嵌入式設(shè)備的升級和啟動增加保險,應(yīng)用過程中需要注意在CMPA區(qū)域設(shè)置鏡像偏移量、重映射大小和配置鏡像版本的方式,同時也需要注意兩個工程中Flash配置。
嵌入式物聯(lián)網(wǎng)需要學(xué)的東西真的非常多,千萬不要學(xué)錯了路線和內(nèi)容,導(dǎo)致工資要不上去!
分享大家一個資料包,差不多150多G。里面學(xué)習(xí)內(nèi)容、面經(jīng)、項目都比較新也比較全!
掃碼進(jìn)群領(lǐng)資料
關(guān)鍵詞:
您可能也感興趣:
今日熱點
為您推薦
“規(guī)范化家長學(xué)校實踐活動”公益項目第三階段啟動
限價調(diào)整之后的省間現(xiàn)貨走勢
升級服務(wù)釋放家電消費潛力
更多
- 北向資金全天凈賣出超50億元,此前連續(xù)6日凈買入
- 打新必讀:固高科技、路橋信息申購
- 2023全國中小學(xué)教師科學(xué)素質(zhì)提升培訓(xùn)館校合作項目在中國科技...
- 寧夏回族自治區(qū)2023年大數(shù)據(jù)與軟件產(chǎn)業(yè)發(fā)展項目名單公示
- 兩部門:延續(xù)執(zhí)行創(chuàng)業(yè)投資企業(yè)和天使投資個人投資初創(chuàng)科技型...
- 天國的階梯中文版49集 天國的階梯中文版叫什么
- 內(nèi)蒙古敖漢旗:冷棚西紅柿“映紅”致富路
- 我在的幾個深圳房地產(chǎn)投資群里討論的重點,已經(jīng)從原來的買房...
排行
最近更新
- MCU雙鏡像機(jī)制如何使能?
- 142家中國公司上榜《財富》世界500強(qiáng),比亞迪、寧德時代成“黑馬”
- 降水總量超四百億!海河流域流域總體進(jìn)入洪水演進(jìn)期
- 暑假請到非洲來旅游——肯尼亞
- 鄭開城際鐵路延長線最新進(jìn)展來了!開封站新建站房年底前建成投用
- 山東省知識產(chǎn)權(quán)事業(yè)發(fā)展中心組建調(diào)研組 為“好品山東”地理...
- 超強(qiáng)臺風(fēng)“卡努”將至!山東再迎大范圍降水!局部暴雨!
- 江西助推暑期文旅消費:倡導(dǎo)工會組織出游 最高標(biāo)準(zhǔn)1000元/人
- 阿里云大模型產(chǎn)品再升級 “通義聽悟”上線“自動提取PPT”...
- 有人告房玄齡造反, 李世民命令不審問, 直接處死!
- 遺跡2約束之心怎么獲得-約束之心獲得方法
- 上海醫(yī)藥港股(上海醫(yī)藥港成功在港股上市)
- 導(dǎo)彈在戰(zhàn)機(jī)200米處解體,空軍試飛員選擇……
- WTA250布拉格站首輪:袁悅擊敗3號種子張帥,張帥遭遇單打15連敗
- 塞內(nèi)加爾足球世界排名(塞內(nèi)加爾足球世界排名攀升)
- 大基建計劃談判破裂!現(xiàn)貨白銀繼續(xù)盤整
- 1:6,中國女足以史上最大比分失利告別世界杯
- 超華科技2023年半年度董事會經(jīng)營評述
- 2023年“海南·瓊中杯”決賽在即
- 昆明市第七屆運動會在尋甸縣開幕
- 行業(yè)首款A(yù)I只能電混家轎吉利銀河L6將在今年9月正式上市
- 金融壹賬通(06638.HK)將于8月16日舉行董事會會議以審批中期業(yè)績
- 推動科技成果轉(zhuǎn)化、提供高質(zhì)量服務(wù)……寶山這個園區(qū)成為企業(yè)...
- 農(nóng)發(fā)行吉安市分行召開2023年年中工作會議暨三季度項目營銷辦...
- 辱罵+掌摑裁判,中甲俱樂部官員遭足協(xié)重罰
- 打響企服大模型第一槍,用友攜YonGPT深化數(shù)智化應(yīng)用
- 2023整車操作系統(tǒng)發(fā)展趨勢研究報告發(fā)布 共同推動整車操作系統(tǒng)發(fā)展
- 科創(chuàng)板收盤播報:科創(chuàng)50指數(shù)微跌0.13% 電子設(shè)備制造股走強(qiáng)
- 京津冀等地今日強(qiáng)降雨持續(xù),公眾需關(guān)注預(yù)警預(yù)報信息
- 洞涇鎮(zhèn)居民共話基層治理