簡介
ETM trace是一種高速Trace,并提供強大的調試模式,可幫助客戶解決最困難的問題。本文旨在介紹如何為i.MX RT11xx芯片啟用ETM Trace以及使用uTrace調試器的基本步驟。
TRACE32調試器硬件包括:


2. i.MX RT1170不需要通過燒寫efuse來更改調試模式。
3. 焊接Trace 信號線相關的電阻,TRACE_CLK(R1885),TRACE_D0(R1881),TRACE_D1(R1882),TRACE_D2(R1883),TRACE_D3(R1884),并刪除和網口復用的電阻,R1290, R1293, R1295, R1294, R1296(圖3);Trace的連接器(圖4)。
圖3 Trace相關電阻
? ? ? ? ? ? ? ? ? ? ??圖4 Trace信號的連接器
圖5 選擇CPU類型
并將調試端口類型設置為SWD,如圖6所示:
? ? ? ? ? ? ??圖6 調試端口類型設置為JTAG
最后在“Mode”中選擇“Up”以調試模擬重啟CPU,并在調試器和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
ENDDO
4. 單擊"Break"或按 "F8" 暫停程序

TRACE32PowerView提供了一個時序圖,該時序顯示了programcounters 何時處于哪個function/symbol 范圍內。
在圖9中點擊“ Chart”按鈕將打開“圖10 Trace.Chart.sYmbol”窗口。? ? ? ? ? ? ? ? ? ? ? 圖9 Trace.List窗口
? ? ? ? ? ? ? ? ? ? ?圖10.Chart.sYmbol 窗口
END
更多恩智浦AI-IoT市場和產品信息,邀您同時關注“NXP客棧”微信公眾號

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

長按二維碼,關注我們
原文標題:如何在i.MX RT11xx系列上使能ETM Trace
文章出處:【微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。
-
mcu
+關注
關注
146文章
17790瀏覽量
359376 -
恩智浦
+關注
關注
14文章
5939瀏覽量
112436
原文標題:如何在i.MX RT11xx系列上使能ETM Trace
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何禁用i.MX RT1170 MCU中的M4內核?
在i.MX RT 1176上正常運行代碼時與使用IAR調試代碼時存在一些奇怪的差異,為什么?
恩智浦推出FRDM i.MX 93開發板
在i.MX RT處理器上使用PXP實現縮放和旋轉組合操作

恩智浦i.MX 94應用處理器如何變革工業和汽車連接
恩智浦i.MX RT700系列MCU的優勢
恩智浦發布i.MX 94系列應用處理器
NXP專為邊緣AI打造的i.MX RT700跨界MCU到底強在哪?

恩智浦推出全新i.MX RT700跨界MCU系列
i.MX Linux開發實戰指南—基于野火i.MX系列開發板
恩智浦半導體發布i.MX RT700系列MCU,賦能智能AI邊緣設備
NXP Semiconductors i.MX 93處理器特性概述

評論