簡介
ETM trace是一種高速Trace,并提供強(qiáng)大的調(diào)試模式,可幫助客戶解決最困難的問題。本文旨在介紹如何為i.MX RT11xx芯片啟用ETM Trace以及使用uTrace調(diào)試器的基本步驟。
TRACE32調(diào)試器硬件包括:
圖1. 硬件連接示意圖
圖2 i.MX RT1170 EVK Board 硬件連接圖2. i.MX RT1170不需要通過燒寫efuse來更改調(diào)試模式。
3. 焊接Trace 信號線相關(guān)的電阻,TRACE_CLK(R1885),TRACE_D0(R1881),TRACE_D1(R1882),TRACE_D2(R1883),TRACE_D3(R1884),并刪除和網(wǎng)口復(fù)用的電阻,R1290, R1293, R1295, R1294, R1296(圖3);Trace的連接器(圖4)。
圖3 Trace相關(guān)電阻
? ? ? ? ? ? ? ? ? ? ??圖4 Trace信號的連接器

圖5 選擇CPU類型
并將調(diào)試端口類型設(shè)置為SWD,如圖6所示:
? ? ? ? ? ? ??圖6 調(diào)試端口類型設(shè)置為JTAG
最后在“Mode”中選擇“Up”以調(diào)試模擬重啟CPU,并在調(diào)試器和CPU之間建立通信。
? ? ? ? ? ? ? ? ? ? ? 圖 7 在IAR中生成.elf文件
; --------------------------------------------------------------------------------
; initialize and start the debugger
RESet
SYStem.RESet
SYStem.CPU IMXRT1176-CM7
SYStem.CONFIG.DEBUGPORTTYPE JTAG
IF COMBIPROBE()||UTRACE()
(
SYStem.CONFIG.CONNECTOR MIPI20T
)
SYStem.Option DUALPORT ON
SYStem.MemAccess DAP
SYStem.JtagClock 10MHz
Trace.DISable
ETM.OFF
ITM.OFF
system.attach
if run()
break
; --------------------------------------------------------------------------------
; load demo program (uses internal RAM only)
Data.LOAD.Elf "~~~~/hello_world_demo_cm7.elf"
; --------------------------------------------------------------------------------
; initialize OFFCHIP trace (ETM, ITM)
IF COMBIPROBE()||UTRACE()||Analyzer()
(
; set PinMux and enable Clocks
Data.Set AD:0x400E821C %Long 0x00000003 ; IOMUXC.SW_MUX_CTL_PAD_GPIO_DISP_B2_02.MUX_MODE = 0x3
Data.Set AD:0x400E8220 %Long 0x00000003 ; IOMUXC.SW_MUX_CTL_PAD_GPIO_DISP_B2_03.MUX_MODE = 0x3
Data.Set AD:0x400E8224 %Long 0x00000003 ; IOMUXC.SW_MUX_CTL_PAD_GPIO_DISP_B2_04.MUX_MODE = 0x3
Data.Set AD:0x400E8228 %Long 0x00000003 ; IOMUXC.SW_MUX_CTL_PAD_GPIO_DISP_B2_05.MUX_MODE = 0x3
Data.Set AD:0x400E822C %Long 0x00000003 ; IOMUXC.SW_MUX_CTL_PAD_GPIO_DISP_B2_06.MUX_MODE = 0x3
Data.Set AD:0x40c08028 %Long 0x0000000a ; IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_10_GPIO12_IO10,0U);
; Switch clock multiplexer for the CoreSight trace
Data.Set AD:0x40CC0300 %Long 0x00000400 ; CCM.CLOCK_ROOT[6].CLOCK_ROOT_CONTROL.MUX = 0x4
; Disable the Effect of SWO on TPIU
Data.Set EDAP:0x80048EF0 %LE %Long 0x00000001
Data.Set EDAP:0x80048F00 %LE %Long 0x00000001
TPIU.PortSize 4
TPIU.PortMode Continuous
ITM.DataTrace CorrelatedData
ITM.ON
ETM.Trace ON
ETM.COND ALL
ETM.ON
)
IF Analyzer()
(
Trace.METHOD Analyzer
Trace.AutoInit ON
Trace.AutoFocus
)
ELSE IF COMBIPROBE()||UTRACE()
(
Trace.METHOD CAnalyzer
Trace.AutoInit ON
CAnalyzer.AutoFocus
)
; --------------------------------------------------------------------------------
; start program execution
Go.direct main
WAIT !STATE.RUN()
; --------------------------------------------------------------------------------
; open some windows
WinCLEAR
Mode.Hll
WinPOS 0. 0. 116. 26.
List.auto
WinPOS 120. 0. 100. 8.
Frame.view
WinPOS 120. 14.
Var.Watch
Var.AddWatch %SpotLight ast flags
WinPOS 120. 25.
Trace.List
;WinPOS 0. 32.
;Trace.DRAW.Var %DEFault plot1
ENDDO4. 單擊"Break"或按 "F8" 暫停程序
圖8 窗口更新圖例TRACE32PowerView提供了一個(gè)時(shí)序圖,該時(shí)序顯示了programcounters 何時(shí)處于哪個(gè)function/symbol 范圍內(nèi)。
在圖9中點(diǎn)擊“ Chart”按鈕將打開“圖10 Trace.Chart.sYmbol”窗口。
? ? ? ? ? ? ? ? ? ? ? 圖9 Trace.List窗口
? ? ? ? ? ? ? ? ? ? ?圖10.Chart.sYmbol 窗口
END
更多恩智浦AI-IoT市場和產(chǎn)品信息,邀您同時(shí)關(guān)注“NXP客?!蔽⑿殴娞?/span>

NXP客棧
恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護(hù)航。
長按二維碼,關(guān)注我們
恩智浦MCU加油站
這是由恩智浦官方運(yùn)營的公眾號,著重為您推薦恩智浦MCU的產(chǎn)品信息、開發(fā)技巧、教程文檔、培訓(xùn)課程等內(nèi)容。

長按二維碼,關(guān)注我們
原文標(biāo)題:如何在i.MX RT11xx系列上使能ETM Trace
文章出處:【微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
mcu
+關(guān)注
關(guān)注
147文章
18829瀏覽量
394295 -
恩智浦
+關(guān)注
關(guān)注
14文章
6083瀏覽量
143021
原文標(biāo)題:如何在i.MX RT11xx系列上使能ETM Trace
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
探索NXP EdgeReady智能HMI解決方案:i.MX RT117H的無限可能
探索i.MX RT1180:高性能處理器的技術(shù)剖析與應(yīng)用指南
FRDM i.MX 9平臺選型指南:FRDM i.MX 9系列開發(fā)平臺解析
i.MX RT1180實(shí)現(xiàn)EtherCAT+伺服控制的終極實(shí)踐
RT1180 XMCD的特點(diǎn)和使用注意事項(xiàng)
恩智浦i.MX RT1180跨界MCU助力下一代伺服控制系統(tǒng)
恩智浦MCU方案 單顆i.MX RT1180實(shí)現(xiàn)EtherCAT+伺服控制
恩智浦i.MX 95系列MPU如何賦能邊緣計(jì)算
基于恩智浦i.MX RT芯片內(nèi)部RAM運(yùn)行LVGL工程
如何實(shí)現(xiàn)安卓與恩智浦i.MX RT1170的無線投屏與控制
i.MX RT系列中FlexSPI DQS信號引腳配置GPIO方法
如何禁用i.MX RT1170 MCU中的M4內(nèi)核?
在i.MX RT 1176上正常運(yùn)行代碼時(shí)與使用IAR調(diào)試代碼時(shí)存在一些奇怪的差異,為什么?
在i.MX RT處理器上使用PXP實(shí)現(xiàn)縮放和旋轉(zhuǎn)組合操作
如何在i.MX RT11xx系列上使能ETM Trace
評論