0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

LPC5536: 雙鏡像機制使用指南

恩智浦MCU加油站 ? 來源:未知 ? 2023-07-06 08:50 ? 次閱讀
一.背 景嵌入式設(shè)備升級過程中會由于斷電、強行中斷等外部因素,導(dǎo)致新固件寫入Flash時不能完整寫入,使系統(tǒng)啟動時出現(xiàn)問題?;蛟O(shè)備運行中,鏡像文件被意外損壞,導(dǎo)致系統(tǒng)癱瘓,設(shè)備無法運行。面對以上問題,可以使用雙鏡像機制(dual image),它保證至少有一個鏡像文件是可以啟動,并且在任何時候都能正常工作。如果發(fā)生意外,引導(dǎo)加載程序檢測并使用備用的鏡像文件。二. 原 理LPC5536 ROM支持內(nèi)部Flash的雙鏡像引導(dǎo)(也支持FlexSPI外部Flash,原理相同),即在Flash可以放置兩個引導(dǎo)鏡像,ROM根據(jù)鏡像文件版本號決定啟動哪個鏡像,首先啟動最新版本號的鏡像,如果失敗,則啟動舊鏡像文件。

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

ROM從內(nèi)部Flash啟動雙鏡像文件流程圖如下:

b99a6eec-1b95-11ee-962d-dac502259ad0.png

2.1 鏡像文件重定位

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

b9dd72b4-1b95-11ee-962d-dac502259ad0.png

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

b9f5eefc-1b95-11ee-962d-dac502259ad0.png

2.2 配置鏡像的版本

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

ba0ff9e6-1b95-11ee-962d-dac502259ad0.png

三. 應(yīng) 用3.1 配置CMPA
  • 配置CMPA中數(shù)據(jù)值

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

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

ba43c4b0-1b95-11ee-962d-dac502259ad0.png

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

ba6f62e6-1b95-11ee-962d-dac502259ad0.png

c. 保存并重命名為cmpa_new.bin,另存為lhost_2.6.7lhost_2.6.7inwin3.2 燒寫cmpa_new.bin

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

ba91c098-1b95-11ee-962d-dac502259ad0.png

測試blhost與開發(fā)板通信是否正常:

首先,從設(shè)備管理器查看開發(fā)板與電腦連接端口

bab78be8-1b95-11ee-962d-dac502259ad0.png

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

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

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

bad0856c-1b95-11ee-962d-dac502259ad0.png

寫入修改好的bin文件數(shù)據(jù)到CMPA

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

baf34dea-1b95-11ee-962d-dac502259ad0.png

為確保正確寫入,查看設(shè)置之后CMPA數(shù)據(jù)

通過命令blhost -pcom12 -- read-memory 0x3e200 512查看設(shè)置后的CMPA數(shù)據(jù):

bb164214-1b95-11ee-962d-dac502259ad0.png

3.2 雙鏡像版本設(shè)置

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

Image0 設(shè)置版本號為1,Image1 設(shè)置版本號為2:

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

bb4b38de-1b95-11ee-962d-dac502259ad0.png

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

bb89e05c-1b95-11ee-962d-dac502259ad0.png

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)用按鈕。

紅燈閃爍工程:

bbb5a6f6-1b95-11ee-962d-dac502259ad0.png

綠燈閃爍工程:

bbfdc8e6-1b95-11ee-962d-dac502259ad0.png

重現(xiàn)編譯工程。

3.4 功能測試

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

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

bc28fba6-1b95-11ee-962d-dac502259ad0.png

在“File to program”中選擇燒寫的文件,點擊run按鈕后,程序會下載到Flash:bc3e8a66-1b95-11ee-962d-dac502259ad0.png下載完成后,點擊確定:

bc6607b2-1b95-11ee-962d-dac502259ad0.png

同樣的方式下載另外一個程序,注意在燒寫第二個程序時,不能勾選“masserase”,如果使用其它工具燒寫,也應(yīng)關(guān)閉和”masserase”相同功能的選項,避免擦除第一個鏡像文件。
  • 測試結(jié)果

下載程序后,復(fù)位,綠燈閃爍。

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

四. 總結(jié)

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

END

更多恩智浦AI-IoT市場和產(chǎn)品信息,邀您同時關(guān)注“NXP客?!蔽⑿殴娞?/span>

bc84daa2-1b95-11ee-962d-dac502259ad0.jpg ? ? ?

NXP客棧


恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護航。

長按二維碼,關(guān)注我們

恩智浦MCU加油站


這是由恩智浦官方運營的公眾號,著重為您推薦恩智浦MCU的產(chǎn)品信息、開發(fā)技巧、教程文檔、培訓(xùn)課程等內(nèi)容。

bc9b35e0-1b95-11ee-962d-dac502259ad0.jpg ?

長按二維碼,關(guān)注我們


原文標題:LPC5536: 雙鏡像機制使用指南

文章出處:【微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17173

    瀏覽量

    351656
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5863

    瀏覽量

    107705

原文標題:LPC5536: 雙鏡像機制使用指南

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    示波器使用指南 如何選擇合適的示波器

    示波器使用指南 示波器是一種電子測量儀器,用于顯示電壓隨時間變化的波形。以下是示波器的基本使用指南: 獲得基線 : 預(yù)置面板各開關(guān)、旋鈕至適當位置。 按下電源開關(guān),電源指示燈點亮。 調(diào)節(jié)相關(guān)控制旋鈕
    的頭像 發(fā)表于 11-28 09:26 ?315次閱讀

    RTC時鐘使用指南:簡單步驟,實用成果

    今天展示的是RTC時鐘使用指南,輕松學(xué)習(xí),完美成果。
    的頭像 發(fā)表于 11-08 11:40 ?350次閱讀
    RTC時鐘<b class='flag-5'>使用指南</b>:簡單步驟,實用成果

    技術(shù)指南 | 深視智能SRI系列一體式激光三維輪廓測量儀快速使用指南

    技術(shù)指南 | 深視智能SRI系列一體式激光三維輪廓測量儀快速使用指南
    的頭像 發(fā)表于 10-29 08:08 ?239次閱讀
    技術(shù)<b class='flag-5'>指南</b> | 深視智能SRI系列一體式激光三維輪廓測量儀快速<b class='flag-5'>使用指南</b>

    技術(shù)指南 | 深視智能SCI系列光譜共焦位移傳感器快速使用指南

    技術(shù)指南 | 深視智能SCI系列光譜共焦位移傳感器快速使用指南
    的頭像 發(fā)表于 10-22 08:06 ?214次閱讀
    技術(shù)<b class='flag-5'>指南</b> | 深視智能SCI系列光譜共焦位移傳感器快速<b class='flag-5'>使用指南</b>

    中短程超聲波應(yīng)用優(yōu)化和使用指南:TUSS4470和TDC1000

    電子發(fā)燒友網(wǎng)站提供《中短程超聲波應(yīng)用優(yōu)化和使用指南:TUSS4470和TDC1000.pdf》資料免費下載
    發(fā)表于 09-24 11:21 ?0次下載
    中短程超聲波應(yīng)用優(yōu)化和<b class='flag-5'>使用指南</b>:TUSS4470和TDC1000

    深視智能SGI系列激光位移傳感器快速使用指南

    深視智能SGI系列激光位移傳感器快速使用指南
    的頭像 發(fā)表于 07-27 08:45 ?418次閱讀
    深視智能SGI系列激光位移傳感器快速<b class='flag-5'>使用指南</b>

    深視智能SD33系列小型激光位移傳感器使用指南

    深視智能SD33系列小型激光位移傳感器使用指南
    的頭像 發(fā)表于 07-27 08:44 ?481次閱讀
    深視智能SD33系列小型激光位移傳感器<b class='flag-5'>使用指南</b>

    深視智能SD22系列小型激光位移傳感器使用指南

    深視智能SD22系列小型激光位移傳感器使用指南
    的頭像 發(fā)表于 07-27 08:42 ?475次閱讀
    深視智能SD22系列小型激光位移傳感器<b class='flag-5'>使用指南</b>

    GD32F10x 固件庫使用指南

    電子發(fā)燒友網(wǎng)站提供《GD32F10x 固件庫使用指南.pdf》資料免費下載
    發(fā)表于 05-22 14:15 ?27次下載

    32位基于ARM微控制器GD32E50x固件庫使用指南

    電子發(fā)燒友網(wǎng)站提供《32位基于ARM微控制器GD32E50x固件庫使用指南.pdf》資料免費下載
    發(fā)表于 05-16 18:12 ?10次下載

    芯??萍纪ㄓ?MCU 應(yīng)用筆記: CS32F103 FOC 電機評估板使用指南

    本文檔描述了基于芯海 CS32F103 系列芯片的矢量控制電機開發(fā)板 V1.00 的設(shè)計理念、結(jié)構(gòu)和使用說明,以幫助用戶快速使用此開發(fā)板,評估 CS32F103 芯片在電機控制應(yīng)用上的性能表現(xiàn)。*附件:應(yīng)用筆記:CS32F103FOC電機評估板使用指南.pdf
    發(fā)表于 05-16 11:35

    熱敏FET使用指南

    電子發(fā)燒友網(wǎng)站提供《熱敏FET使用指南.pdf》資料免費下載
    發(fā)表于 02-22 09:35 ?0次下載
    熱敏FET<b class='flag-5'>使用指南</b>

    openai sora如何使用?Sora 使用指南:快速上手

    OpenAI Sora 使用指南:快速上手 歡迎使用OpenAI Sora,一款強大的人工智能視頻生成工具。無論您是視頻制作新手還是專業(yè)人士,本指南將幫助您快速掌握Sora,輕松創(chuàng)作出高質(zhì)量的視頻
    的頭像 發(fā)表于 02-20 11:19 ?4320次閱讀

    電力調(diào)整器的安裝與使用指南

    電力調(diào)整器的安裝與使用指南? 電力調(diào)整器是一種用于調(diào)整電力供應(yīng)的裝置,它可以穩(wěn)定電壓、提高電流質(zhì)量、減少電力損耗。在家庭、工業(yè)和商業(yè)場所中廣泛使用,如今,我們?yōu)槟鷰黼娏φ{(diào)整器的安裝與使用指南。本文
    的頭像 發(fā)表于 02-03 10:13 ?1470次閱讀

    AT32F423 I 2C使用指南

    電子發(fā)燒友網(wǎng)站提供《AT32F423 I 2C使用指南.pdf》資料免費下載
    發(fā)表于 02-01 09:30 ?0次下載
    AT32F423 I 2C<b class='flag-5'>使用指南</b>