如今眾多Cortex-M處理器能這么方便調(diào)試,在于有一項(xiàng)基于Arm Cortex-M處理器設(shè)備的CoreSight技術(shù),該技術(shù)引入了強(qiáng)大的新調(diào)試(Debug)和跟蹤(Trace)功能。
下面就來(lái)重點(diǎn)講講關(guān)于CoreSight中調(diào)試和跟蹤的相關(guān)內(nèi)容。
strongerHuang
1
調(diào)試和跟蹤功能
CoreSight兩個(gè)主要功能就是調(diào)試和跟蹤功能。
1.調(diào)試功能
運(yùn)行處理器的控制,允許啟動(dòng)和停止程序
單步調(diào)試源碼和匯編代碼
在處理器運(yùn)行時(shí)設(shè)置斷點(diǎn)
即時(shí)讀取/寫(xiě)入存儲(chǔ)器內(nèi)容和外設(shè)寄存器
編程內(nèi)部和外部FLASH存儲(chǔ)器
2.跟蹤功能
串行線查看器(SWV)提供程序計(jì)數(shù)器(PC)采樣,數(shù)據(jù)跟蹤,事件跟蹤和儀器跟蹤信息
指令(ETM)跟蹤直接流式傳輸?shù)侥腜C,從而實(shí)現(xiàn)歷史序列的調(diào)試,軟件性能分析和代碼覆蓋率分析
一張圖了解整體內(nèi)容:
strongerHuang
2
JTAG
JTAG是行業(yè)標(biāo)準(zhǔn)的接口,用于下載和調(diào)試目標(biāo)處理器上的程序以及許多其他功能。它提供了連接設(shè)備的簡(jiǎn)便方法,并且在所有基于Arm處理器的設(shè)備上都可用。JTAG接口可與基于Cortex-M的設(shè)備一起使用,以訪問(wèn)CoreSight調(diào)試功能。
1.JTAG歷史
JTAG是聯(lián)合測(cè)試工作組(Joint Test Action Group)的簡(jiǎn)稱,是在名為標(biāo)準(zhǔn)測(cè)試訪問(wèn)端口和邊界掃描結(jié)構(gòu)的IEEE的標(biāo)準(zhǔn)1149.1的常用名稱。此標(biāo)準(zhǔn)用于驗(yàn)證設(shè)計(jì)與測(cè)試生產(chǎn)出的印刷電路板功能。
1990年JTAG正式由IEEE的1149.1-1990號(hào)文檔標(biāo)準(zhǔn)化,在1994年,加入了補(bǔ)充文檔對(duì)邊界掃描描述語(yǔ)言(BSDL)進(jìn)行了說(shuō)明。從那時(shí)開(kāi)始,這個(gè)標(biāo)準(zhǔn)被全球的電子企業(yè)廣泛采用,邊界掃描幾乎成為了JTAG的同義詞。
---引用維基百科
2.JTAG接口
JTAG的接口通常是4/5個(gè)接腳接口連到芯片上:
TDI(測(cè)試數(shù)據(jù)輸入)
TDO(測(cè)試數(shù)據(jù)輸出)
TCK(測(cè)試時(shí)鐘)
TMS(測(cè)試模式選擇)
TRST(測(cè)試復(fù)位)可選
strongerHuang
3
SWD串行線調(diào)試
SWD,Serial Wire Debug(串行線調(diào)試)模式是標(biāo)準(zhǔn)JTAG接口的替代方法,它僅使用兩個(gè)引腳即可提供與JTAG相同的調(diào)試功能,而不會(huì)降低性能,并通過(guò)串行線查看器(SWV)引入了數(shù)據(jù)跟蹤功能。
在JTAG引腳中包含SWD接口引腳,從而允許標(biāo)準(zhǔn)目標(biāo)連接器中使用。引腳包含:
TCLK-SWCLK(串行時(shí)鐘)
TMS-SWDIO(串行數(shù)據(jù)輸入/輸出)
TDO-SWO(串行線輸出-SWV使用)
關(guān)于SWV
SWV:Serial Wire Viewer,串行線查看器
基于Cortex-M3、 M4、 M7的設(shè)備能夠根據(jù)所需信息或分析的類型,以多種方式提供高速數(shù)據(jù)跟蹤信息。當(dāng)系統(tǒng)處理器繼續(xù)全速運(yùn)行時(shí),它通過(guò)SWO引腳傳輸。 可從ITM(儀器跟蹤宏單元)和DWT(數(shù)據(jù)觀察點(diǎn)和跟蹤)單元獲得信息,其中包括:
PC(程序計(jì)數(shù)器)采樣
顯示CPU周期統(tǒng)計(jì)信息的事件計(jì)數(shù)器
具有定時(shí)統(tǒng)計(jì)信息的異常和中斷執(zhí)行
跟蹤數(shù)據(jù)-用于時(shí)序分析的數(shù)據(jù)讀取和寫(xiě)入
用于簡(jiǎn)單printf樣式調(diào)試的ITM跟蹤信息
4
拓展:下載調(diào)試器
之前給大家分享過(guò)《下載調(diào)試接口 SWD 和 JTAG的區(qū)別》,選擇下載調(diào)試器時(shí)也可以對(duì)比一下二者差異。
支持JTAG和SWD模式的下載調(diào)試器很多,J-Link、 ST-LINK、 ULINK這些大眾化的工具都支持,還有很多小眾的下載調(diào)試器(比如e-Link、 GD-Link等)同樣也支持SWD模式。
那么,我們?cè)撨x擇哪一種呢?哪一種更香呢?
支持全面的一點(diǎn)的算J-Link了,但正版的價(jià)格,對(duì)于普通個(gè)人來(lái)說(shuō),有壓力。
有多種版本,算下來(lái)好幾千一個(gè)。
同樣,正版ULINK也和J-Link一樣,價(jià)格上千。當(dāng)然,很多人買到的ULINK和J-Link都是盜版。
相比ULINK和J-Link而言,正版的ST-Link價(jià)格就很劃算,一個(gè)正版ST-Link V2才兩三百,但缺點(diǎn)就是只能針對(duì)STM8/32使用。
當(dāng)然,ST-Link還有一個(gè)神操作:變成J-link,請(qǐng)參看我的文章《ST-Link如何秒變J-link,手把手教你實(shí)現(xiàn)該功能》。
責(zé)任編輯:xj
原文標(biāo)題:Cortex-M強(qiáng)大的調(diào)試和跟蹤C(jī)oreSight技術(shù)
文章出處:【微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
調(diào)試
+關(guān)注
關(guān)注
7文章
608瀏覽量
34546 -
Cortex
+關(guān)注
關(guān)注
2文章
203瀏覽量
47175 -
CoreSight
+關(guān)注
關(guān)注
0文章
6瀏覽量
8076
原文標(biāo)題:Cortex-M強(qiáng)大的調(diào)試和跟蹤C(jī)oreSight技術(shù)
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【「# 運(yùn)算放大器參數(shù)解析與LTspice應(yīng)用仿真」閱讀體驗(yàn)】+全書(shū)概覽與第一章閱讀分享
請(qǐng)問(wèn)STM32G473是否支持硬件AES?
求助,為什么ETH配置中沒(méi)有Advanced Parameters?
DLPR150PROM-2.3.1版本的固件是否包含圖像信息,如何切換圖像?
驅(qū)動(dòng)板設(shè)計(jì)注意事項(xiàng)
THS8200輸出1080P50/60格式Y(jié)PbPr視頻時(shí)無(wú)信號(hào)是怎么回事?
深蕾半導(dǎo)體開(kāi)發(fā)者中心上線多個(gè)AI Demo樣例

晶體生長(zhǎng)相關(guān)內(nèi)容——晶型控制與襯底缺陷
BTB擴(kuò)展接口:LCD、Camera、UART、I2C等|詳解篇

求助,關(guān)于tlv320aic3254evm-u的pps使用問(wèn)題求解
請(qǐng)問(wèn)purepath studio如何進(jìn)行AEC?
TAS6424(L)-Q1 Fault腳如何控制拉低?
【GD32 MCU 入門(mén)教程】二、GD32 MCU 燒錄說(shuō)明 (2)SWD/JTAG在線下載

評(píng)論