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

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

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

NXP MCUBootUtility v5.3版本特性解析

痞子衡嵌入式 ? 來(lái)源:痞子衡嵌入式 ? 2023-10-18 14:30 ? 次閱讀

痞子衡維護(hù)的 NXP-MCUBootUtility 工具距離上一個(gè)大版本(v5.0.0)發(fā)布過(guò)去4個(gè)多月了,期間痞子衡也做過(guò)三個(gè)小版本更新,但不足以單獨(dú)介紹。這一次痞子衡為大家?guī)?lái)了全新重要版本v5.3.x,這次更新主要是想和大家特別聊聊 XMCD 這個(gè)特性的支持。

一、v5.1 - v5.3更新記錄

-- v5.1.0
Features:
    1. [RT1180] 支持自動(dòng)加載Edgelock固件

-- v5.2.0
Features:
    1. [RTyyyy] 支持i.MXRT118x B0
    2. [RT] 對(duì)于FlexSPI NOR設(shè)備,支持下載安全與非安全兩種地址鏈接的CM33程序
    3. [RT] 對(duì)于FlexSPI NOR設(shè)備,支持別名地址鏈接的程序
Improvement:
    1. [RT1180] 用戶輸入的源程序文件可以包含啟動(dòng)頭 (Container)

-- v5.2.1
Bufixes:
    1. [RTyyyy] 修復(fù)對(duì)FlexSPI NAND設(shè)備的下載支持

-- v5.3.0
Features:
    1. [RTyyyy] 支持XMCD配置功能,可用于加載image進(jìn)FlexSPI RAM/SEMC SDRAM執(zhí)行
    2. [RTyyyy] 支持第二個(gè)FlexSPI去下載啟動(dòng)NAND
    3. [RT] 新增FlexSPI NAND啟動(dòng)設(shè)備模型支持
Improvement:
    1. [RTyyyy] 將FlexSPI序號(hào)選擇從菜單欄改至設(shè)備配置界面
    2. [RTyyyy] 可以識(shí)別鏈接在FlexSPI RAM區(qū)域的程序
Bufixes:
    1. [RTyyyy] 無(wú)法識(shí)別IVT中復(fù)位函數(shù)地址相對(duì)向量表首地址偏移小于0xB00的可啟動(dòng)程序文件

-- v5.3.1
Improvement:
    1. [RT] 可以檢查不同F(xiàn)lexSPI序號(hào)的有效XIP范圍
    2. [RTxxx] 可以識(shí)別鏈接在FlexSPI RAM區(qū)域的程序
Bufixes:
    1. [RT1180] 在FlexSPI NOR啟動(dòng)設(shè)備下無(wú)法生成一些Non-XIP程序的可啟動(dòng)程序

二、幾個(gè)不可忽視的更新

2.1 完善的FlexSPI NOR映射地址支持

在 v5.0 及其之前的版本里,工具對(duì)于 FlexSPI NOR 設(shè)備映射地址的支持比較單一。在工具目錄 src argetsxxxltargetconfig.py 文件中僅可見(jiàn)如下定義(RT1180為例),即一個(gè) FlexSPI 僅對(duì)應(yīng)一個(gè)主映射地址:

flexspiNorMemBase0 = 0x38000000
flexspiNorMemBase1 = 0x14000000

但是我們知道部分 i.MXRT 型號(hào)系統(tǒng)設(shè)計(jì)里對(duì)于 FlexSPI 除了支持主映射地址外,還支持所謂的別名映射地址(Aliased Address),甚至 CM33 內(nèi)核的 i.MXRT 型號(hào)里還區(qū)分 Secure 和 Non-Secure 地址。因此 v5.3 里進(jìn)一步豐富了 FlexSPI NOR 設(shè)備的映射地址,這樣我們?cè)诰幾g鏈接 XIP 啟動(dòng)程序的時(shí)候,地址選擇更加靈活。此外這里如果你仔細(xì)看,會(huì)發(fā)現(xiàn)工具對(duì)于最大映射地址空間檢查也按 RT 型號(hào)不同做了具體區(qū)分。

0dbcf9d8-5ed3-11ee-939d-92fbcf53809c.png

但是這里有關(guān)于 RT1180 的一點(diǎn)注意事項(xiàng),工具目錄 src argetsMIMXRT1189 下預(yù)先放了兩個(gè)版本的 flashloader,一個(gè)僅支持 Secure 地址,另一個(gè)僅支持 Non-Secure 地址,這是當(dāng)前 flashloader 實(shí)現(xiàn)的限制。為了能讓工具自動(dòng)根據(jù)用戶輸入源程序?qū)嶋H鏈接地址類型來(lái)選擇合適的 flashloader 去做擦寫(xiě)操作,需要先點(diǎn)擊一次 Generate xxType Bootable Image 按鈕之后再點(diǎn)擊 Connect to ROM 按鈕,最后再 All-In-One Action。

cntr_flashloader_s.bin
cntr_flashloader_ns.bin

2.2 支持鏈接在FlexSPI RAM區(qū)域的程序

對(duì)于 Non-XIP 程序,除了鏈接在 RT 芯片內(nèi)部 SRAM 空間之外,還可以鏈接在外部 RAM 空間,比如 SEMC 接口對(duì)應(yīng)的 SDRAM 設(shè)備,或者 FlexSPI 接口對(duì)應(yīng)的 HyperRAM 或者 PSRAM 設(shè)備。v5.0 及之前工具僅能支持鏈接在 SDRAM 的程序,對(duì)于鏈接在 FlexSPI 映射空間的 Non-XIP 程序,工具會(huì)直接報(bào)非法地址。v5.3 版本開(kāi)始,這個(gè)限制將不復(fù)存在(見(jiàn)如下對(duì) RT1180 FlexSPI RAM 地址的支持),這也是為了配合 DCD 以及 XMCD 功能而做的改進(jìn)。

0dccb260-5ed3-11ee-939d-92fbcf53809c.png

2.3 對(duì)于RT1170 XMCD功能支持

從 RT1160/1170 B0 以及其后的 RT1180 開(kāi)始,BootROM 里新增了 XMCD 功能,這是對(duì) DCD 功能的補(bǔ)充。我們知道 DCD 可以實(shí)現(xiàn)對(duì)芯片指定外設(shè)的用戶定制化配置,常常用于配置 SEMC 寄存器去初始化 SDRAM 或者 FlexSPI 寄存器去初始化 HyperRAM/PSRAM,但是 DCD 的配置太細(xì)致,需要從外設(shè)寄存器角度去理解那些外部 RAM 存儲(chǔ)器特性,這種方式從應(yīng)用角度來(lái)說(shuō)不夠友好。XMCD 正是為了解決這個(gè)問(wèn)題,其將對(duì) SDRAM/HyperRAM 配置以一種對(duì)用戶更友好更簡(jiǎn)潔的方式來(lái)呈現(xiàn),見(jiàn)如下界面設(shè)置:

0dd0fd3e-5ed3-11ee-939d-92fbcf53809c.png

XMCD 雖好,但是其和 DCD 配合使用在當(dāng)前工具里會(huì)有一些限制,這主要是因?yàn)楣ぞ咭蕾嚨?RT1170 底層工具鏈(elftosb)對(duì)于 dcd 數(shù)據(jù)的生成僅支持相對(duì) IVT 起始地址 0x40 的偏移,但這個(gè)偏移恰恰又是 XMCD 的偏移位置,兩者有沖突:

限制 1:如果是 All-In-One Action 操作,不可在界面里同時(shí)使能 DCD 和 XMCD。如果兩者同時(shí)使能,XMCD 設(shè)置會(huì)被自動(dòng)忽略。

限制 2:如果是 All-In-One Action 操作,用戶源應(yīng)用程序里如果包含 DCD 數(shù)據(jù)結(jié)構(gòu),那么工具界面里 XMCD 設(shè)置也會(huì)被自動(dòng)忽略。

限制 3:如果是 All-In-One Action 操作,用戶源應(yīng)用程序里如果包含 XMCD 數(shù)據(jù)結(jié)構(gòu),且工具界面里 DCD 被使能,那么 XMCD 數(shù)據(jù)結(jié)構(gòu)將會(huì)被丟棄。

當(dāng)然如果你有一個(gè)同時(shí)包含 DCD 和 XMCD 數(shù)據(jù)的可啟動(dòng)文件,可以在工具通用編程器(Boot Device Memory)界面使用 Write 按鈕去下載。

至此,這次更新的主要特性便介紹完了。MCUBootUtility項(xiàng)目地址如下。雖然當(dāng)前版本(v5.3.x)功能已經(jīng)非常完備,你還是可以在此基礎(chǔ)上再添加自己想要的功能。如此神器,還不快快去下載試用?

審核編輯:湯梓紅

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

    關(guān)注

    146

    文章

    16796

    瀏覽量

    349325
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    60

    文章

    1255

    瀏覽量

    182472
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1346

    瀏覽量

    40152
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1350

    瀏覽量

    114369

原文標(biāo)題:MCUBootUtility v5.3發(fā)布,利用XMCD輕松使能外部RAM

文章出處:【微信號(hào):pzh_mcu,微信公眾號(hào):痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CCS v5.3 和許可證

    CCS v5.3 和許可證,找了好久,和大家分享一下。許可證文件,拷貝到/ccsv5/ccs_base/DebugServer/license 下面,即可使用
    發(fā)表于 07-16 11:30

    CCS V5.3如何提高編譯速度?

    我目前在用CCS V5.3進(jìn)行項(xiàng)目開(kāi)發(fā),工程比較大,編譯很慢,全部編譯一次需要好幾分鐘。有沒(méi)有辦法提高速度?我記得keil MDK中只要在輸出選項(xiàng)中把Browse信息關(guān)閉就能顯著提高編譯速度,不知道CCS有沒(méi)有相關(guān)的設(shè)置選項(xiàng)?求高手指點(diǎn)!謝謝
    發(fā)表于 06-04 12:53

    CCS V5.3 gmake無(wú)法運(yùn)行

    我用的ccs v5.3版本,用軟件仿真跑C6678的程序。軟件剛開(kāi)始用時(shí)一切正常,用過(guò)一段時(shí)間之后,在build工程時(shí),就會(huì)出現(xiàn)錯(cuò)誤。 Cannot run program "G:\ti
    發(fā)表于 06-21 14:39

    NXP-MCUBootUtility介紹

    。1 軟件概覽1.1 介紹  NXP-MCUBootUtility是一個(gè)專為NXP MCU安全加密啟動(dòng)而設(shè)計(jì)的工具,其特性NXP MCU里BootROM功能相對(duì)應(yīng),目...
    發(fā)表于 11-04 08:06

    NXP-MCUBootUtility的相關(guān)資料分享

    NXP MCU Boot UtilityEnglish | 中文1 軟件概覽1.1 介紹  NXP-MCUBootUtility是一個(gè)專為NXP MCU安全加密啟動(dòng)而設(shè)計(jì)的工具,其特性
    發(fā)表于 11-11 07:33

    NXP-MCUBootUtility工具的相關(guān)資料推薦

    --  痞子衡維護(hù)的NXP-MCUBootUtility工具距離上一個(gè)版本(v2.3.1)發(fā)布過(guò)去2個(gè)月了,這一次痞子衡為大家?guī)?lái)了版本升級(jí)v
    發(fā)表于 01-26 07:57

    MCUBootUtility v3.0怎么樣?

    MCUBootUtility v3.0怎么樣?
    發(fā)表于 02-10 06:07

    如何開(kāi)啟NXP-MCUBootUtility工具的HAB簽名功能?

    如何開(kāi)啟NXP-MCUBootUtility工具的HAB簽名功能?
    發(fā)表于 02-28 09:18

    comsol5.3版本亮點(diǎn)_comsol5.3安裝_comsol5.3安裝教程

    COMSOL Multiphysics 5.3 版本與 5.2a 和更低的版本相比,性能得到了大幅提升,下面我們將來(lái)詳細(xì)comsol 5.3版本
    的頭像 發(fā)表于 12-21 16:48 ?5.7w次閱讀
    comsol<b class='flag-5'>5.3</b><b class='flag-5'>版本</b>亮點(diǎn)_comsol<b class='flag-5'>5.3</b>安裝_comsol<b class='flag-5'>5.3</b>安裝教程

    山外官方K60開(kāi)發(fā)板參考代碼合集V5.3(支持FX、FN和DNZ)

    本文檔的主要內(nèi)容詳細(xì)介紹的是山外官方K60開(kāi)發(fā)板參考代碼合集V5.3(支持FX、FN和DNZ)
    發(fā)表于 11-15 08:00 ?40次下載

    熟悉Step7 V5.3編程軟件的使用及邏輯指令的編程方法實(shí)驗(yàn)教程

     本文檔的主要內(nèi)容詳細(xì)介紹的是西門(mén)子plc實(shí)驗(yàn)指導(dǎo)之熟悉Step7 V5.3編程軟件的使用及邏輯指令的編程方法實(shí)驗(yàn)教程
    發(fā)表于 09-25 17:38 ?14次下載
    熟悉Step7 <b class='flag-5'>V5.3</b>編程軟件的使用及邏輯指令的編程方法實(shí)驗(yàn)教程

    痞子衡嵌入式:恩智浦MCU安全加密啟動(dòng)一站式工具NXP-MCUBootUtility用戶指南

    交流群。 1 軟件概覽1.1 介紹  NXP-MCUBootUtility是一個(gè)專為NXP MCU安全加密啟動(dòng)而設(shè)計(jì)的工具,其特性NXP MCU里BootROM功能相對(duì)應(yīng),目...
    發(fā)表于 11-01 16:24 ?1次下載
    痞子衡嵌入式:恩智浦MCU安全加密啟動(dòng)一站式工具<b class='flag-5'>NXP-MCUBootUtility</b>用戶指南

    痞子衡嵌入式:恩智浦MCU安全加密啟動(dòng)一站式工具NXP-MCUBootUtility用戶指南

    NXP MCU Boot Utility English | 中文1 軟件概覽1.1 介紹  NXP-MCUBootUtility是一個(gè)專為NXP MCU安全加密啟動(dòng)而設(shè)計(jì)的工具,其特性
    發(fā)表于 11-05 20:51 ?5次下載
    痞子衡嵌入式:恩智浦MCU安全加密啟動(dòng)一站式工具<b class='flag-5'>NXP-MCUBootUtility</b>用戶指南

    "痞子衡嵌入式:MCUBootUtility v3.0發(fā)布,開(kāi)始支持LPC, Kinetis啦"

    --  痞子衡維護(hù)的NXP-MCUBootUtility工具距離上一個(gè)版本(v2.4.0)發(fā)布過(guò)去2個(gè)半月了,這一次痞子衡為大家?guī)?lái)了全新版本v
    發(fā)表于 12-07 12:06 ?8次下載
    "痞子衡嵌入式:<b class='flag-5'>MCUBootUtility</b> <b class='flag-5'>v</b>3.0發(fā)布,開(kāi)始支持LPC, Kinetis啦"

    MCUBootUtility v5.0發(fā)布,初步支持i.MXRT1180

    痞子衡維護(hù)的NXP-MCUBootUtility工具距離上一個(gè)大版本(v4.0.0)發(fā)布過(guò)去4個(gè)多月了,期間痞子衡也做過(guò)兩個(gè)小版本更新,但不足以單獨(dú)介紹。這一次痞子衡為大家?guī)?lái)了全新大
    的頭像 發(fā)表于 05-23 09:44 ?1137次閱讀
    <b class='flag-5'>MCUBootUtility</b> <b class='flag-5'>v</b>5.0發(fā)布,初步支持i.MXRT1180