小明永久免费大陆在线观看-小明永久免费视频-小明永久视频免费播放-小嫩妇好紧好爽再快视频-小嫩嫩12欧美-小日本xxx

首頁 區塊鏈 > 正文

MCU雙鏡像機制如何使能?

一. 背 景

嵌入式設備升級過程中會由于斷電、強行中斷等外部因素,導致新固件寫入Flash時不能完整寫入,使系統啟動時出現問題。或設備運行中,鏡像文件被意外損壞,導致系統癱瘓,設備無法運行。面對以上問題,可以使用雙鏡像機制(dual image),它保證至少有一個鏡像文件是可以啟動,并且在任何時候都能正常工作。如果發生意外,引導加載程序檢測并使用備用的鏡像文件。

二. 原 理


(資料圖片)

LPC5536 ROM支持內部Flash的雙鏡像引導(也支持FlexSPI外部Flash,原理相同),即在Flash可以放置兩個引導鏡像,ROM根據鏡像文件版本號決定啟動哪個鏡像,首先啟動最新版本號的鏡像,如果失敗,則啟動舊鏡像文件。

通電啟動時,ROM首先檢測CMPA中關于重定位鏡像文件的位置和大小,然后檢測兩個鏡像的版本號,所以在使用雙鏡像機制時,主要對鏡像文件重定位和版本號進行配置。

ROM從內部Flash啟動雙鏡像文件流程圖如下:

2.1 鏡像文件重定位

LPC5536內部Flash支持重映射,當設置重映射偏移量后,Flash AHB 總線將訪問偏移后的地址。例如,當偏移量設置為128K(0x20000),對0x0的訪問將被重新映射到地址0x20000。通過這個特性,ROM可以實現雙鏡像引導。下面是一個關于內部Flash存放兩個鏡像文件的簡圖。

第二個鏡像的偏移量和重映射大小由用戶在CMPA區域設置,讓ROM知道第二個鏡像的位置。

2.2 配置鏡像的版本

在頭文件偏移量為0x24處設置鏡像版本號,如下表格所示,第16位-31位設置鏡像文件版本號,第10位表示鏡像文件是否存在版本號,使用雙鏡像機制時,此位設置為1.

三. 應 用

3.1 配置CMPA

配置CMPA中數據值

修改cmpa.bin文件,通過blhost把修改后的bin文件寫入CMPA,以配置image1偏移量和重映射大小,流程如下:

a. 打開一個全0的cmpa.bin,修改0x3E23C處數據為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是一個命令行調試工具,界面如下:

測試blhost與開發板通信是否正常:

首先,從設備管理器查看開發板與電腦連接端口號

其次,開發板J43上使用跳線帽連接3和4,使能ISP啟動;

然后,按下復位鍵,輸入連接測試命令blhost -p com12 -- get-property 1

判斷是否正常通信,如連接成功會提示信息:

寫入修改好的bin文件數據到CMPA

通過使用blhost -p com12 -- write-memory 0x3e200 cmpa_new.bin命令,寫入CMPA:

為確保正確寫入,查看設置之后CMPA數據

通過命令blhost -p com12 -- read-memory 0x3e200 512查看設置后的CMPA數據:

3.2 雙鏡像版本設置

根據實驗效果,Image0的功能是LPC5536-evk開發板上紅燈閃爍,Image1功能是綠燈閃爍。

Image0 設置版本號為1,Image1 設置版本號為2:

打開紅燈閃爍的工程,修改頭文件偏移量0x24處為0x10400

打開綠燈閃爍的工程,修改頭文件偏移量0x24處為0x20400

3.3 分配Flash

LPC5536JBD100用戶可用的內部Flash共246K,所以Image0 分配到0x0-0x1FFFF地址范圍內,Image1分配到0x20000-0x3D7FF地址范圍內。如果使用MCUXpresso ID,設置如下:

工程->右鍵屬性->MCU settings,設置起始地址和大小,完成后點擊應用按鈕。

紅燈閃爍工程:

綠燈閃爍工程:

重現編譯工程。

3.4 功能測試

測試程序為兩個點燈程序,分別為紅燈閃爍和綠燈閃爍程序,紅燈閃爍為image0,版本號1,綠燈閃爍為image0,版本號2,所以測試結果如果綠燈閃爍,則成功。

下載程序

使用IDE中GUI Flash Tool,分別下載兩個鏡像文件到開發板中:

在“File to program”中選擇燒寫的文件,點擊run按鈕后,程序會下載到Flash:

下載完成后,點擊確定:

同樣的方式下載另外一個程序,注意在燒寫第二個程序時,不能勾選“mass erase”,如果使用其它工具燒寫,也應關閉和”mass erase”相同功能的選項,避免擦除第一個鏡像文件。

測試結果

下載程序后,復位,綠燈閃爍。

升級測試:將紅燈閃爍工程版本號修改為3,即修改0x10400為0x30400,重新燒寫鏡像文件,應該會看到紅燈閃爍。

四. 總結

雙鏡像機制為嵌入式設備的升級和啟動增加保險,應用過程中需要注意在CMPA區域設置鏡像偏移量、重映射大小和配置鏡像版本的方式,同時也需要注意兩個工程中Flash配置。


嵌入式物聯網需要學的東西真的非常多,千萬不要學錯了路線和內容,導致工資要不上去!

分享大家一個資料包,差不多150多G。里面學習內容、面經、項目都比較新也比較全!

掃碼進群領資料

關鍵詞:

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2023 創投網 - www.zhigu.net.cn All rights reserved
聯系我們:39 60 29 14 [email protected]
皖ICP備2022009963號-3

亚洲国产激情一区二区三区 | 成人区人妻精品一区二区不卡 | 精品无码一区在线观看 | 人妻大战黑人白浆狂泄 | 国内露脸中年夫妇交换 | 无码国产午夜福利片在线观看 | 国产亚洲一区二区精品 | 熟妇人妻无乱码中文字幕 | 欧美大香线蕉线伊人久久 | 欧美人牲交 | 亚洲午夜无码久久 | 天天操夜夜操 | 国产成人av一区二区三区在线观看 | 91福利国产在线观看 | 精品久久久久久无码中文字幕 | gv天堂gv无码男同在线观看 | 亚洲日韩精品无码专区网址 | 日韩高清国产一区在线 | 美女露出粉嫩小奶头在视频18禁 | 蜜臀亚洲av无码精品国产午夜. | 亚洲av福利天堂一区二区三 | 亚洲精品午夜无码电影网 | 国产一起色一起爱 | 成人区人妻精品一熟女 | 好吊色欧美一区二区三区四区 | 国产农村女人一级毛片了 | 国产精品一区久久精品 | 国产精品视频一区二区三区经 | 国产精品毛片一区二区三区 | 玩弄丰满少妇xxxxx性多毛 | 麻豆精品国产精华液好用吗 | 久久久久毛片成人精品 | 成人国产精品免费网站 | 国产精品美女www爽爽爽视频 | 亚洲狠狠婷婷综合久久久久 | 国产成人做受免费视频 | 久久久久夜夜夜精品国产 | 久久夜色精品国产亚洲 | 久久亚洲私人国产精品 | 极品新婚夜少妇真紧 | 亚洲第一av网站 |