用Tracealyzer快照模式,能夠跟蹤RTOS系統(tǒng)的運行時間受限于硬件可用的RAM大小,通常只能追蹤幾十秒的時間。使用流模式則不會存在這個問題,只要電腦硬盤空間足夠,可用追蹤幾小時甚至幾天的時間。
流模式需要提供一個可用于實時傳輸跟蹤事件數(shù)據(jù)的通訊端口,例如使用J-Linkk RTT、Uart和USB等接口。很多CortexM3/M4/M7 等架構(gòu)的芯片會配有 ITM(Instrument Trace Macrocell),來打包和傳輸 DWT 產(chǎn)生的事件。ITM有 32個通道,通過SWO進行串行傳輸。借助ITM來實現(xiàn)流模式的數(shù)據(jù)傳輸,可以不受調(diào)試器的限制,只要使用的調(diào)試器支持SWO調(diào)試都可以使用,但推薦使用速率較高的調(diào)試器。
ITM能夠提供較高的傳輸速度。經(jīng)測試,Renesas S7G2運行在240MHz,使用IAR EWARM 7.1和I-jet調(diào)試器時,每秒可以傳輸73 400個事件,達到1175KB/s的傳輸速率。
使用ARM-ITM流模式
下文將以IAR EWARM 8.40、I-jet調(diào)試器和Tracealyzer 4.35為例說明如何配置和使用ITM實現(xiàn)流模式跟蹤。
Note:
1、只有Tracealyzer v4.1及更新的版本才支持ITM流模式。
2、所使用的MCU須支持ITM。ITM對于MCU來說是一個可選的配置,不是所有的M3/M4/M7芯片都支持,但主流的芯片一般都支持。
一、將streamports下J-Link_RTT內(nèi)的源文件加入到工程。

圖 1 ARM ITM實現(xiàn)的源文件
二、在trcConfig.h中配置
#define TRC_CFG_HARDWARE_PORT TRC_HARDWARE
_PORT_ARM_Cortex_M
#define TRC_CFG_RECORDER_MODE TRC_RECORDER
_MODE_STREAMING
三、工程設(shè)置中選擇調(diào)試接口,與實際所使用的一致,這里使用SWD。

圖 2 設(shè)置調(diào)試接口
四、啟動Trace,須使用vTraceEnable(TRC_START)。
五、進入IAR EWARM的調(diào)試環(huán)境,點擊上方的SWO配置圖標(biāo),打開SWO設(shè)置。

圖 3 打開EWARM的SWO配置窗口
六、設(shè)置正確的CPU時鐘,并勾選所使用的ITM通道,默認使用通道1,確認之后退出并關(guān)閉IAR EWARM。

圖 4 EWARM SWO設(shè)置
七、從工程目錄下的settings目錄,打開工程的*.dnx文件(EWARM 7.x的格式為*.dni)

圖 5 dnx文件
將ITMLogFile改成如下所示:
保存文件后再打開IAR,進入調(diào)試查看SWO中的設(shè)置界面進行確認。
八、啟動Tracealyzer,PSF Streaming Settings的Target Connection設(shè)置為Name Pipe,Name與EWARM *dnx中設(shè)置的一致。EWARM與Tracealyzer利用Windows通信機制(命名管道-Named Pipe,在不相關(guān)進程之間實現(xiàn)通信)傳遞數(shù)據(jù),由此,Tracealyzer可以通過EWARM來實時獲取跟蹤數(shù)據(jù)。

圖 6 設(shè)置流模式的連接方式
九、開啟實時跟蹤。需要先啟動Tracealyzer,Live Stream窗口中點“Start Session”之后,EWARM再進入調(diào)試,然后就可以實現(xiàn)實時跟蹤。
審核編輯:湯梓紅
-
ARM
+關(guān)注
關(guān)注
135文章
9552瀏覽量
391857 -
ITM
+關(guān)注
關(guān)注
0文章
7瀏覽量
9515 -
Cortex
+關(guān)注
關(guān)注
2文章
220瀏覽量
48778 -
RTOS
+關(guān)注
關(guān)注
25文章
866瀏覽量
122977 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
328瀏覽量
25086
原文標(biāo)題:Tracealyzer利用CortexM的ITM實現(xiàn)流跟蹤
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何通過Tracealyzer實現(xiàn)Linux系統(tǒng)的跟蹤?
Tracealyzer利用CortexM的ITM實現(xiàn)流跟蹤
評論