《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > Cortex-M處理器調試和跟蹤特性

Cortex-M處理器調試和跟蹤特性

2017-04-19
作者:Joseph Yiu
來源:ARM
關鍵詞: Cortex-M ARM

6.1 調試和跟蹤特性簡介

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

~GUCTCQSABP{82$9]UI9QC7.png

Y9(~0TF1{PT3475T96BLJJ7.png

表9: 調試和跟蹤特性比較

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

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

6.2 Debug connections調試接口

調試接口可以讓調試者實現

- 訪問控制調試和跟蹤特性的寄存器。

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

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

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

另外,調試接口也會用作:

- Flash 編程

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

圖片11_conew1.png

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

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

6.3 跟蹤接口

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

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

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

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

圖片12_conew1.png

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

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

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

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

       - 事件跟蹤:提供服務器響應的中斷/異常的運行時間和歷史

圖片13_conew1.png

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

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

圖片14_conew1.png

Figure 13: Keil μVision 調試器的邏輯分析器

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

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

圖片15_conew1.png

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

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