jlink烧录软件_使用 MCU BootUtility 工具来烧录I.MXRT
使用MDK/MCUXpresso IDE/IAR工具編譯生成燒錄固件文件。
使用MCU BootUtility來加載hex文件或者bin文件或者是.srec文件進(jìn)行一站式燒錄。默認(rèn)情況下芯片是空芯片,因此,可以直接使用MCU BootUtility燒錄,即使是處于QSPI BOOT模式,這種適合于工廠批量生產(chǎn)。但是如果芯片燒錄過以后,需要跳線到Serial Download模式才可以使用MCU BootUtility來燒錄。
如果這個(gè)時(shí)候需要對(duì)燒錄完成后的芯片做再次在線調(diào)試。MDK環(huán)境下會(huì)彈出如下錯(cuò)誤"Could not stop Cortex-M device! Please check the JTAG cable"。但是實(shí)際上硬件連接是完全正常的,使用JLINK調(diào)試工具在不做任何改動(dòng)的情況下也是可以正常連接調(diào)試的。那么原因是什么呢?
這里默認(rèn),采用CMSIS-DAP的情況下,采用的連接方式是 Normal正常連接,需要將其修改為without stop就可以正常燒錄調(diào)試了。
如果再次使用MCUXpresso IDE或者IAR來操作沒有類似的問題。是可以直接燒錄調(diào)試的。點(diǎn)擊第一個(gè)藍(lán)色的小爬蟲調(diào)試按鍵就可以一鍵識(shí)別CMSIS-DAP調(diào)試工具,并進(jìn)入到調(diào)試模式。
如果是采用的JLINK調(diào)試工具,則不需要做任何設(shè)置就可以。
這里在MDK的官網(wǎng)找到了解釋。https://www.keil.com/support/man/docs/ulink2/ulink2_ctx_debug.htm#/connect
Debug?部分提供了連接和復(fù)位器件,緩存和下載代碼的選項(xiàng),這個(gè)設(shè)置應(yīng)用于每次調(diào)試會(huì)話窗啟動(dòng)的時(shí)候。
連接& 復(fù)位選項(xiàng)
Connect & Reset Options?用于連接目標(biāo)板的時(shí)候,控制指令的執(zhí)行。
Connect?- 用于調(diào)試器連接目標(biāo)器件的時(shí)候,控制操作執(zhí)行。有如下選項(xiàng)可以選擇
Normal?在連接后,只是停止CPU在當(dāng)前的執(zhí)行指令。
with Pre-reset?在連接到目標(biāo)芯片的時(shí)候,執(zhí)行硬件復(fù)位 (HW RESET)?
under Reset?在連接到目標(biāo)芯片的時(shí)候,保持住硬件復(fù)位(HW RESET) 信號(hào)有效。使用這個(gè)選項(xiàng)是當(dāng)用戶程序錯(cuò)誤的禁止 JTAG/SW接口的時(shí)候使用。
without Stop?連接和斷開目標(biāo)芯片的時(shí)候,不需要明確的停止CPU。使用這個(gè)選項(xiàng)是用于檢查SFRs的內(nèi)存或外設(shè)。
在連接后禁止復(fù)位?Reset?
禁止?Options for Target - Debug - Load Application at Startup
Reset after Connect?連接后復(fù)位(如果啟用)在連接到目標(biāo)后執(zhí)行復(fù)位下拉列表(見下文)中定義的復(fù)位操作。禁用時(shí),調(diào)試器只會(huì)在連接目標(biāo)芯片后在當(dāng)前執(zhí)行的指令處停止CPU。
Reset?控制目標(biāo)器件的復(fù)位操作,有如下選項(xiàng)。
Custom?選擇調(diào)試描述里面的復(fù)位方法,和標(biāo)準(zhǔn)的復(fù)位方法不一樣。
Autodetect?根據(jù)目標(biāo)器件選擇最合適的方法,可以是特殊的復(fù)位或者是標(biāo)準(zhǔn)的復(fù)位,如果Autodetect?找到的是未知的器件,那么使用 SYSRESETREQ復(fù)位方法。
HW RESET?通過硬件復(fù)位信號(hào)?(HW RESET),執(zhí)行硬件復(fù)位。
SYSRESETREQ?通過設(shè)置SYSRESETREQ位,來執(zhí)行軟件復(fù)位。Cortex-M 內(nèi)核和片上外設(shè)都復(fù)位。
VECTRESET?通過設(shè)置?VECTRESET?位來執(zhí)行軟件復(fù)位操作。只有 Cortex-M 內(nèi)核復(fù)位。片上的外設(shè)不復(fù)位。針對(duì)有些 Cortex-M器件,VECTRESET是唯一的復(fù)位方式,但是 VECTRESET不支持 Cortex-M0, Cortex-M0+, Cortex-M1和 ARMv8-M 內(nèi)核。
Stop after Reset?永久啟用Cortex-M復(fù)位向量捕獲,這會(huì)在運(yùn)行復(fù)位向量時(shí)停止CPU(例如,由于按下板上的復(fù)位按鈕,在目標(biāo)運(yùn)行時(shí)從uVision MDK 發(fā)出復(fù)位;或者是由看門狗定時(shí)器引起的復(fù)位)。
Stop after Bootloader?在執(zhí)行bootloader指令后停止CPU。
Log Debug Accesses?記錄目標(biāo)調(diào)試訪問,下面的訪問會(huì)被記錄:
MEM: 目標(biāo)存儲(chǔ)器訪問
AP: 端口寄存器訪問
DP: 調(diào)試端口寄存器訪問
備注
記錄內(nèi)存塊訪問,如讀或?qū)憠K訪問會(huì)被記錄
并不是所有的調(diào)試訪問都被詳細(xì)記錄以保持輸出的可讀性。例如,目標(biāo)內(nèi)存訪問的DP和AP寄存器訪問不被記錄,而是抽象為內(nèi)存訪問。
Cache Options
Cache Options?通過將目標(biāo)內(nèi)存區(qū)域緩存到PC內(nèi)存中,在目標(biāo)調(diào)試期間優(yōu)化 μVision MDK調(diào)試器的性能。默認(rèn)的,caching options是使能的以獲取最大的性能。.
Cache Code?通知調(diào)試器下載的程序代碼不會(huì)更改。當(dāng)設(shè)置此選項(xiàng)時(shí),MDK不從目標(biāo)系統(tǒng)讀取程序代碼。當(dāng)應(yīng)用程序包含自修改代碼或程序代碼可能被覆蓋時(shí),請(qǐng)禁用此選項(xiàng)。
Cache Memory?確定在程序停止期間是否更新內(nèi)存顯示。設(shè)置此選項(xiàng)后,調(diào)試器在執(zhí)行下一個(gè)單步、過程單步或go命令之前不會(huì)更新內(nèi)存顯示。禁用此選項(xiàng)可在調(diào)試器停止時(shí)顯示實(shí)際內(nèi)存內(nèi)容(例如,映射外圍設(shè)備內(nèi)存的內(nèi)容)。
Download Options
Download Options?當(dāng)啟動(dòng)調(diào)試會(huì)話窗的時(shí)候,控制加載代碼到目標(biāo)系統(tǒng)中。
Verify Code Download?針對(duì)每調(diào)試,比較目標(biāo)芯片和載入到調(diào)試器中的應(yīng)用程序內(nèi)容。使能這個(gè)選項(xiàng),確保程序目標(biāo)芯片中加載的固件與MDK 調(diào)試器中加載的固件之間的相關(guān)性。?
Download to Flash?下載代碼到所有的存儲(chǔ)器區(qū),當(dāng)禁止的時(shí)候,調(diào)試器不會(huì)下載代碼到內(nèi)存中。
Address Range?在“ Target Driver Settings - Programming Algorithm”對(duì)話框中定義。如果應(yīng)用程序加載到RAM中并且Flash 算法定義為相同的地址范圍,則啟用該選項(xiàng)。默認(rèn)情況下,此選項(xiàng)處于禁用狀態(tài)。請(qǐng)參閱μVision Debugger:Error 57:Debugger Output Window中的非法地址。
總結(jié)
以上是生活随笔為你收集整理的jlink烧录软件_使用 MCU BootUtility 工具来烧录I.MXRT的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flash 多张相片同时移动_Flash
- 下一篇: 科大讯飞和百得思维_最佳辩手陈铭力荐 讯