日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:以ARM Core Sight Architecture Specification規(guī)范和ARM Debug Interface Architecture Specification規(guī)范為出發(fā)點(diǎn),分析了ARM CoreSight調(diào)試與追蹤體系在ARM Cortex M3內(nèi)核中的實(shí)現(xiàn)過程。同時(shí),對(duì)比分析了新的Serial WireDebug調(diào)試技術(shù)和經(jīng)典的JTAG調(diào)試技術(shù)的異同。

引言

在芯片制造技術(shù)飛速發(fā)展的今天,高速、高集成度、低功耗的極致追求給芯片設(shè)計(jì)人員提出了一個(gè)又一個(gè)挑戰(zhàn),而在這樣的片上系統(tǒng)中調(diào)試與追蹤內(nèi)核狀態(tài)更是芯片調(diào)試技術(shù)的一個(gè)難題。為了解決非侵入式、實(shí)時(shí)調(diào)試等多類問題,ARM引入了全新的ARMCoreSight調(diào)試體系結(jié)構(gòu)。CoreSight是ARM公司于2003年開發(fā)的、綜合而全面的調(diào)試與跟蹤架構(gòu)。部分ARM9與ARM11內(nèi)核采用早期版本的CoreSight,不過現(xiàn)在大范圍推廣的Cortex系列處理器已完全采用新版的調(diào)試體系并充分證明了它的優(yōu)勢(shì)。CoreSight包括眾多組件,每一種都能協(xié)助外部主機(jī)以極高的效率了解芯片的實(shí)時(shí)運(yùn)行情況。芯片中內(nèi)嵌的特定組件和為系統(tǒng)設(shè)計(jì)人員提供的調(diào)試工具使開發(fā)人員可以友好的使用CoreSight構(gòu)架調(diào)試和跟蹤片上系統(tǒng),而不用再通過直接設(shè)置寄存器、遵循特定協(xié)議和處理電平信號(hào)來使用。

為了擴(kuò)大成本和功耗敏感的MCU和終端應(yīng)用(如智能測(cè)量、人機(jī)接口設(shè)備、汽車和工業(yè)控制系統(tǒng)、大型家用電器、消費(fèi)性產(chǎn)品和醫(yī)療器械)市場(chǎng),ARM公司針對(duì)這類混合信號(hào)設(shè)備進(jìn)行了優(yōu)化,貫徹了新一代的CoreSight調(diào)試構(gòu)架,推出了新一代CortexM系列微控制器。而意法半導(dǎo)體公司(ST)推出的STM32、德州儀器公司(TI)推出的Stellaris,都是一種ARMCortexM3內(nèi)核的實(shí)現(xiàn)。32位RISC處理器、低功耗、高性能模擬技術(shù)、高速DMA通道、豐富的外設(shè)和新一代的調(diào)試體系,都賦予了其不俗的表現(xiàn)。

然而,新一代調(diào)試構(gòu)架定義的多種功能對(duì)不熟悉新調(diào)試機(jī)制的開發(fā)者來說略嫌繁瑣,特別是傳統(tǒng)JTAG調(diào)試和新一代的SerialWireDebug(SWD)調(diào)試二合一的調(diào)試接口使不少開發(fā)者無法理清頭緒。因此本文將從整體上分析ARMCoreSight調(diào)試構(gòu)架和ARMDebugInterfaceArchitecture(ADI),并通過對(duì)比ST和TI推出的芯片來明確新調(diào)試體系的實(shí)現(xiàn)方式,為開發(fā)者掃清調(diào)試障礙。

1ARMCoreSight調(diào)試構(gòu)架

ARM新一代CoreSight調(diào)試構(gòu)架提供了微處理器所需全部的調(diào)試與追蹤功能。片上程序流可通過豐富的硬件執(zhí)行斷點(diǎn)與高級(jí)觀察點(diǎn)、矢量捕獲和元數(shù)據(jù)跟蹤功能進(jìn)行監(jiān)控,甚至在啟用全部中斷時(shí)也得到監(jiān)控。在處理器運(yùn)行的同時(shí)也能讀寫寄存器與存儲(chǔ)器中的數(shù)據(jù),并能對(duì)片上資源的使用進(jìn)行驗(yàn)證。代碼描述可確定處理器在一定時(shí)間內(nèi)的工作情況,從而明確處理器何時(shí)會(huì)在無限循環(huán)中中止,或在何處全力加速程序執(zhí)行。此外,我們通過新的調(diào)試構(gòu)架還能看出哪些代碼從不執(zhí)行,從而釋放出寶貴的片上資源。程序員可確認(rèn)脈寬調(diào)制器是否能滿足要求,另外還可檢查堆棧是否存在潛在問題,進(jìn)而確定意外情況的反饋以及狀態(tài)、條件碼和分支的有效性。

ARM新一代調(diào)試構(gòu)架提供了對(duì)多種調(diào)試方式的支持。經(jīng)典的JTAG調(diào)試方式經(jīng)過多年、大范圍的應(yīng)用,已經(jīng)具有了成熟、規(guī)范、通行等優(yōu)點(diǎn)。然而,現(xiàn)在的MCU對(duì)于速度和封裝的要求已經(jīng)越來越高,傳統(tǒng)的4線(5線可選)JTAG協(xié)議已經(jīng)不能滿足對(duì)芯片封裝尺寸的嚴(yán)格要求和對(duì)引腳需求的嚴(yán)格控制。在這種需求下,ARM在新一代調(diào)試體系中引入了旨在替代舊式JTAG調(diào)試方式的SerialWireDebug(SWD)調(diào)試方式,它很好地改良了ARM體系結(jié)構(gòu)下的產(chǎn)品調(diào)試機(jī)制。

ARMCoreSight構(gòu)架中的組件是通過存儲(chǔ)器映射機(jī)制訪問它們自身的控制寄存器(例如AMBA3APB接口),而不通過傳統(tǒng)的JTAG訪問其組件資源。ARM選擇這樣的實(shí)現(xiàn)方式有很多種原因,例如:傳統(tǒng)JTAG方式的時(shí)鐘信號(hào)TCK必須工作在所有調(diào)試組件共有的最低頻率,這極大限制了調(diào)試的速度(也許還將面對(duì)休眠態(tài)、工作在低頻率狀態(tài)的片上組件);傳統(tǒng)的同步JTAG接口在一個(gè)設(shè)備掉電時(shí)會(huì)導(dǎo)致整個(gè)調(diào)試鏈的終止等。

ARMCoreSightarchitecture包含三類子構(gòu)架:

Visiblecomponentarchitecture:規(guī)定了所有組件所必須遵守的、共有的編程者模型(軟件接口)。規(guī)定了對(duì)組件可用的拓?fù)涮皆L結(jié)構(gòu);

Reusablecomponentarchitecture:規(guī)定了調(diào)試體系的物理接口;

Systemarchitecture:規(guī)定了系統(tǒng)級(jí)需要的時(shí)鐘、控制信息、ROM表、追蹤信息格式等。

在ARMCoreSight構(gòu)架基礎(chǔ)上,ARM指定了具體的調(diào)據(jù)被鏈接調(diào)試資源類型的不同,ADI定義了兩類AP的實(shí)現(xiàn):MEM-AP和JTAG-AP。MEM-AP用來鏈接到存儲(chǔ)器映射(Memorymapped)類型的資源,而JTAG-AP主要用來鏈接到經(jīng)典的IEEE1149.1JTAG設(shè)備上。我們常用的是MEM-AP類型,通過對(duì)ARM存儲(chǔ)器映射機(jī)制下的系統(tǒng)資源的訪問,我們可以調(diào)試幾乎所有的片上資源。而當(dāng)我們使用IEEE1149.1JTAG調(diào)試設(shè)備做掃描邊界測(cè)試時(shí),我們需要用到JTAG-AP實(shí)現(xiàn)。

3基于CortexM3內(nèi)核調(diào)試的MCU實(shí)現(xiàn)

首先,我們先對(duì)比兩個(gè)具體的實(shí)現(xiàn)方案。其一是意法半導(dǎo)體公司的STM32MCU,而另一個(gè)則為德州儀器公司的Stellaris。

圖2所示為STM32的調(diào)試體系構(gòu)架。

試接口規(guī)范,旨在統(tǒng)一所有采用CoreSight調(diào)試體系的片上系統(tǒng)。

2ARM調(diào)試接口規(guī)范

采用ARM設(shè)計(jì)IP的芯片廠商在設(shè)計(jì)調(diào)試支持的時(shí)候,都必須要遵守ARMDebugInterfaceArchitectureSpecification(ARM調(diào)試接口體系結(jié)構(gòu)規(guī)范,ADI)。ARM調(diào)試接口規(guī)范為嵌入式片上系統(tǒng)

(SoC)中的調(diào)試組件定義了標(biāo)準(zhǔn)調(diào)試接口,其功能邏輯框圖如圖1所示。

ARM CoreSight調(diào)試與追蹤體系在Cortex M3內(nèi)核中的實(shí)現(xiàn)

ADI中定義了一"由DebugPort(DP)和AccessPort(AP)組成的調(diào)試訪問接口DebugAccessPort(DAP),外部的調(diào)試設(shè)備統(tǒng)一由DAP來鏈接被調(diào)試的片上系統(tǒng)資源。

ADI中定義了一個(gè)單一的外部調(diào)試設(shè)備物理連接接口:DebugPort(DP)。ADI允許三種不同的DP實(shí)現(xiàn):JTAG-DP,SWD-DP,SWJ-DP。其中JTAG-DP即為經(jīng)典的JTAG調(diào)試機(jī)制物理接口,而SWD-DP則是ARM新引入的兩引腳串行線調(diào)試結(jié)構(gòu)。SWJ-DP則為JTAG/SWD二合一接口。

同時(shí),ADI還定義了訪問接口:AccessPort(AP)。AP為DAP與被調(diào)試資源的鏈接提供了接口。AP通過資源特定的連接方式(例如一個(gè)debugbus)鏈接到被調(diào)試的資源,根據(jù)被鏈接調(diào)試資源類型的不同,ADI 定義了兩類 AP 的實(shí)現(xiàn) :MEM-AP 和 JTAG-AP。MEM-AP 用來鏈接到存儲(chǔ)器映射(Memory mapped)類型的資源,而 JTAG-AP 主要用來鏈接到經(jīng)典的 IEEE 1149.1 JTAG 設(shè)備上。我們常用的是 MEM-AP 類型,通過對(duì) ARM 存儲(chǔ)器映射機(jī)制下的系統(tǒng)資源的訪問,我們可以調(diào)試幾乎所有的片上資源。而當(dāng)我們使用 IEEE 1149.1JTAG 調(diào)試設(shè)備做掃描邊界測(cè)試時(shí),我們需要用到 JTAG-AP實(shí)現(xiàn)。


3 基于 Cortex M3 內(nèi)核調(diào)試的 MCU 實(shí)現(xiàn)

首先,我們先對(duì)比兩個(gè)具體的實(shí)現(xiàn)方案。其一是意法半導(dǎo)體公司的 STM32MCU,而另一個(gè)則為德州儀器公司的Stellaris。

2 所示為 STM32 的調(diào)試體系構(gòu)架。


ARM CoreSight調(diào)試與追蹤體系在Cortex M3內(nèi)核中的實(shí)現(xiàn)


圖 3 所示為 Stellaris 的調(diào)試體系構(gòu)架。


ARM CoreSight調(diào)試與追蹤體系在Cortex M3內(nèi)核中的實(shí)現(xiàn)

STM32MCU和StellarisMCU的設(shè)計(jì)都遵循了ARM的ADI規(guī)范。

STM32選用了SWD和JTAG二合一DP接口:SWJ-DP,這樣的選擇方便了對(duì)老式JTAG調(diào)試設(shè)備的兼容。通過固定的操作脈沖,調(diào)試設(shè)備開發(fā)者可以輕松實(shí)現(xiàn)在JTAG和SWD方式之間的切換。而不同的硬件設(shè)備是復(fù)用接口引腳的,這對(duì)引腳分配嚴(yán)苛的MCU設(shè)計(jì)提供了很大便利。而Stellaris則只選用了SWD-DP一種物理連接實(shí)現(xiàn),這體現(xiàn)了TI設(shè)計(jì)人員對(duì)SWD調(diào)試方式能力的信任與把握,因?yàn)楣?jié)省出來的不僅僅是管腳,更是硅片的體積和成本。

同時(shí),STM32的AHB-AP是一種MEM-AP的實(shí)現(xiàn)。通過Internalprivateperipheralbus(PPB),調(diào)試者可以訪問掛接

到ARM高性能總線的所有片上資源。而TI的Stellaris也通過類似的機(jī)制實(shí)現(xiàn)了對(duì)片上資源的訪問控制。

ST公司在STM32系列的不同型號(hào)中還提供了可選的調(diào)試組件,當(dāng)然,這得益于CoreSight調(diào)試構(gòu)架中的組件化、模塊化設(shè)計(jì)。其中DWT、FPB的結(jié)合給調(diào)試者提供了數(shù)據(jù)觀察點(diǎn)、硬件斷點(diǎn)和FLASH重映射等功能,而ITM、ETM和TPIU的結(jié)合給調(diào)試者提供了不輸于大型系統(tǒng)調(diào)試方案的指令流、數(shù)據(jù)流監(jiān)控功能。而TI的Stellaris并沒有提供可選的ETM組件。TI官方也給出了令人信服的解釋:嵌入式跟蹤宏單元(ETM)旨在為開發(fā)工具提供明確的逐指令跟蹤信息。該功能對(duì)較復(fù)雜的微處理器尤其實(shí)用,特別是那些所用片上資源太過動(dòng)態(tài),難以實(shí)現(xiàn)外部實(shí)時(shí)決定性的處理器。例如,片上高速緩存會(huì)根據(jù)程序環(huán)路執(zhí)行的具體變化而變化,同時(shí)數(shù)據(jù)和輸入也在不斷變化,因此無法以合理的價(jià)格通過外部工具來復(fù)制。但是,MCU不使用高速緩存,所以ETM作用不大。

由以上分析可以得出,只要不同的廠商在設(shè)計(jì)基于ARM內(nèi)核芯片時(shí)遵循了ARM相關(guān)協(xié)議和規(guī)范,開發(fā)人員在選擇和開發(fā)芯片時(shí)就能觸類旁通,大大減少相應(yīng)的學(xué)習(xí)開發(fā)時(shí)間,降低開發(fā)成本。同時(shí),更多的開發(fā)工具和開發(fā)平臺(tái)將能得到很好的重用,這對(duì)開發(fā)者來說是一個(gè)巨大的成本優(yōu)勢(shì)。

4JTAG和SWD對(duì)比

SerialWireDebug(SWD)是ARM體系結(jié)構(gòu)中定義的新一代調(diào)試機(jī)制,具有占有引腳少,高速下運(yùn)行穩(wěn)定等特點(diǎn),其所使用的基于分組的協(xié)議可提供比JTAG快一倍多的數(shù)據(jù)速率,SWD的誕生就旨在替代原始的JTAG調(diào)試方式。圖4所示為SWD下ARM調(diào)試機(jī)制示意圖。

ARM CoreSight調(diào)試與追蹤體系在Cortex M3內(nèi)核中的實(shí)現(xiàn)

從圖5中可以看出,SWD協(xié)議僅僅需要一個(gè)時(shí)鐘引腳和一個(gè)數(shù)據(jù)傳輸引腳即可完成工作。而可選的SWO引腳可以與ITM組件結(jié)合,提供類printf形式的跟蹤調(diào)試信息。相比于傳統(tǒng)的JTAG調(diào)試協(xié)議,新的SWD調(diào)試方式的各類優(yōu)勢(shì)不言而喻。同時(shí),在現(xiàn)有的SWD接口中,我們?nèi)匀豢梢允褂肑TAG的邊界掃描測(cè)試功能,當(dāng)然,這需要我們具有JTAG-AP接口的實(shí)現(xiàn)。

JTAG
1149.1
SerialW
ireDebug
Pin
Purpose
Pin
Purpose
TCK
Clock
SWCLK
Clock
TMS
StaleMachine
Contro1
SWDIO
DataIn&Out
TDI
Da/In


TDO
Da/Out
SWO

TRST
Reset


圖5 SWD與JTAG1149.1引腳對(duì)比

5結(jié)語

ARM的新一代調(diào)試體系結(jié)構(gòu)極大的增強(qiáng)了ARM體系結(jié)構(gòu)功能的完整性和健壯性,及時(shí)轉(zhuǎn)入新的調(diào)試體系結(jié)構(gòu)是必要的,也是具有極大好處的。我們?cè)谶x擇功能芯片時(shí),在考慮了成本和開發(fā)難度的前提下,對(duì)芯片可維護(hù)性和延續(xù)性的考慮也要列入其中。同時(shí),在選用開發(fā)工具和平臺(tái)的過程中,是否支持ARM新的調(diào)試機(jī)制也應(yīng)該成為我們一個(gè)重要選擇因素。

20211123_619d050896007__ARMCoreSight調(diào)試與追蹤體系在CortexM3內(nèi)核中的實(shí)現(xiàn)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

研發(fā)產(chǎn)品難嗎?對(duì)于剛剛接觸射頻硬件設(shè)計(jì)的我來說非常難,設(shè)計(jì)和調(diào)試、維修不同,調(diào)試是在老帶新的基礎(chǔ)上,按照?qǐng)D紙甚至圖紙都不要就可以按照SOP流程得到性能高的產(chǎn)品;維修的話,看懂原理圖是必須的,但是你并不需要知道具體的設(shè)計(jì)參...

關(guān)鍵字: 射頻工程師 設(shè)計(jì) 調(diào)試

摘要:針對(duì)某公司供熱改造工程中,新建背壓機(jī)組在調(diào)試及試運(yùn)行過程中暴露出的問題進(jìn)行了梳理分析,并采取了有針對(duì)性的應(yīng)對(duì)策略,最終實(shí)現(xiàn)了該機(jī)組的靈活啟停和穩(wěn)定運(yùn)行,滿足了生產(chǎn)需求。

關(guān)鍵字: 振動(dòng) 動(dòng)平衡 調(diào)試

福建莆田2022年9月1日 /美通社/ -- 8月30日,武大靖攜手央視網(wǎng)共同走進(jìn)三棵樹醉美園區(qū),與央視網(wǎng)主持人常婷、黃鶴,一起開啟“尋綠之旅”,從綠色理念、綠色園區(qū)、綠色產(chǎn)品、綠色生產(chǎn)、綠色服務(wù),看三棵樹用綠色涂料涂刷...

關(guān)鍵字: 智能化 工程師 調(diào)試 研發(fā)中心

摘要:從廠站端自動(dòng)化檢修人員的角度闡述了500kV變電站加裝智能遠(yuǎn)動(dòng)機(jī)工程的主要內(nèi)容,包括了智能遠(yuǎn)動(dòng)機(jī)的基本性能、工程實(shí)施具體步驟以及調(diào)試工作中的注意事項(xiàng)。

關(guān)鍵字: 智能遠(yuǎn)動(dòng)機(jī) 業(yè)務(wù) 調(diào)試

摘要:結(jié)合影響電氣設(shè)備安裝和調(diào)試的因素,對(duì)電力系統(tǒng)電氣設(shè)備的安裝與調(diào)試技術(shù)進(jìn)行了分析,以期提高電氣設(shè)備的運(yùn)行效率。

關(guān)鍵字: 電氣設(shè)備 安裝 調(diào)試

摘要:對(duì)地鐵隧道TVF、TEF風(fēng)機(jī)安裝與調(diào)試過程中的細(xì)節(jié)問題進(jìn)行了探討,主要從風(fēng)機(jī)安裝、風(fēng)機(jī)調(diào)試準(zhǔn)備、風(fēng)機(jī)試運(yùn)轉(zhuǎn)、監(jiān)測(cè)運(yùn)轉(zhuǎn)數(shù)據(jù)等方面展開了分析,確保風(fēng)機(jī)能夠一次試機(jī)成功。

關(guān)鍵字: 安裝 調(diào)試 前置條件

助力全球工業(yè)向數(shù)字化與可持續(xù)邁進(jìn) 德國漢諾威2022年5月31日 /美通社/ -- 5月31日,2022漢諾威工業(yè)博覽會(huì)開幕,美的工...

關(guān)鍵字: 美的 CD 機(jī)器人 調(diào)試

摘要:電氣儀表的安裝與調(diào)試作為機(jī)電工程中的核心技術(shù)環(huán)節(jié),對(duì)保證機(jī)電工程整體質(zhì)量起到關(guān)鍵作用?,F(xiàn)通過分析影響電氣儀表安裝質(zhì)量的主要因素,探討了機(jī)電工程中電氣儀表安裝與調(diào)試的流程及技術(shù)要點(diǎn),并指出了提升電氣儀表調(diào)試質(zhì)量的有效...

關(guān)鍵字: 機(jī)電工程 電氣儀表 調(diào)試

關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容來源:安富萊電子論壇:www.armbbs.cn最近因?yàn)轫?xiàng)目選型需要,開始用了stm32H750vbt6這款MCU,我一直提倡工欲善其事,必先利其器,尤其是在嵌入式開發(fā)中,所以看到armfl...

關(guān)鍵字: 調(diào)試

關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容來源:技術(shù)讓夢(mèng)想更偉大整理:李肖遙一、JTAG協(xié)議JTAG(JointTestActionGroup,聯(lián)合測(cè)試行動(dòng)小組)是一種國際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE1149.1兼容),主要用于芯片內(nèi)部測(cè)...

關(guān)鍵字: ST 調(diào)試 接口

《物聯(lián)網(wǎng)技術(shù)》雜志

2511 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉