简介
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加油站】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !