色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MCU雙鏡像機制的工作原理和應用實例

痞子衡嵌入式 ? 來源:痞子衡嵌入式 ? 2023-08-01 18:10 ? 次閱讀

一. 背 景

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

二. 原 理

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

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

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

wKgaomTI2jSACjStAAJ2gajFZJE385.png

2.1 鏡像文件重定位

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

28c24a8e-3053-11ee-9e74-dac502259ad0.png

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

wKgaomTI2jSAIM-JAAFWnr8VDEc123.png

2.2 配置鏡像的版本

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

wKgZomTI2jSAeW_ZAAE5SHR-9cs524.png

三. 應 用

3.1 配置CMPA

配置CMPA中數據值

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

a. 打開一個全0的cmpa.bin,修改0x3E23C處數據為0x20000,高位在右低位在左,如下:

wKgZomTI2jSAd0ENAAO4xpvSOVU050.png

b. 修改重映射大小。地址0x3E238處修改為0x1d800,如下:

wKgaomTI2jSAC23pAAIJ7FAFwwA110.png

c. 保存并重命名為cmpa_new.bin,另存為lhost_2.6.7lhost_2.6.7inwin

3.2 燒寫cmpa_new.bin

借助blhsot 工具燒寫,blhost 2.6.7是一個命令行調試工具,界面如下:

wKgZomTI2jSAHkj0AADJ1O0WiyM606.png

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

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

wKgZomTI2jWASb6XAABq-XlPv5g049.png

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

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

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

wKgaomTI2jWAeJlyAACQF1QF3Ek143.png

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

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

wKgZomTI2jWAVY0iAACuqe8WSA8262.png

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

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

wKgaomTI2jWACjJBAAQwrYBSe1g263.png

3.2 雙鏡像版本設置

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

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

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

wKgZomTI2jWAcGe3AAKuJw0K8-o310.png

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

wKgaomTI2jWAQp6jAAJ4pmKg528123.png

3.3 分配Flash

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

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

紅燈閃爍工程:

wKgaomTI2jWAADqqAALYQNSCmVc081.png

綠燈閃爍工程:

wKgZomTI2jWAePlaAAGmbiOrveA742.png

重現編譯工程。

3.4 功能測試

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

下載程序

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

wKgZomTI2jWAbzeSAAEaNRYodVo087.png

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

wKgaomTI2jWALKTyAAFn0b4IfHQ586.png

下載完成后,點擊確定:

wKgZomTI2jWAMoz_AAE22dWkppY441.png

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

測試結果

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

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

四. 總結

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

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17307

    瀏覽量

    352187
  • 嵌入式
    +關注

    關注

    5089

    文章

    19170

    瀏覽量

    306805
  • FlaSh
    +關注

    關注

    10

    文章

    1641

    瀏覽量

    148414
  • ROM
    ROM
    +關注

    關注

    4

    文章

    575

    瀏覽量

    85895
  • 嵌入式設備
    +關注

    關注

    0

    文章

    110

    瀏覽量

    16992

原文標題:MCU雙鏡像機制如何使能?

文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    極型晶體管工作原理

    極型晶體管工作原理
    發表于 08-20 08:53

    紅綠色點陣工作原理,程序

    紅綠色點陣工作原理,程序。
    發表于 07-28 17:50

    AD834的工作原理是什么? AD834的應用實例有哪些?

    AD834的主要特性有哪些?AD834的工作原理是什么?AD834的應用實例有哪些?
    發表于 04-21 07:19

    蹤示波器的工作原理是什么?怎樣對它進行日常維護?

    蹤示波器的工作原理是什么?蹤示波器是由哪幾部分組成的?怎樣對蹤示波器進行日常維護?
    發表于 05-10 06:34

    機器視覺系統的工作原理是什么?有哪些應用實例

    機器視覺系統的工作原理是什么?機器視覺系統的特點有哪些?機器視覺系統的結構是由哪些部分組成的?機器視覺系統有哪些應用實例
    發表于 07-16 08:06

    閉環直流調速系統的工作原理是什么

    閉環直流調速系統的工作原理是什么?閉環直流調速系統是由哪些部分組成的?閉環直流調速系統兩個調節器有何作用?
    發表于 09-27 08:50

    dde與opc技術的工作機制

    本內容介紹了dde與opc技術的工作機制,詳細分析了DDE技術的工作原理機制,及OPC技術的知識
    發表于 02-02 15:30 ?2713次閱讀
    dde與opc技術的<b class='flag-5'>工作</b><b class='flag-5'>機制</b>

    51MCU中斷和定時計數系統的工作原理

    本資料是關于51MCU中斷和定時計數系統的工作原理的介紹,希望對大家有所幫助~~
    發表于 07-30 15:53 ?47次下載

    固態繼電器工作原理和應用實例

    固態繼電器工作原理和應用實例,快來學習下載吧
    發表于 01-12 18:31 ?0次下載

    Doherty功放工作原理和設計實例

    Doherty 功放工作原理和設計實例
    發表于 02-09 17:09 ?3次下載

    控開關的工作原理介紹

    現在市場上面所出售的開關種類非常的多,控開關正好能夠滿足人們的需求,特別是人們的喜愛,但是對于控開關在進行購買的時候,人們除了關心品牌質量的問題,就更加的注重價格了,控開關多少錢,為了能夠更好的了解生活開關,下面也特地為您
    的頭像 發表于 05-18 09:03 ?3240次閱讀
    <b class='flag-5'>雙</b>控開關的<b class='flag-5'>工作原理</b>介紹

    LPC5536: 鏡像機制使用指南

    問題,可以使用鏡像機制(dual image),它保證至少有一個鏡像文件是可以啟動,并且在任何時候都能正常工作。如果發生意外,引導加載程序
    的頭像 發表于 07-06 08:50 ?877次閱讀
    LPC5536: <b class='flag-5'>雙</b><b class='flag-5'>鏡像</b><b class='flag-5'>機制</b>使用指南

    STM32 MCU工作原理、基本結構及優缺點

    STM32 MCU是STMicroelectronics公司生產的一款基于ARM Cortex-M內核的32位微控制器,廣泛應用于汽車電子、工業控制、消費電子等領域。本文將介紹STM32 MCU工作原理、基本結構以及優缺點。
    發表于 09-09 16:36 ?3741次閱讀

    密封繼電器工作原理是什么

    密封繼電器是一種特殊的繼電器,其工作原理與普通繼電器有所不同。在本文中,我們將詳細介紹密封繼電器的工作原理,包括其結構、工作原理、特點和
    的頭像 發表于 06-30 09:05 ?779次閱讀

    華為云 X 實例鏡像管理詳解

    前言 隨著云計算的不斷普及,云服務器成為企業和開發者日常工作中的重要工具。為了提升工作效率和降低運維成本,云服務器鏡像的管理尤為重要。鏡像作為服務器或磁盤的模板,預裝了操作系統、軟件及
    的頭像 發表于 01-07 17:01 ?122次閱讀
    華為云 X <b class='flag-5'>實例</b>的<b class='flag-5'>鏡像</b>管理詳解
    主站蜘蛛池模板: 亚洲中文字幕无码一久久区 | 舔1V1高H糙汉| 亚洲 日本 中文字幕 制服| 在线高清电影理论片4399| xxx暴力xxx| 国语自产视频在线不卡| 日本久久黄色| 伊人网久久网| 国产成人精品视频播放| 久久超碰国产精品最新| 日本人吃奶玩奶虐乳| 1788vv视频| 好紧好湿太硬了我太爽了文字| 老师给美女同学开嫩苞| 武侠古典久久亚洲精品| nu77亚洲综合日韩精品| 精品久久久久中文字幕日本| 日本久久免费大片| 69SEX久久精品国产麻豆| 国语精彩对白2021| 日日夜夜狠狠干| 99久久免热在线观看6| 精品视频久久久久| 小草观看免费高清视频| 别停好爽好深好大好舒服视频| 久久人人爽人人片AV人成| 香蕉久久夜色精品国产小说| 宝贝乖女好紧好深好爽老师| 久久婷五月综合色啪首页| 亚洲狠狠97婷婷综合久久久久| 成年人视频在线免费看| 妺妺窝人体色WWW偷窥女厕| 一区不卡二区卡| 国产 精品 亚洲 欧美 高清| 各种场合肉H校园1V1| 免费看大黄高清网站视频在线| 亚洲色在线| 国产中文字幕乱码一区| 午夜毛片在线观看| 父亲在线日本综艺免费观看全集| 免费毛片试看|