《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > Cortex-M處理器調(diào)試和跟蹤特性

Cortex-M處理器調(diào)試和跟蹤特性

2017-04-19
作者:Joseph Yiu
來源:ARM
關(guān)鍵詞: Cortex-M ARM

6.1 調(diào)試和跟蹤特性簡介

不同Cortex-M處理器之間有若干區(qū)別??偨Y(jié)在表9中。

~GUCTCQSABP{82$9]UI9QC7.png

Y9(~0TF1{PT3475T96BLJJ7.png

表9: 調(diào)試和跟蹤特性比較

       Cortex-M處理器的調(diào)試架構(gòu)是基于ARM CoreSight調(diào)試架構(gòu)設(shè)計的,它是個非常容易擴展的架構(gòu),支持多處理器系統(tǒng)。 

       表9列出的是典型設(shè)計需要考慮的。在CoreSight架構(gòu)下,調(diào)試接口和跟蹤接口模塊是和處理器分離的。因此你采用的設(shè)備的調(diào)試和跟蹤連接和表9的可能不一樣。也可能通過添加一些額外的CoreSight調(diào)試組件來增加一些調(diào)試特性。

6.2 Debug connections調(diào)試接口

調(diào)試接口可以讓調(diào)試者實現(xiàn)

- 訪問控制調(diào)試和跟蹤特性的寄存器。

- 訪問內(nèi)存空間。對Cortex-M系列處理器,及時當(dāng)處理器運行時也可以執(zhí)行內(nèi)存空間訪問。這被稱作實時內(nèi)存訪問。

- 訪問處理器核心寄存器。這只能當(dāng)處理器停止的時候才可以操作。

- 訪問Cortex-M0處理器中微跟蹤緩存(MTB)生成的跟蹤歷史記錄。

另外,調(diào)試接口也會用作:

- Flash 編程

Cortex-M系列處理器可以選擇傳統(tǒng)的4到5個引腳(TDI, TDO, TCK, TMS 和可選的 nTRST)的JTAG接口,或者選擇新的只需要兩個引腳的串行調(diào)試協(xié)議接口,串行調(diào)試接口對有限數(shù)目引腳的設(shè)備是非常適合的。

圖片11_conew1.png

圖 10: 串口線或者JTAG調(diào)試接口allows access to processor’s debug features and memory space including peripherals

       串行線調(diào)試協(xié)議接口可以處理JTAG支持的所有特性,支持奇偶校驗。串行調(diào)試協(xié)議被ARM工具廠商廣泛的采用,許多調(diào)試適配器兩種協(xié)議都支持,串行線型號共享調(diào)試接口上TCK和TMS針腳。

6.3 跟蹤接口

       跟蹤接口讓調(diào)試者可以在程序執(zhí)行時實時的(很小的延時)收集程序運行的信息。收集的信息可以是Cortex-M3/M4/M7/M33支持的嵌入式跟蹤單元(ETM)生成的程序指令流信息(指令跟蹤),可以是數(shù)據(jù)跟蹤單元(DWT)生成的數(shù)據(jù)/事件/性能分析信息,或者是軟件控制數(shù)據(jù)跟蹤單元(ITM)生成的信息。

有兩種類型的跟蹤接口可用:

- 跟蹤端口(Trace port)– 多個數(shù)據(jù)線加上時鐘信號線。比SWV有更高的跟蹤帶寬,可以支持SWV的所有跟蹤類型加上指令跟蹤。Cortex-M3/M4/M7或者 Cortex-M33的設(shè)備上,跟蹤端口通常有4個數(shù)據(jù)線和一個時鐘線。(圖11)

- 串行監(jiān)視器(SWV)– 單引腳線跟蹤接口,可以選擇性的支持數(shù)據(jù)跟蹤,事件跟蹤,性能分析和測量跟蹤。(圖 12)

圖片12_conew1.png

圖 11: Trace port 支持指令跟蹤和其他跟蹤功能必要的帶寬

       跟蹤接口提供了在處理器運行的時候獲取大量有用信息的能力。例如嵌入式跟蹤單元(ETM)可以獲取指令運行歷史記錄,數(shù)據(jù)跟蹤單元(ITM)讓軟件產(chǎn)生消息(例如,通過printf)并利用Trace接口獲取。另外,Cortex-M3/M4/M7/M33支持數(shù)據(jù)跟蹤單元(DWT)模塊。

       - 可選的數(shù)據(jù)跟蹤:內(nèi)存地址的信息(例如,地址,數(shù)據(jù)和時間戳的組合)可以在處理器訪問這個地址的時候采集

       - 性能分析跟蹤:CPU在不同操作任務(wù)使用的時鐘周期數(shù)(例如,內(nèi)存訪問,休眠)

       - 事件跟蹤:提供服務(wù)器響應(yīng)的中斷/異常的運行時間和歷史

圖片13_conew1.png

圖 12: Serial wire viewer 提供了低成本,少引腳的跟蹤方案

       這些跟蹤特性被各種工具廠商廣泛采用,采集的信息也被以各種方式直觀的展現(xiàn)出來。例如DWT獲取的數(shù)據(jù)可以在Keil μVision調(diào)試器中以波形的方式展現(xiàn)出來(Keil微控制器開發(fā)工具的一部分)如圖 13所示。

圖片14_conew1.png

Figure 13: Keil μVision 調(diào)試器的邏輯分析器

       雖然Cortex-M0 和 Cortex-M0+不支持跟蹤接口,Cortex-M0+支持叫做微跟蹤緩存的特性(MTB,圖14)。MTB讓用戶分配一小塊系統(tǒng)SRAM作為存儲指令的緩存,通常設(shè)置為循環(huán)緩存,這樣可以抓取最新的指令執(zhí)行歷史并在調(diào)試器上顯示出來。

       這個MTB跟蹤特性也被Cortex-M23 and Cortex-M33支持。

圖片15_conew1.png

圖 14: Cortex-M0+/M23/M33 的MTB提供了低成本指令跟蹤方案

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。