• 正文
    • 一、不同J-Link版本關(guān)于RT1170更新
    • 二、J-Link V6.86f對(duì)于RT1170連接復(fù)位處理
    • 三、不同J-Link版本對(duì)于RT1170連接復(fù)位處理
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

不同J-Link版本對(duì)于i.MXRT1170連接復(fù)位后處理行為

2024/05/28
1568
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是不同J-Link版本對(duì)于i.MXRT1170連接復(fù)位后處理行為。

痞子衡之前寫(xiě)過(guò)一篇舊文 《i.MXRT1170上用J-Link連接復(fù)位后PC總是停在0x223104的原因》,這篇文章詳細(xì)解釋了 RT1170 BootROM 代碼里軟件實(shí)現(xiàn)的 Debug Mailbox 機(jī)制對(duì) J-Link 調(diào)試體驗(yàn)的影響,文末還給了結(jié)論 J-Link 里只要執(zhí)行 reset 后 PC 就必定會(huì)停在 0x223014,這句話(huà)其實(shí)不完全準(zhǔn)確,因?yàn)榈讓?J-Link 腳本內(nèi)容可以改變這個(gè)行為,這在不同 J-Link 版本的 DLL 處理里就有體現(xiàn)。今天痞子衡要聊得就是這個(gè)話(huà)題:

一、不同J-Link版本關(guān)于RT1170更新

為了了解不同 J-Link 版本對(duì)于 RT1170 處理差異,痞子衡從 J-Link 歷史版本記錄 https://www.segger.com/downloads/jlink/ReleaseNotes_JLink.html 里抽取了從 V6.64 - V7.96i 所有關(guān)于 RT1170 更新如下,其中 V6.86、V6.94、V6.98c、V7.86 四個(gè)版本涉及 Debug 連接處理,但是沒(méi)有說(shuō)明進(jìn)一步實(shí)現(xiàn)細(xì)節(jié)。

二、J-Link V6.86f對(duì)于RT1170連接復(fù)位處理

從 J-Link 版本來(lái)看,V6.86 開(kāi)始正式支持 RT1170 B0 Silicon(恩智浦最終發(fā)布的芯片版本),我們就從 V6.86 版本開(kāi)始做測(cè)試。在測(cè)試之前,痞子衡在板載串行 NOR Flash 里燒錄了一個(gè)鏈接在 0x30002000 的 XIP App 程序。然后使用 J-Link commander 操作如下:

上述測(cè)試結(jié)果表明:當(dāng)芯片上電/復(fù)位能正常啟動(dòng)鏈接在 0x30002000 的 App 時(shí),J-Link 下用默認(rèn) MIMXRT1176XXXA_M7 設(shè)備去連芯片復(fù)位后,PC 能停在 App 里,因?yàn)樽詭?DLL 里集成了 jlinkscript 處理,這在 dll 里搜索 "Valid application detected. Setting PC / SP manually." 信息可知。但是如果我們自己添加的 jlinkscript 不包含這樣的處理(比如用超級(jí)下載算法 UFL),那么 PC 還是停在 0x223104。

如果我們?cè)诎遢d串行 NOR Flash 里燒錄了一個(gè)不是鏈接在 0x30002000 的 App,痞子衡燒錄得是鏈接在 0x3000a000 處的 XIP App(總之保證 Flash 偏移 0x2000 處沒(méi)有有效 App 中斷向量表),再來(lái)做同樣的測(cè)試(在芯片能正常啟動(dòng) App 情況下),此時(shí) PC 永遠(yuǎn)停在 0x223104,這說(shuō)明 J-Link DLL 默認(rèn)集成的 jlinkscript 永遠(yuǎn)是從 Flash 0x2000 偏移處取 App 信息去設(shè)置 PC、SP。

我們緊接著上面的測(cè)試,使用 mem32 命令讀取 0x3000a000 處內(nèi)容,發(fā)現(xiàn)是有效 App 數(shù)據(jù),這說(shuō)明 FlexSPI 外設(shè)被正常初始化了,此時(shí)手動(dòng)設(shè)置 PC、SP 后可以跳轉(zhuǎn)到 App 里,這意味著如果我們自定義 jlinkscript 里能夠解析 IVT 去獲取 App 信息,那么可以做到通用。

三、不同J-Link版本對(duì)于RT1170連接復(fù)位處理

由于 V6.86 版本對(duì)于連接復(fù)位處理已經(jīng)一定程度上滿(mǎn)足實(shí)際需求,因此對(duì)比后續(xù)更高 J-Link 版本意義不太重要了,不過(guò)這里有一個(gè)差異不得不提。正常來(lái)說(shuō),在芯片上電/復(fù)位能正常啟動(dòng)鏈接在 0x30002000 的 App 情況下,reset 命令執(zhí)行完后,PC 應(yīng)該 halt 在 BootROM 里,需要繼續(xù)使用 go 命令才能跳轉(zhuǎn)進(jìn)入 App,這在 V6.86 上確實(shí)如此。然后在 V7.94f 版本上測(cè)試來(lái)看,reset 之后,PC 已經(jīng) halt 在 App 里了。

至此,不同J-Link版本對(duì)于i.MXRT1170連接復(fù)位后處理行為痞子衡便介紹完畢了,掌聲在哪里~~~

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠(chǎng)商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
FC5BQCCMM20.0-T1 1 Fox Electronics Parallel - Fundamental Quartz Crystal, 20MHz Nom, SMD, 4 PIN
$0.99 查看
NC7SZ08M5 1 Rochester Electronics LLC LVC/LCX/Z SERIES, 2-INPUT AND GATE, PDSO5, 1.60 MM, MO-178, SOT-23, 5 PIN
$0.44 查看
AD73311ARSZ-REEL 1 Rochester Electronics LLC SPECIALTY TELECOM CIRCUIT, PDSO20, SSOP-20
$9.29 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶(hù)資源
  • 寫(xiě)文章/發(fā)需求
立即登錄

碩士畢業(yè)于蘇州大學(xué)電子信息學(xué)院,目前就職于恩智浦(NXP)半導(dǎo)體MCU系統(tǒng)部門(mén),擔(dān)任嵌入式系統(tǒng)應(yīng)用工程師。痞子衡會(huì)定期分享嵌入式相關(guān)文章