• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2014-09-24 16:34:45韓格欣許翔劉嘯宇代麗男薄純娟
      物聯(lián)網(wǎng)技術(shù) 2014年7期
      關(guān)鍵詞:調(diào)試

      韓格欣+許翔+劉嘯宇+代麗男+薄純娟

      摘 要:以ARM Core Sight Architecture Specification規(guī)范和ARM Debug Interface Architecture Specification規(guī)范為出發(fā)點,分析了ARM CoreSight調(diào)試與追蹤體系在ARM Cortex M3內(nèi)核中的實現(xiàn)過程。同時,對比分析了新的Serial Wire Debug調(diào)試技術(shù)和經(jīng)典的JTAG調(diào)試技術(shù)的異同。

      關(guān)鍵詞:SWD;JTAG;調(diào)試;Cortex M3;CoreSight

      中圖分類號:TP368 文獻標(biāo)識碼:A 文章編號:2095-1302(2014)07-0022-03

      0引言

      在芯片制造技術(shù)飛速發(fā)展的今天,高速、高集成度、低功耗的極致追求給芯片設(shè)計人員提出了一個又一個挑戰(zhàn),而在這樣的片上系統(tǒng)中調(diào)試與追蹤內(nèi)核狀態(tài)更是芯片調(diào)試技術(shù)的一個難題[1]。為了解決非侵入式、實時調(diào)試等多類問題,ARM引入了全新的ARM CoreSight調(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)勢。CoreSight包括眾多組件,每一種都能協(xié)助外部主機以極高的效率了解芯片的實時運行情況。芯片中內(nèi)嵌的特定組件和為系統(tǒng)設(shè)計人員提供的調(diào)試工具使開發(fā)人員可以友好的使用CoreSight構(gòu)架調(diào)試和跟蹤片上系統(tǒng),而不用再通過直接設(shè)置寄存器、遵循特定協(xié)議和處理電平信號來使用 。

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

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

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

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

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

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

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

      (1) Visible component architecture:規(guī)定了所有組件所必須遵守的、共有的編程者模型(軟件接口)。規(guī)定了對組件可用的拓撲探訪結(jié)構(gòu);

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

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

      在ARM CoreSight構(gòu)架基礎(chǔ)上,ARM指定了具體的調(diào)試接口規(guī)范,旨在統(tǒng)一所有采用CoreSight調(diào)試體系的片上系統(tǒng)。

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

      采用ARM設(shè)計IP的芯片廠商在設(shè)計調(diào)試支持的時候,都必須要遵守ARM Debug InterfaceArchitecture Specification(ARM調(diào)試接口體系結(jié)構(gòu)規(guī)范,ADI)。ARM調(diào)試接口規(guī)范為嵌入式片上系統(tǒng)(SoC)中的調(diào)試組件定義了標(biāo)準(zhǔn)調(diào)試接口,其功能邏輯框圖如圖1所示。

      圖1ARM ADI功能邏輯框圖

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

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

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

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

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

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

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

      圖3Stellaris MCU調(diào)試支持框圖

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

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

      同時,STM32的AHB-AP是一種MEM-AP的實現(xiàn)。通過Internal private peripheral bus(PPB),調(diào)試者可以訪問掛接到ARM高性能總線的所有片上資源。而TI的Stellaris也通過類似的機制實現(xiàn)了對片上資源的訪問控制。

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

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

      4JTAG和SWD對比

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

      圖4SWD作為接口的CoreSight調(diào)試與跟蹤系統(tǒng)

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

      JTAG 1149.1 Serial Wire Debug

      Pin Purpose Pin Purpose

      TCK Clock SWCLK Clock

      TMS State Machine Control SWDIO Data In&Out

      TDI Data In - -

      TDO Data Out SWO -

      TRST Reset - -

      圖5SWD與JTAG 1149.1引腳對比

      5結(jié)語

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

      參 考 文 獻

      [1]ARM.Coresight[EB/OL].[2013-10-25].http://www.arm.com/zh/products/processors/cortex-m/index.php:ARM Ltd,2013

      [2]ARM.ARM Cortex-M3 Technical Reference Manual[EB/OL].[2006].UK:ARM Ltd,2006.

      [3]BOOTH Jean Anne and COZART Sun.Serial Wire Debug—IdealforMicrocontrollers[R].USA:TexasInstruments,2010.

      [4]ARM.CoreSight Architecture Specification [EB/OL].[2013].UK:ARM Ltd,2013.

      [5]ARM.ARM Debug InterfaceArchitecture SpecificationADIv5.0 to ADIv5.2 [EB/OL].[2013].UK:ARM Ltd,2013.

      [6]STMicroelectronics.STM32 Reference manual[EB/OL].[2011-8-23].Switzerland:STMicroelectronics,2011.

      [7]TI.StellarisReference manual[EB/OL].USA:Texas Instruments,2010.

      [8]ASHFIELD Eddie.Serial Wire Debug and the CoreSightDebug and Trace Architecture[R].UK:ARM Ltd,2010.

      [9]WILLIAMS Michael.Low Pin-count Debug Interfaces forMulti-device Systems[R].UK:ARM Ltd,2009.

      [10]IEEE Computer Society.IEEE Std 1149.7?-2009 IEEE Standard for Reduced-Pin andEnhanced-Functionality Test AccessPort andBoundary-Scan Architecture[S].USA:IEEE Computer Society,2010.

      0引言

      在芯片制造技術(shù)飛速發(fā)展的今天,高速、高集成度、低功耗的極致追求給芯片設(shè)計人員提出了一個又一個挑戰(zhàn),而在這樣的片上系統(tǒng)中調(diào)試與追蹤內(nèi)核狀態(tài)更是芯片調(diào)試技術(shù)的一個難題[1]。為了解決非侵入式、實時調(diào)試等多類問題,ARM引入了全新的ARM CoreSight調(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)勢。CoreSight包括眾多組件,每一種都能協(xié)助外部主機以極高的效率了解芯片的實時運行情況。芯片中內(nèi)嵌的特定組件和為系統(tǒng)設(shè)計人員提供的調(diào)試工具使開發(fā)人員可以友好的使用CoreSight構(gòu)架調(diào)試和跟蹤片上系統(tǒng),而不用再通過直接設(shè)置寄存器、遵循特定協(xié)議和處理電平信號來使用 。

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

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

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

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

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

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

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

      (1) Visible component architecture:規(guī)定了所有組件所必須遵守的、共有的編程者模型(軟件接口)。規(guī)定了對組件可用的拓撲探訪結(jié)構(gòu);

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

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

      在ARM CoreSight構(gòu)架基礎(chǔ)上,ARM指定了具體的調(diào)試接口規(guī)范,旨在統(tǒng)一所有采用CoreSight調(diào)試體系的片上系統(tǒng)。

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

      采用ARM設(shè)計IP的芯片廠商在設(shè)計調(diào)試支持的時候,都必須要遵守ARM Debug InterfaceArchitecture Specification(ARM調(diào)試接口體系結(jié)構(gòu)規(guī)范,ADI)。ARM調(diào)試接口規(guī)范為嵌入式片上系統(tǒng)(SoC)中的調(diào)試組件定義了標(biāo)準(zhǔn)調(diào)試接口,其功能邏輯框圖如圖1所示。

      圖1ARM ADI功能邏輯框圖

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

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

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

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

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

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

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

      圖3Stellaris MCU調(diào)試支持框圖

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

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

      同時,STM32的AHB-AP是一種MEM-AP的實現(xiàn)。通過Internal private peripheral bus(PPB),調(diào)試者可以訪問掛接到ARM高性能總線的所有片上資源。而TI的Stellaris也通過類似的機制實現(xiàn)了對片上資源的訪問控制。

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

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

      4JTAG和SWD對比

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

      圖4SWD作為接口的CoreSight調(diào)試與跟蹤系統(tǒng)

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

      JTAG 1149.1 Serial Wire Debug

      Pin Purpose Pin Purpose

      TCK Clock SWCLK Clock

      TMS State Machine Control SWDIO Data In&Out

      TDI Data In - -

      TDO Data Out SWO -

      TRST Reset - -

      圖5SWD與JTAG 1149.1引腳對比

      5結(jié)語

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

      參 考 文 獻

      [1]ARM.Coresight[EB/OL].[2013-10-25].http://www.arm.com/zh/products/processors/cortex-m/index.php:ARM Ltd,2013

      [2]ARM.ARM Cortex-M3 Technical Reference Manual[EB/OL].[2006].UK:ARM Ltd,2006.

      [3]BOOTH Jean Anne and COZART Sun.Serial Wire Debug—IdealforMicrocontrollers[R].USA:TexasInstruments,2010.

      [4]ARM.CoreSight Architecture Specification [EB/OL].[2013].UK:ARM Ltd,2013.

      [5]ARM.ARM Debug InterfaceArchitecture SpecificationADIv5.0 to ADIv5.2 [EB/OL].[2013].UK:ARM Ltd,2013.

      [6]STMicroelectronics.STM32 Reference manual[EB/OL].[2011-8-23].Switzerland:STMicroelectronics,2011.

      [7]TI.StellarisReference manual[EB/OL].USA:Texas Instruments,2010.

      [8]ASHFIELD Eddie.Serial Wire Debug and the CoreSightDebug and Trace Architecture[R].UK:ARM Ltd,2010.

      [9]WILLIAMS Michael.Low Pin-count Debug Interfaces forMulti-device Systems[R].UK:ARM Ltd,2009.

      [10]IEEE Computer Society.IEEE Std 1149.7?-2009 IEEE Standard for Reduced-Pin andEnhanced-Functionality Test AccessPort andBoundary-Scan Architecture[S].USA:IEEE Computer Society,2010.

      ————————————————

      收稿日期:2014-04-02

      基金項目:大連民族學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)國家級項目(X2013008)

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

      4JTAG和SWD對比

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

      圖4SWD作為接口的CoreSight調(diào)試與跟蹤系統(tǒng)

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

      JTAG 1149.1 Serial Wire Debug

      Pin Purpose Pin Purpose

      TCK Clock SWCLK Clock

      TMS State Machine Control SWDIO Data In&Out

      TDI Data In - -

      TDO Data Out SWO -

      TRST Reset - -

      圖5SWD與JTAG 1149.1引腳對比

      5結(jié)語

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

      參 考 文 獻

      [1]ARM.Coresight[EB/OL].[2013-10-25].http://www.arm.com/zh/products/processors/cortex-m/index.php:ARM Ltd,2013

      [2]ARM.ARM Cortex-M3 Technical Reference Manual[EB/OL].[2006].UK:ARM Ltd,2006.

      [3]BOOTH Jean Anne and COZART Sun.Serial Wire Debug—IdealforMicrocontrollers[R].USA:TexasInstruments,2010.

      [4]ARM.CoreSight Architecture Specification [EB/OL].[2013].UK:ARM Ltd,2013.

      [5]ARM.ARM Debug InterfaceArchitecture SpecificationADIv5.0 to ADIv5.2 [EB/OL].[2013].UK:ARM Ltd,2013.

      [6]STMicroelectronics.STM32 Reference manual[EB/OL].[2011-8-23].Switzerland:STMicroelectronics,2011.

      [7]TI.StellarisReference manual[EB/OL].USA:Texas Instruments,2010.

      [8]ASHFIELD Eddie.Serial Wire Debug and the CoreSightDebug and Trace Architecture[R].UK:ARM Ltd,2010.

      [9]WILLIAMS Michael.Low Pin-count Debug Interfaces forMulti-device Systems[R].UK:ARM Ltd,2009.

      [10]IEEE Computer Society.IEEE Std 1149.7?-2009 IEEE Standard for Reduced-Pin andEnhanced-Functionality Test AccessPort andBoundary-Scan Architecture[S].USA:IEEE Computer Society,2010.

      ————————————————

      收稿日期:2014-04-02

      基金項目:大連民族學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)國家級項目(X2013008)

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

      4JTAG和SWD對比

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

      圖4SWD作為接口的CoreSight調(diào)試與跟蹤系統(tǒng)

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

      JTAG 1149.1 Serial Wire Debug

      Pin Purpose Pin Purpose

      TCK Clock SWCLK Clock

      TMS State Machine Control SWDIO Data In&Out

      TDI Data In - -

      TDO Data Out SWO -

      TRST Reset - -

      圖5SWD與JTAG 1149.1引腳對比

      5結(jié)語

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

      參 考 文 獻

      [1]ARM.Coresight[EB/OL].[2013-10-25].http://www.arm.com/zh/products/processors/cortex-m/index.php:ARM Ltd,2013

      [2]ARM.ARM Cortex-M3 Technical Reference Manual[EB/OL].[2006].UK:ARM Ltd,2006.

      [3]BOOTH Jean Anne and COZART Sun.Serial Wire Debug—IdealforMicrocontrollers[R].USA:TexasInstruments,2010.

      [4]ARM.CoreSight Architecture Specification [EB/OL].[2013].UK:ARM Ltd,2013.

      [5]ARM.ARM Debug InterfaceArchitecture SpecificationADIv5.0 to ADIv5.2 [EB/OL].[2013].UK:ARM Ltd,2013.

      [6]STMicroelectronics.STM32 Reference manual[EB/OL].[2011-8-23].Switzerland:STMicroelectronics,2011.

      [7]TI.StellarisReference manual[EB/OL].USA:Texas Instruments,2010.

      [8]ASHFIELD Eddie.Serial Wire Debug and the CoreSightDebug and Trace Architecture[R].UK:ARM Ltd,2010.

      [9]WILLIAMS Michael.Low Pin-count Debug Interfaces forMulti-device Systems[R].UK:ARM Ltd,2009.

      [10]IEEE Computer Society.IEEE Std 1149.7?-2009 IEEE Standard for Reduced-Pin andEnhanced-Functionality Test AccessPort andBoundary-Scan Architecture[S].USA:IEEE Computer Society,2010.

      ————————————————

      收稿日期:2014-04-02

      基金項目:大連民族學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)國家級項目(X2013008)

      猜你喜歡
      調(diào)試
      基于航拍無人機的設(shè)計與調(diào)試
      電子制作(2018年12期)2018-08-01 00:47:44
      燃氣輪機發(fā)電機組運行調(diào)試
      FOCAS功能在機床調(diào)試中的開發(fā)與應(yīng)用
      核電廠主給水系統(tǒng)調(diào)試
      中國核電(2017年1期)2017-05-17 06:10:11
      無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
      電子制作(2017年19期)2017-02-02 07:08:38
      調(diào)壓柜的調(diào)試與試運行探討
      工業(yè)電氣設(shè)備控制系統(tǒng)的安裝與調(diào)試
      音頻處理器的調(diào)試
      同期繼電保護調(diào)試中出現(xiàn)的問題及處理
      基于JTAG的SoC片上調(diào)試系統(tǒng)設(shè)計
      东城区| 名山县| 南投市| 巴楚县| 长顺县| 泰来县| 大姚县| 社会| 柳林县| 辽阳县| 神农架林区| 海盐县| 方山县| 辽阳市| 寿宁县| 夹江县| 无锡市| 张家港市| 仁布县| 隆化县| 兴山县| 嘉峪关市| 北京市| 喜德县| 大荔县| 旬邑县| 江口县| 泗阳县| 瑞丽市| 丰顺县| 团风县| 吉安市| 锡林浩特市| 中阳县| 荆州市| 阿拉善盟| 东乌| 汝城县| 西乌珠穆沁旗| 额敏县| 新邵县|