電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 304|回復: 0
收起左側

MCUBootUtility v6.3發(fā)布,支持獲取與解析啟動日志

[復制鏈接]

281

主題

286

帖子

1632

積分

三級會員

Rank: 3Rank: 3

積分
1632
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-20 11:31:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
痞子衡維護的 NXP-MCUBootUtility 工具距離上一個大版本(v5.3.0)發(fā)布過去一年了,期間痞子衡也做過三個版本更新,但不足以單獨介紹。這一次痞子衡為大家?guī)砹巳轮匾姹緑6.3.x,這次更新主要是想和大家特別聊聊 ROM 啟動日志這個特性的支持。
+ a8 h9 P' M, c( d( Y一、v6.0 - v6.3更新記錄-- v5.3.2
$ ~( s/ x5 O4 M* _. V/ P5 EImprovement:$ m2 w9 k  {( G& c. ~
    1. [RTyyyy] 使能 RT1180 的 XMCD 支持
+ w$ f1 ^" g2 I- n0 f: T( R' `Bufixes:
( B& `& V" j9 E4 ~    1. [RTyyyy] XMCD配置界面里write dummy cycle設置不生效- g. V2 Z) a/ u: E! }
-- v6.0.0
. h0 j& l. A0 R; K8 GFeatures:
  r" A9 s+ y$ \3 \    1. [Wireless] 支持K32W0x15 [, s7 s2 I" l2 `- }0 K* ?3 }
    2. [Wireless] 支持RW61x1 c6 N4 i4 `/ C
    3. [RW61x] 支持裸應用程序文件作為輸入源文件+ l# O1 u  {3 X' i& z
    4. [RW61x] 支持UART和USB-HID兩種下載方式(COM端口/USB設備自動識別)/ P& X& D9 A+ b
    5. [RW61x] 支持用于開發(fā)階段的非安全加密啟動(未簽名)  D3 c3 _4 t' ]" l  O- _! _) e
    6. [RW61x] 支持FlexSPI NOR啟動設備- a+ T( y% }- l& |) Y' R
Bufixes:
' H) t4 m2 O! n+ f- Q    1. [RTyyyy] 修復對第二個FlexSPI NOR設備的下載支持
- T4 P' z5 M# `    2. [RTxxx] 修復對FlexSPI NOR設備的下載支持3 X8 J  ?1 m  |4 @' L2 k, z
-- v6.1.0
+ g; j, {6 q0 D% e8 \' IFeatures:; w6 C: w; s1 O. f) @
    1. [RTxxx] 支持i.MXRT700 A0
4 }' j( X: i* R8 m1 ]    2. [RT700] 支持裸應用程序文件作為輸入源文件) V. X1 T  o2 u" D7 |
    3. [RT700] 支持UART和USB-HID兩種下載方式(COM端口/USB設備自動識別  |% J! {  L* L4 U- p7 o5 ?
    4. [RT700] 支持用于開發(fā)階段的非安全加密啟動(未簽名)
* C/ u# w$ `5 {. M; e( K    5. [RT700] 支持XSPI NOR啟動設備
5 q% e$ _, \" x-- v6.2.0
" u, o4 n* n# _Features:
4 K4 E# E, b5 o! x: m    1. [RT700] 支持下載程序進第二個XSPI上連接的啟動設備
3 ?4 n$ o# f3 n/ `Bufixes:. h/ V. g, P/ w0 l& H6 @9 c' _
    1. [RT700] 當NOR Flash的FDCB區(qū)域非空時,下載可能報錯
# k; r4 S( m$ w& U( S    2. [RT700] 當待下載程序鏈接在安全SRAM地址時,下載會報錯
8 Z- O- W5 ?+ h& a  {-- v6.3.0$ J* i5 a( Q( S) e: T* `
Features:
' d. u, T3 m( h; q# n  M5 H    1. [RT] 可以支持獲取并解析ROM啟動日志
  M8 w! A+ p. n* o; ?; u' f7 kImprovement:7 n" u+ @1 ^1 ?6 O+ K' u
    1. [RT] 對FlexSPI NOR設備做擦除時,可自定義對齊長度) [1 e- X$ s: T* D$ S. V
    2. [RT1170] 增加對英飛凌S28H系列Octal Flash支持
" H0 E- m6 E7 K2 R: O. w5 L5 Z5 D二、幾個不可忽視的更新2.1 初步支持RT700i.MX RT700 是 RT 三位數(shù)家族最新一代旗艦產(chǎn)品,是 i.MX RT500 的升級,可以說是恩智浦有史以來最強大最復雜的 MCU。鑒于官網(wǎng)還沒有發(fā)布這顆芯片,這里暫不過多介紹了。
0 ?* r  T4 f4 F2.2 支持自定義FlexSPI NOR設備擦除對齊長度我們知道軟件對于 RT 四位數(shù)的啟動設備下載支持,靠得是加載二級 Flashloader 實現(xiàn)的。無論是一鍵下載模式,還是通用編程器模式,軟件都會將擦除范圍參數(shù)(起始地址,長度)傳遞給 Flashloader 處理,而 Flashloader 里會自動做對齊處理(根據(jù)實際情況,組合 Block 和 Sector 擦除命令,比如粗粒度先用 Block 擦除,細粒度再用 Sector 擦除)。
9 ]2 d9 n4 z& h1 b) Z8 \上述 Flashloader 里的關于擦除處理機制看似很完美,但是對于一些特殊類型的 Flash 可能會失效。比如 Infineon MirrorBit Flash 類型,這種 Flash 僅在某幾個特定 Block 上支持 Sector 擦除,對于這種情況,就不能任由 Flashloader 來管理擦除粒度了,因此需要用戶能夠強制指定擦除對齊長度。3 R9 r! C0 l0 u
在工具目錄 \src        argets\xxx\bltargetconfig.py 文件中僅可見如下定義,我們可以改變這個定義值來設置擦除對齊長度,對于 Infineon MirrorBit Flash,我們需要將擦除對齊設為 Block 長度 256KB。. s* N& [& R2 g2 B1 B
xspiNorEraseAlignment = 1 # in byte, H- x. ?/ R' i5 V( [: F# B4 V3 d
2.3 對于RT ROM啟動日志解析支持i.MX RT 系列發(fā)布至今,如果要給客戶支持問題類型做一個總結,基本上啟動相關問題要占 30%。如果遇到芯片無法啟動問題,除了常規(guī)經(jīng)驗以外,我們還可以通過 ROM 啟動日志來輔助分析。, ^1 X; c3 `7 m- [
所謂 ROM 啟動日志,就是 ROM 在執(zhí)行過程中記錄的狀態(tài),這個狀態(tài)數(shù)據(jù)被存在在芯片內(nèi)部 RAM 固定位置處(芯片出廠后,這個位置就無法更改了,被寫死在 ROM 代碼里)。如果遇到啟動失敗問題,我們可以讀出日志數(shù)據(jù)予以分析。" w0 Q0 \8 F- V& z4 j) v
軟件支持兩種途徑獲取并解析啟動日志數(shù)據(jù):9 u3 R- ], @' q; r
  • 途徑一:用戶根據(jù)界面里 Log Start, Log Length 信息先讀取出日志數(shù)據(jù)文件(比如用 JLink 去讀取),然后在界面 Log Data 框里選取這個日志文件路徑,最后點擊 View Boot Log 按鈕解析。
  • 途徑二:在芯片啟動失敗自動轉(zhuǎn)入串行下載模式時,不勾選軟件 One Step 模式,單步連接保證芯片處于 Flashloader 模式(便于 blhost 工具讀取內(nèi)部 RAM),直接點擊 View Boot Log 按鈕獲取并解析。
  • 回復

    使用道具 舉報

    發(fā)表回復

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則


    聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表