用Tracealyzer快照模式,能夠跟蹤RTOS系統(tǒng)的運(yùn)行時(shí)間受限于硬件可用的RAM大小,通常只能追蹤幾十秒的時(shí)間。使用流模式則不會(huì)存在這個(gè)問(wèn)題,只要電腦硬盤空間足夠,可用追蹤幾小時(shí)甚至幾天的時(shí)間。
流模式需要提供一個(gè)可用于實(shí)時(shí)傳輸跟蹤事件數(shù)據(jù)的通訊端口,例如使用J-Linkk RTT、Uart和USB等接口。很多CortexM3/M4/M7 等架構(gòu)的芯片會(huì)配有 ITM(Instrument Trace Macrocell),來(lái)打包和傳輸 DWT 產(chǎn)生的事件。ITM有 32個(gè)通道,通過(guò)SWO進(jìn)行串行傳輸。借助ITM來(lái)實(shí)現(xiàn)流模式的數(shù)據(jù)傳輸,可以不受調(diào)試器的限制,只要使用的調(diào)試器支持SWO調(diào)試都可以使用,但推薦使用速率較高的調(diào)試器。
ITM能夠提供較高的傳輸速度。經(jīng)測(cè)試,Renesas S7G2運(yùn)行在240MHz,使用IAR EWARM 7.1和I-jet調(diào)試器時(shí),每秒可以傳輸73 400個(gè)事件,達(dá)到1175KB/s的傳輸速率。
使用ARM-ITM流模式
下文將以IAR EWARM 8.40、I-jet調(diào)試器和Tracealyzer 4.35為例說(shuō)明如何配置和使用ITM實(shí)現(xiàn)流模式跟蹤。
Note:
1、只有Tracealyzer v4.1及更新的版本才支持ITM流模式。
2、所使用的MCU須支持ITM。ITM對(duì)于MCU來(lái)說(shuō)是一個(gè)可選的配置,不是所有的M3/M4/M7芯片都支持,但主流的芯片一般都支持。
一、將streamports下J-Link_RTT內(nèi)的源文件加入到工程。
圖 1 ARM ITM實(shí)現(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)試接口,與實(shí)際所使用的一致,這里使用SWD。
圖 2 設(shè)置調(diào)試接口
四、啟動(dòng)Trace,須使用vTraceEnable(TRC_START)。
五、進(jìn)入IAR EWARM的調(diào)試環(huán)境,點(diǎn)擊上方的SWO配置圖標(biāo),打開(kāi)SWO設(shè)置。
圖 3 打開(kāi)EWARM的SWO配置窗口
六、設(shè)置正確的CPU時(shí)鐘,并勾選所使用的ITM通道,默認(rèn)使用通道1,確認(rèn)之后退出并關(guān)閉IAR EWARM。
圖 4 EWARM SWO設(shè)置
七、從工程目錄下的settings目錄,打開(kāi)工程的*.dnx文件(EWARM 7.x的格式為*.dni)
圖 5 dnx文件
將ITMLogFile改成如下所示:
保存文件后再打開(kāi)IAR,進(jìn)入調(diào)試查看SWO中的設(shè)置界面進(jìn)行確認(rèn)。
八、啟動(dòng)Tracealyzer,PSF Streaming Settings的Target Connection設(shè)置為Name Pipe,Name與EWARM *dnx中設(shè)置的一致。EWARM與Tracealyzer利用Windows通信機(jī)制(命名管道-Named Pipe,在不相關(guān)進(jìn)程之間實(shí)現(xiàn)通信)傳遞數(shù)據(jù),由此,Tracealyzer可以通過(guò)EWARM來(lái)實(shí)時(shí)獲取跟蹤數(shù)據(jù)。
圖 6 設(shè)置流模式的連接方式
九、開(kāi)啟實(shí)時(shí)跟蹤。需要先啟動(dòng)Tracealyzer,Live Stream窗口中點(diǎn)“Start Session”之后,EWARM再進(jìn)入調(diào)試,然后就可以實(shí)現(xiàn)實(shí)時(shí)跟蹤。
審核編輯:湯梓紅
-
ARM
+關(guān)注
關(guān)注
134文章
9322瀏覽量
375591 -
ITM
+關(guān)注
關(guān)注
0文章
6瀏覽量
9131 -
Cortex
+關(guān)注
關(guān)注
2文章
203瀏覽量
47187 -
RTOS
+關(guān)注
關(guān)注
24文章
844瀏覽量
120853 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
312瀏覽量
24206
原文標(biāo)題:Tracealyzer利用CortexM的ITM實(shí)現(xiàn)流跟蹤
文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何通過(guò)Tracealyzer實(shí)現(xiàn)Linux系統(tǒng)的跟蹤?

評(píng)論