在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

來講講與工具密切配合的CoreSight

sanyue7758 ? 來源:處芯積律 ? 2023-10-30 17:54 ? 次閱讀

Perface

定位問題時,自然是需要過硬的能力,但是如果有一個牛掰的工具,那必然會幫助我們很多。

官方的IDE可能無法滿足我們的需求,而需要尋找其他的專業工具。

其中,勞特巴赫公司提供的調試工具備受推崇。該公司專門為各種不同的芯片處理器提供高端的調試解決方案,其工具功能強大,易于使用,但價格較為昂貴。

對于某些特定領域或大型項目,系統的復雜性和規模需要更強大的調試工具。此時,勞特巴赫公司成為了一個值得信賴的選擇。

他們的調試工具可以捕捉偶發性的問題、進行死機調試、代碼分析、函數運行時間測試等操作,這些都是在開發過程中非常實用的功能。

應該很多朋友在工作中有使用過,或者聽說過。但是,小型企業和個人開發者來說,勞特巴赫公司的調試工具還是成本太高。

當然這里不講工具本身,來講講與工具密切配合的CoreSight

本片主要的內容:聊聊CoreSight中的CTI、ETM、PTM、ITM、HTM、ETB...

ARM調試:CoreSight、ETM、PTM、ITM、HTM、ETB等常用術語解析

c31add90-76cf-11ee-939d-92fbcf53809c.jpg

我們使用勞特巴赫的時候會有如下的打印:

++++++++++++ DAP Discovery        -> Guessed Debugger Setup ++++++++++++++++++


AP#0         APB2/3-AP            -> SYStem.CONFIG DEBUGACCESSPORT  0.
 0xxxxxxxxx  ROMTABLE             -> no setup required
 0xxxxxxxxx  DEBUG Cortex-A55     -> SYStem.CONFIG.COREDEBUG.Base   0xxxxxxxxx  
 0xxxxxxxxx  CTI                  -> SYStem.CONFIG.CTI.Base         0xxxxxxxxx  
 0xxxxxxxxx  PMU Cortex-A55       -> SYStem.CONFIG.BMC.Base         0xxxxxxxxx  
 0xxxxxxxxx  ETM/PTM              -> SYStem.CONFIG.ETM.Base         0xxxxxxxxx  
 0xxxxxxxxx  DEBUG Cortex-A55     -> SYStem.CONFIG.COREDEBUG.Base   0xxxxxxxxx  
 0xxxxxxxxx  CTI                  -> SYStem.CONFIG.CTI.Base         0xxxxxxxxx  
 0xxxxxxxxx  PMU Cortex-A55       -> SYStem.CONFIG.BMC.Base         0xxxxxxxxx  
 0xxxxxxxxx  ETM/PTM              -> SYStem.CONFIG.ETM.Base         0xxxxxxxxx  


AP#3         AXI-AP               -> SYStem.CONFIG AXIACCESSPORT  3.
 0x00000000  ROMTABLE             -> no setup required




++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

?AP#0:表示應用程序的進程編號,其中“0”表示第一個進程。?APB2/3-AP:表示APB總線2和APB總線3上的應用程序。APB(Advanced Peripheral Bus)是一種先進的外部總線,用于連接嵌入式系統中的外設。?SYStem.CONFIG:表示系統配置,該日志記錄了與系統配置相關的信息?DEBUGACCESSPORT:表示調試訪問端口,用于遠程調試和訪問設備。?ROMTABLE:表示ROM表,用于存儲設備的配置信息和地址映射。?Cortex-A55:表示ARM Cortex-A55處理器,是一種適用于高性能、低功耗應用的處理器。?CTI:表示Cortex Test Interface(CTI),用于在Cortex-A處理器上進行測試和調試。?PMU:表示Power Management Unit(PMU),用于管理處理器的電源狀態。?ETM/PTM:表示Embedded Trace Macrocell(ETM)和Processor Trace Macrocell(PTM),用于在處理器內部進行跟蹤和調試。?SYStem.CONFIG.COREDEBUG.Base 和 SYStem.CONFIG.CTI.Base 等:表示系統配置中不同模塊的基地址,用于調試和訪問這些模塊。?BMC.Base:表示Baseboard Management Controller(BMC)的基地址,用于硬件管理控制器(通常在服務處理器中)。

下面先看看這些關鍵詞是什么意思?

CoreSight

?CoreSight

CoreSight CoreSight 是一種基礎架構,它可對完整的芯片上系統 (SoC) 設計的性能進行調試、監視和優化,CoreSight 跟蹤宏單元在 SoC 中提供全面的非干預性可見性。

通過遵循 CoreSight 架構規范,可以方便地將合作伙伴特定的跟蹤宏單元集成到 CoreSight 系統中 CoreSight是ARM公司提出的一個用于對復雜的SoC(System on a Chip)實現debug和trace的架構。它是一個硬件和軟件組件的集合,旨在提供強大的調試和測試功能,以幫助開發人員開發和維護復雜的嵌入式系統

CoreSight的主要組件包括:

?CTI(Cross-Trigger Interface):用于在處理器和其他組件之間傳遞觸發信號,以控制執行流程和觸發調試事件。?CTM(Cross-Trigger Matrix):用于實現多個CTI之間的觸發信號的相互發送與接收,以支持多處理器調試和測試。?ETM(Embedded Trace Macrocell):用于跟蹤處理器執行指令的地址和數據,生成跟蹤數據以供調試和測試使用。?PTM(Processor Trace Macrocell):用于在處理器內部實現跟蹤功能,記錄處理器的狀態和事件,以供調試和測試使用。?TMC(Trace Memory Controller):用于控制跟蹤數據的存儲和讀取,將跟蹤數據保存到外部存儲器中或從外部存儲器中讀取跟蹤數據。?DCC(Debug Communication Controller):用于實現調試器與目標設備之間的通信,包括將調試命令發送到目標設備或從目標設備讀取數據。?DMC(Debug Memory Controller):用于控制對目標設備內存的訪問,包括將數據寫入目標設備內存或從目標設備內存讀取數據。

通過這些組件的組合和配置,CoreSight可以實現對復雜SoC的debug和trace功能。開發人員可以使用調試工具鏈來訪問和處理CoreSight生成的跟蹤數據,以進行故障排除、性能優化、安全分析等操作。

CTI

CoreSight CTI是ARM Cortex-A系列處理器的一個調試和測試接口。它提供了一種硬件觸發信號機制,用于測試處理器內部狀態,并實現跟蹤和調試功能。

在硬件結構上,CTI接口連接到一個Cortex-A處理器的調試端口上,并與一個或多個其他CTI接口或調試工具相連。它包含一組觸發信號線,用于向處理器發送觸發信號或接收來自處理器的觸發信號。

觸發信號是用于控制處理器執行特定操作的電信號。通過使用CTI觸發信號,調試工具可以控制處理器的執行流程,以便在特定條件下暫停處理器的執行,或者將處理器置于調試狀態。

CTI觸發信號有多種類型,包括軟件觸發信號、硬件觸發信號和跟蹤觸發信號

其中,

?軟件觸發信號是通過調試命令將處理器置于調試狀態;?硬件觸發信號是根據預設的條件或事件來觸發處理器執行特定操作;?跟蹤觸發信號則是用于在處理器執行代碼時生成跟蹤數據。

除了觸發信號外,CTI還提供了一些其他調試和測試功能。例如,它可以通過訪問處理器內部寄存器和內存來讀取和寫入數據,以便檢查處理器狀態或控制處理器執行特定操作。此外,CTI還可以生成中斷信號,以便在特定條件下中斷處理器的執行。

CTI的觸發信號類型

?Input triggers:這類觸發信號是由處理器發送給CTI的,用于觸發事件輸入到CTI。當處理器檢測到特定事件時,它會通過Input triggers信號線將觸發信號發送給CTI。這些信號可以用于控制處理器的執行流程,例如在特定條件下暫停處理器的執行或將其置于調試狀態。?Output triggers:這類觸發信號是由CTI發送給處理器的,用于觸發事件輸出到處理器。當CTI檢測到特定事件時,它會通過Output triggers信號線將觸發信號發送給處理器。這些信號可以用于控制處理器的執行流程,例如在特定條件下觸發處理器執行特定操作或將其置于調試狀態。?Input channels:這類信號是通道事件輸入到CTI的。當CTM(Cross-Trigger Matrix)檢測到特定事件時,它會通過Input channels信號線將信號發送給CTI。這些信號可以用于控制處理器的執行流程,例如在特定條件下觸發處理器執行特定操作或將其置于調試狀態。?Output channels:這類信號是通道事件輸出到CTM的。當CTI檢測到特定事件時,它會通過Output channels信號線將信號發送給CTM。這些信號可以用于控制處理器的執行流程,例如在特定條件下觸發處理器執行特定操作或將其置于調試狀態。

這些觸發信號類型提供了對處理器執行流程的精細控制,使得開發人員可以更方便地進行調試和測試。通過使用這些觸發信號,調試工具可以靈活地控制處理器的執行流程,以便在特定條件下檢查處理器狀態或執行特定操作。

CTM:CoreSight CTM(Cross-Trigger Matrix)是一個交叉觸發矩陣,用于實現多個CTI(Cross-Trigger Interface)之間的觸發信號的相互發送與接收。它可以將觸發信號從一個CTI發送到另一個CTI,以便在設備之間傳播事件。每個Core和DSP都有一個CTI組件相連,CTI可以給處理器(DSP)發送trigger信號,也可以接收處理器(DSP)的trigger信號。所有的CTI和CTM相連,因此可以實現多個CTI之間的trigger信號的相互發送與接收。這些信息對于理解和使用CoreSight CTM是非常有幫助的。

ETM,嵌入式跟蹤宏單元

ETM 宏單元為 ARM 微處理器提供實時指令跟蹤和數據跟蹤。跟蹤軟件工具使用 ETM 生成的信息重建全部或部分程序的執行情況。

ETM (Embedded Trace Macrocell) 是一種在 ARM 微處理器中使用的硬件單元,它主要用于提供實時的指令跟蹤和數據跟蹤。這種跟蹤信息對于調試和性能分析等任務非常有用。

ETM 宏單元的主要功能如下:

?實時指令跟蹤:ETM 可以跟蹤微處理器執行的每一條指令。這使得開發人員能夠精確地了解程序在執行時的行為,這對于調試和性能優化特別重要。?數據跟蹤:ETM 還能跟蹤微處理器中的數據流動。這使得開發人員可以清楚地看到哪些數據被讀取、寫入和修改,這對于理解程序的數據使用情況非常有幫助。

使用 ETM 生成的信息,開發人員可以使用跟蹤軟件工具來重建程序的部分或全部執行情況。這使得開發人員可以更深入地理解程序的運行方式,有助于發現潛在的錯誤或性能瓶頸。

白話一刻

ETM 就像是一個微處理器中的“間諜”,它默默地觀察并記錄下微處理器在做些什么。對于程序員來說,這就像有一個私人助手,隨時告訴他們程序在什么時候、在哪里、怎樣運行的。

?指令跟蹤:想象一下,你正在讓一個朋友幫你編寫一個程序,但是他編寫的代碼出了問題,導致程序行為異常。這時,ETM 就相當于一個隱藏的攝像頭,記錄下了朋友編寫的每一行代碼。通過查看 ETM 記錄的信息,你就能知道程序在哪個地方出現了問題,就像看回放一樣。?數據跟蹤:ETM 還可以跟蹤程序運行時數據的流動情況。比如說,你的程序需要讀取一個文件,然后進行處理。通過 ETM,你可以看到程序在什么時候讀取了文件,讀取了哪些數據,以及這些數據后來被怎樣處理。這樣,你就可以更好地理解程序的運行過程,看看是否有改進的地方。

ETM 就像是一個微處理器的“監控攝像頭”,默默地記錄下程序的一切行為。通過這些記錄的信息,程序員可以更好地理解程序的行為,找出潛在的問題,優化程序的性能。

ETM 在優化程序性能方面有什么幫助?

?識別性能瓶頸:通過 ETM 提供的數據跟蹤信息,開發人員可以清楚地看到哪些代碼部分是程序運行最慢的部分,從而識別出性能瓶頸。這樣,他們就可以針對這些瓶頸進行優化,以提升程序的總體性能。?理解數據使用:通過 ETM 的數據跟蹤功能,開發人員可以清楚地看到程序在運行過程中數據的讀取、寫入和修改情況。這有助于他們更好地理解程序的數據使用情況,從而優化數據結構、算法或者數據處理流程,以提升程序性能。?指令優化:通過 ETM 的指令跟蹤功能,開發人員可以觀察到程序執行的每一條指令。這樣,他們就可以針對這些指令進行優化,比如使用更高效的指令集、優化指令排序等,以提高程序的運行速度。?系統級優化:ETM 提供的信息不僅可以幫助開發人員優化程序本身,還可以幫助他們優化整個系統。例如,通過 ETM 提供的數據,開發人員可以更好地理解程序在內存、CPU 利用率等方面的情況,從而優化系統配置或調整系統參數,以提升整個系統的性能。

ETM 提供了哪些數據跟蹤信息?

ETM 提供的數據跟蹤信息主要包括以下幾類:

?指令跟蹤信息:ETM 會記錄微處理器執行的每一條指令。這使得開發人員可以了解程序執行的完整過程,包括指令的執行順序、執行時間等。這些信息對于調試程序和性能優化都非常有用。?數據跟蹤信息:ETM 還會記錄微處理器中數據的讀取、寫入和修改情況。這使得開發人員可以了解程序在運行過程中數據的變化情況,從而更好地理解程序的運行過程。?異常和中斷信息:當程序出現異常或中斷時,ETM 會記錄下相關的信息,包括異常的類型、發生時間、發生位置等。這有助于開發人員更好地理解程序的異常處理和中斷響應機制。?系統級信息:除了指令和數據跟蹤信息,ETM 還可以提供一些系統級的信息,例如 CPU 利用率、內存使用情況等。這有助于開發人員更好地了解程序的運行環境和系統資源配置情況。

ETM 記錄的指令跟蹤信息主要包括以下內容:

?指令地址:每條指令在內存中的地址。?指令操作碼:指令的操作碼,即指令的功能碼,表示該指令執行什么樣的操作。?指令參數:指令所需的參數,如操作數、偏移量等。?指令執行時間:該指令被執行的時間。?指令來源:該指令是從哪個寄存器、內存地址或外部設備讀取的。?指令目標:該指令將結果存儲在哪個寄存器或內存地址中。?指令執行結果:該指令執行后的結果,如計算結果、跳轉目標等。

PTM,程序跟蹤宏單元

PTM 是一個模塊,它根據程序流程跟蹤 (PFT) 體系結構執行實時指令流跟蹤。跟蹤工具使用 PTM 生成的信息重建全部或部分程序的執行情況。

PTM 是一種硬件或軟件模塊,它被設計為在程序執行時進行實時的指令跟蹤。它記錄的是程序執行時的指令序列,這使得開發人員可以了解程序執行的所有細節。

這個指令序列或者說“跟蹤信息”,可以用于多種目的:

?程序調試:通過查看 PTM 生成的指令序列,開發人員可以精確地了解程序在何時、何地以及如何執行每一條指令。這對于找出程序中的錯誤、異常或性能問題非常有幫助。?性能分析:PTM 提供的指令序列還可以用于性能分析。通過分析這些信息,開發人員可以了解程序的哪些部分消耗了最多的計算資源,從而找出潛在的性能瓶頸。?程序重建:跟蹤工具可以使用 PTM 生成的信息來重建程序的執行情況。這允許開發人員在程序運行后,或在特定的程序狀態(例如在發生錯誤時)下,重新查看程序的狀態和行為。?系統級優化:PTM 提供的信息不僅可以用于優化程序本身,還可以用于優化整個系統。例如,通過分析 PTM 提供的信息,系統管理員可以了解程序的內存使用情況、CPU 利用率等,從而優化系統的資源配置。

白話一刻

PTM 就像是一個記錄員,它在程序運行的時候,認真“聽”了每一個指令并且把它記錄下來。這些記錄的信息就像是一本書,記錄了程序是怎么一步步運行的。

那么,PTM 記錄了哪些信息呢?

?指令順序:PTM 會記錄程序執行每條指令的順序。這就像是你看電影時,知道電影中每個鏡頭的先后順序一樣。?指令內容:PTM 還會記錄每條指令的內容。這就像是你看電影時,知道每個鏡頭發生了什么一樣。

那么,PTM 的記錄信息有什么用呢?

?找錯誤:如果程序運行結果不正確,PTM 的記錄信息就像是“現場直播”的回放,幫助開發人員找到問題出在哪里。?優化性能:通過 PTM 的記錄信息,開發人員可以找出程序中“走得慢”的部分,就像是跑步比賽中的“瓶頸”一樣。針對這些部分進行優化,可以提高程序的總體性能。?程序回放:PTM 的記錄信息還可以讓開發人員重新查看程序的運行情況。就像是重新看一遍電影一樣,幫助開發人員更好地理解程序的行為。

PTM的記錄信息還有什么用途?

這些信息可以用于程序的可視化、調試和性能分析等方面。PTM的記錄信息也可以用于程序的反向工程,例如在逆向分析中推斷程序的結構和功能。

另外,PTM還可以用于軟件測試和驗證,通過重放程序的執行情況,可以驗證程序的正確性和可靠性。總之,PTM的記錄信息對于程序的開發、調試、優化、測試和驗證等方面都有重要的應用價值。

PTM和ETM的關系

PTM和ETM都是嵌入式跟蹤宏單元(ETM)架構規范中的一部分,它們之間的關系是互補的。ETM是一個通用的跟蹤宏單元,它可以用于跟蹤不同的信息,例如指令跟蹤和數據跟蹤而PTM是ETM的一個特定實現,專門用于進行程序流程跟蹤(PFT)。

PTM和ETM都提供了實時的跟蹤信息,這些信息可以用于調試、性能分析和程序驗證等。PTM主要記錄的是程序的指令序列和相關的程序流程信息,例如分支指令、異常事件等。而ETM則可以記錄更廣泛的信息,例如指令地址、數據地址和數據值等

在實際應用中,ETM和PTM通常會一起使用。例如,在調試程序時,可以使用ETM來跟蹤程序的指令和數據流動情況,而使用PTM來跟蹤程序的流程和執行路徑。這樣可以更全面地了解程序的執行情況,從而幫助開發人員進行調試和優化。

PTM和ETM在ETM架構規范中的關系是什么?

PTM和ETM在ETM架構規范中的關系是互補的。ETM是一個通用的跟蹤宏單元,它可以用于跟蹤不同的信息,例如指令跟蹤和數據跟蹤。而PTM是ETM的一個特定實現,專門用于進行程序流程跟蹤(PFT)。

PTM基于PFT架構進行實時的指令流跟蹤,它會copy一份正在執行的code,只在一些program execution point(叫做waypoint)進行trace。這些點是由PTM內部的一些特定機制決定的,例如當執行到某個特定的指令或者達到某個特定的數據條件時,PTM就會開始記錄當前的指令和數據狀態。

PTM會記錄下這些waypoint之間的指令執行情況,從而幫助開發人員了解程序執行的具體流程和路徑。同時,PTM還可以記錄下程序執行過程中的一些關鍵事件,例如異常事件、分支指令等,這些信息對于調試和性能分析都非常重要。

它們就像是一對雙胞胎,各自有不同的特點,但是又相互關聯。

ETM是一個非常厲害的“記錄員”,它可以在程序運行的時候記錄下很多信息。而PTM就像是一個專注的“小弟弟”,它告訴ETM只記錄哪些關于程序“行走”的信息。

PTM說:“我只關注程序怎么走的,其他的我都不關心。” 所以PTM記錄的信息都是關于程序怎么從一個地方走到另一個地方,也就是程序執行時的指令序列

ETM聽從PTM的話,于是它只記錄了程序執行時的指令和數據。但是它不只記錄了指令序列,還記錄了其他一些信息,比如指令是在哪個時間執行的,是在哪個內存地址執行的等等。

所以,PTM和ETM就像是一對合作默契的好搭檔。PTM告訴ETM應該關注什么,然后ETM就專注地記錄下這些信息。兩者相互配合,可以提供更全面、更準確的程序執行情況記錄。

這里的waypoint怎么生成?

PTM的waypoint是PTM內部通過一種特定機制來生成的。PTM會根據一些預設的條件或者規則來確定這些waypoint的位置。

一種常見的做法是使用預設的斷點作為waypoint。開發人員可以在程序中預設一些斷點,當程序執行到這些斷點時,PTM就會開始記錄當前的指令和數據狀態。這些斷點可以是固定的位置,也可以是根據某些條件動態生成的。例如,當程序執行到某個特定的指令或者達到某個特定的數據條件時,PTM可以將其作為waypoint并開始記錄。

另一種常見的做法是使用動態的計數器作為waypoint。PTM內部會維護一個計數器,當計數器達到某個預設的值時,PTM就會開始記錄當前的指令和數據狀態。這種方式的優點是可以根據需要動態地生成waypoint,而不需要在程序中預設斷點。

無論采用哪種方式,PTM的waypoint都是根據預設的條件或者規則來生成的,可以靈活地根據需要進行設置。這些waypoint的位置對于PTM來說是非常重要的,因為它們決定了PTM記錄哪些指令和數據狀態,從而幫助開發人員了解程序執行的具體流程和路徑。

ITM,測量跟蹤宏單元

CoreSight ITM 塊是一個軟件應用程序驅動的跟蹤源。支持的代碼將生成軟件測量跟蹤 (SWIT)。此外,該塊還提供粗略的時間戳功能。

ITM塊是一個嵌入式跟蹤宏單元(ETM)架構規范中的一部分,它是一個軟件應用程序驅動的跟蹤源。當應用程序執行時,ITM塊可以監視和記錄應用程序的執行過程,并生成軟件測量跟蹤(SWIT)。

SWIT是一種跟蹤數據格式,它記錄了應用程序執行時的指令序列和相關數據。這些數據可以用于調試、性能分析和故障排除等應用場景通過分析SWIT數據,開發人員可以了解程序執行的具體流程、數據訪問模式、函數調用關系等,從而更好地理解程序的行為和性能表現

除了生成SWIT數據,ITM塊還提供了一個粗略的時間戳功能。這個時間戳可以用于測量代碼執行的時間,但需要注意的是,它可能不夠精確。盡管如此,這個時間戳對于評估程序的執行效率、識別性能瓶頸和故障排查仍然非常有用。

通過使用ITM塊,開發人員可以在實際硬件上執行應用程序,同時收集跟蹤數據。這些數據可以通過串口或JTAG等方式傳輸到主機進行分析和處理。這樣,開發人員可以在實際運行環境中監視和跟蹤應用程序的執行,從而更好地理解程序的行為、性能瓶頸以及可能存在的錯誤。

總之,ITM塊提供了一種高效的跟蹤解決方案,可以幫助開發人員更好地理解程序的行為、性能表現和錯誤原因。它在嵌入式系統的開發過程中具有重要的作用,是調試、性能分析和故障排除等應用場景中不可或缺的工具之一。

該塊的主要用途是:

?支持 printf 風格調試?跟蹤操作系統和應用程序事件?發出診斷系統信息

ITM和PTM、ETM有什么關系

ITM(Instrumentation Trace)塊、PTM(Program Trace Macro)塊和ETM(Embedded Trace Macro)塊都是嵌入式跟蹤宏單元(ETM)架構規范中的一部分,它們之間存在密切的關系。

ETM是一個通用的跟蹤宏單元,它可以用于跟蹤不同的信息,例如指令跟蹤和數據跟蹤。PTM是一個模塊,它根據程序流程跟蹤(PFT)體系結構執行實時指令流跟蹤。PTM可以記錄下程序執行時的指令序列和其他相關信息,幫助開發人員了解程序的執行流程和路徑。

ITM塊則是一個軟件應用程序驅動的跟蹤源,它支持通過特定的代碼生成軟件測量跟蹤(SWIT)。ITM塊還提供粗略的時間戳功能,可以用于測量代碼執行的時間。

ITM塊與PTM塊和ETM塊的關系是互補的。PTM塊主要用于程序流程跟蹤,而ITM塊則提供了更細粒度的指令跟蹤和時間戳功能。ETM塊作為通用的跟蹤宏單元,可以集成ITM塊和PTM塊的功能,并根據需要選擇不同的跟蹤模式。

在實際應用中,ETM、PTM和ITM通常會一起使用。ETM作為核心的跟蹤宏單元,可以記錄程序執行時的各種信息。PTM可以根據程序流程跟蹤體系結構執行實時指令流跟蹤,而ITM則可以提供更細粒度的指令跟蹤和時間戳功能。這些宏單元相互配合,可以提供更全面和準確的程序執行情況跟蹤。

HTM,AHB 跟蹤宏單元

HTM 可顯示無法使用 ETM從內核跟蹤推斷的總線信息:

了解多層總線利用率。軟件調試。例如,內存區域訪問和數據訪問的可見性。跟蹤觸發器或過濾器的總線事件檢測,以及用于總線分析。HTM 提供了有關 AHB 總線的地址和數據跟蹤信息。通過將 HTM 中的信息與調試器結合使用,可對基于 AHB 的嵌入式系統進行方便、精確的調試。HTM 提供了廣泛的資源以使事件識別功能生成觸發事件。HTM 通過 AMBA 跟蹤總線 (ATB) 來生成輸出的跟蹤數據。跟蹤調試功能是非干預性的。可以使用 APB (AMBA v3) 接口來控制 HTM。

HTM用于什么場景?

HTM則主要用于虛擬化環境中。HTM塊是用于顯示虛擬機監視器(VMM)或操作系統內核的跟蹤信息。

它提供了一種機制,使得VMM可以獲取和顯示與虛擬機相關的信息,例如虛擬機的指令序列、內存訪問等。

HTM塊可以用于監視和控制虛擬機的執行,幫助開發人員更好地理解虛擬機的行為和性能表現。因此,HTM在虛擬化技術中具有重要的作用,可以用于調試、優化和監控虛擬機的運行狀態。

STM,系統跟蹤宏單元

STM為所有軟件開發人員提供了低成本的軟件和硬件執行實時可見性,尤其是應用程序和內核開發人員,從而為整個供應鏈中支持 ARM 處理器的設備提供了功能豐富且優化的低能耗軟件。

STM 是一種軟件工具,它可以讓開發人員以低成本的方式觀察和分析他們的程序在硬件上的執行過程。這種工具對于應用程序和內核開發人員特別有用,因為它們可以幫助開發人員更好地了解程序的執行情況,從而更容易地找出和修復問題。

STM 的工作原理是通過記錄程序執行時的指令序列和其他相關信息,例如寄存器狀態和內存訪問這些信息可以通過串口或 JTAG 等方式傳輸到主機進行分析和處理。通過這些信息,開發人員可以了解程序執行的時間和順序,從而優化程序的性能。

除了對開發過程中的問題解決和優化有重要作用外,STM 還對整個供應鏈中支持 ARM 處理器的設備提供了功能豐富且優化的低能耗軟件。通過使用 STM,設備制造商可以獲得一種可靠的、高效的工具來優化其設備的能耗,同時提高其功能和性能。這對于當前和未來的 ARM 處理器設備非常重要,因為這些設備通常需要在更小的空間內提供更高的性能,同時盡可能減少能耗。

總的來說,STM 就像一個“監視器”一樣,幫助開發人員實時觀察程序的執行情況,從而更容易地找出和解決問題。同時,它也為設備制造商提供了優化其設備性能的工具,使得整個供應鏈中的 ARM 處理器設備能夠更好地滿足用戶的需求。

ECT,嵌入式交叉觸發

CoreSight ECT 是一個控制和訪問組件,支持 SoC 內的多個觸發事件的交互和同步。

CoreSight ECT 是一個控制和訪問組件,它支持 SoC(System on a Chip)內的多個觸發事件的交互和同步。ECT(Error Checking and Correction)是一種用于檢測和糾正內存錯誤的機制,它通常在計算機系統中用于確保數據的完整性和可靠性。

CoreSight 是 ARM 的一個嵌入式調試和跟蹤平臺,它提供了一套完整的工具鏈,用于開發和調試基于 ARM 處理器的系統。ECT 是 CoreSight 平臺的一部分,它提供了一種高效的內存錯誤檢測和糾正機制,以確保在系統運行時數據的完整性和可靠性。

ECT 通過在內存中插入校驗和(checksum)來檢測數據錯誤,并使用一個或多個 ECC(Error Checking and Correcting)寄存器來存儲校驗和。當系統讀取或寫入內存時,ECT 會自動計算校驗和并將其與存儲在 ECC 寄存器中的校驗和進行比較。如果發現錯誤,ECT 會自動糾正單比特錯誤,并報告多比特錯誤。

除了支持內存錯誤的檢測和糾正,ECT 還支持 SoC 內多個觸發事件的交互和同步。這意味著 ECT 可以與其他的 CoreSight 組件和外部硬件設備進行通信,以實現更復雜的事件處理和系統控制。例如,ECT 可以與 CoreSight 的其他組件配合,實現系統級的錯誤檢測和糾正,或者與其他硬件設備進行通信,以實現更高效的內存訪問和控制。

CoreSight ECT 是一個功能強大的控制和訪問組件,它支持 SoC 內的多個觸發事件的交互和同步,并提供了一種高效的內存錯誤檢測和糾正機制,以確保系統的完整性和可靠性。

CoreSight ECT 的工作原理是什么?

CoreSight ECT(Error Checking and Correction)是一種用于檢測和糾正內存錯誤的機制,它主要在系統運行時工作。以下是其工作原理的簡要說明:

?校驗和計算:當系統寫入數據到內存時,ECT 會自動計算數據的校驗和(checksum)。這個校驗和是根據數據的每個字節計算出來的,并被存儲在一個或多個 ECC(Error Checking and Correcting)寄存器中。?校驗和檢查:當系統從內存中讀取數據時,ECT 會自動計算數據的校驗和,并將它與存儲在 ECC 寄存器中的校驗和進行比較。如果兩個校驗和匹配,說明數據是正確的;否則,說明數據存在錯誤。?錯誤糾正:如果發現數據錯誤,ECT 會自動糾正單比特錯誤。它會使用 ECC 寄存器中的正確校驗和來修正錯誤的數據,并通知系統繼續運行。對于多比特錯誤,ECT 會報告錯誤但不進行糾正,因為多比特錯誤可能超出了其糾正能力。?觸發事件交互和同步:除了支持內存錯誤的檢測和糾正,ECT 還支持與其他 CoreSight 組件和外部硬件設備的交互和同步。這使得 ECT 可以與其他組件配合,實現更復雜的事件處理和系統控制。例如,ECT 可以與 CTI(CTI)組件配合,實現多個觸發事件之間的相互發送與接收。

CoreSight ECT 的工作原理是利用校驗和計算和檢查來檢測數據錯誤,并使用 ECC 寄存器來糾正單比特錯誤。同時,它還支持與其他組件的交互和同步,以實現更復雜的事件處理和系統控制。

ECT如何與外部硬件設備進行交互?

首先,ECT 可以與其他的 CoreSight 組件進行交互。CoreSight 是 ARM 的一個嵌入式調試和跟蹤平臺,提供了一套完整的工具鏈,用于開發和調試基于 ARM 處理器的系統。ECT 是 CoreSight 平臺的一部分,因此它可以與其他 CoreSight 組件進行通信和交互。例如,ECT 可以與 CTI(Communication Trace Interface)組件配合,實現多個觸發事件之間的相互發送與接收。

其次,ECT 也可以與外部硬件設備進行交互。這通常是通過與其他硬件設備進行通信實現的。例如,ECT 可以使用串行通信接口(如 UARTI2C)或并行通信接口(如 SPI 或 USB)與其他硬件設備進行通信。通過通信接口,ECT 可以接收來自其他硬件設備的數據,也可以向其他硬件設備發送數據。

在交互過程中,ECT 可以利用其錯誤檢測和糾正能力,對接收到的數據進行校驗和檢查。如果發現數據錯誤,ECT 可以自動糾正單比特錯誤,或者將錯誤報告給系統或其他硬件設備,以采取相應的糾正措施。同時,ECT 也可以利用其觸發事件交互和同步能力,與其他硬件設備配合實現更復雜的事件處理和系統控制。

ECT 與外部硬件設備的交互主要是通過與其他 CoreSight 組件和外部硬件設備配合實現的。它可以使用各種通信接口與其他設備進行通信和數據交換,并利用其錯誤檢測和糾正能力保證數據的完整性和可靠性。

ETB,嵌入式跟蹤緩存

CoreSight ETB 是一個跟蹤接收器,它可使用可配置大小的 RAM 為跟蹤數據提供芯片上存儲。

CoreSight ETB(Embedded Trace Buffer)是一個跟蹤接收器,它可以使用可配置大小的 RAM 為跟蹤數據提供芯片上存儲。它主要用于在嵌入式系統中進行調試和跟蹤,以便開發人員在系統運行時觀察和跟蹤硬件事件和數據。

ETB 通常與 CoreSight 的其他組件一起使用,例如嵌入式跟蹤宏單元(ETM)和通信跟蹤接口(CTI),以提供全面的調試和跟蹤解決方案。

ETB 的主要特點是它可以使用可配置大小的 RAM,這意味著開發人員可以根據他們的需求調整跟蹤數據的存儲大小。ETB 可以配置為存儲固定數量的數據或根據需要動態擴展。這種可配置性使得 ETB 能夠適應不同的應用場景和需求。

除了使用 RAM 存儲跟蹤數據外,ETB 還支持多種跟蹤數據格式,例如跟蹤事件、跟蹤數據包和跟蹤快照。這些格式可以靈活地選擇和配置,以適應不同的跟蹤需求和協議。

此外,ETB 還支持多個跟蹤通道,這意味著它可以同時接收和處理來自不同源頭的跟蹤數據。這使得 ETB 非常適合用于復雜的系統架構中,其中同時發生多個硬件事件和數據交互。

總之,CoreSight ETB 是一個功能強大的跟蹤接收器,它使用可配置大小的 RAM 為跟蹤數據提供芯片上存儲,并支持多種跟蹤數據格式和多個跟蹤通道。這些特點使得 ETB 成為嵌入式系統中調試和跟蹤的理想選擇。

CoreSight ETB有哪些應用場景?

?調試硬件事件和數據:ETB 可以用于觀察和跟蹤硬件事件和數據,例如中斷、異常、寄存器訪問等。開發人員可以通過分析跟蹤數據來調試硬件問題,并確保系統在特定條件下正確地執行。?系統性能分析:ETB 可以用于分析系統的性能特征,例如處理器使用率、內存訪問模式、功耗等。通過跟蹤系統的運行情況,開發人員可以識別性能瓶頸和優化機會,以提高系統的整體性能。?實時系統監控:ETB 可以用于實時監控系統的狀態和行為。例如,開發人員可以設置觸發條件,當系統滿足特定條件時,自動保存跟蹤數據并通知調試器進行進一步分析。這種應用可以幫助開發人員在系統運行時檢測和識別異常行為。?系統錯誤診斷:當系統出現錯誤或故障時,ETB 可以用于保存錯誤發生時的跟蹤數據。這些數據可以用于后續的分析和故障診斷,幫助開發人員定位錯誤的原因。?算法優化和驗證:ETB 可以用于跟蹤算法的運行過程,幫助開發人員在算法開發初期發現問題并進行優化。同時,ETB 也可以用于驗證算法的正確性和性能,確保算法在實際應用中表現良好。?嵌入式系統開發:ETB 常用于嵌入式系統的開發過程中。在軟件開發和硬件調試階段,開發人員可以使用 ETB 來跟蹤程序的執行過程、內存訪問和硬件事件,以便快速定位問題并進行修復。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19436

    瀏覽量

    231306
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9179

    瀏覽量

    369425
  • 嵌入式
    +關注

    關注

    5095

    文章

    19189

    瀏覽量

    307957

原文標題:參考資料

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    芯片DFX:Coresight的寄存器一覽

    coresight對于每個coresight組件,規定了一些寄存器,這些寄存器的偏移是固定的,這些寄存器,是必須存在的。但是有的,可以不實現該寄存器功能。
    的頭像 發表于 11-02 11:45 ?1243次閱讀
    芯片DFX:<b class='flag-5'>Coresight</b>的寄存器一覽

    大家來講講電感制作心得吧

    大家來講講電感制作心得吧,如何選擇材料?PCB打樣找華強 http://www.hqpcb.com/3 樣板2天出貨
    發表于 10-13 18:38

    講講友善串口助手工具

    繼續講講串口,如果我們已經創建好了虛擬串口,那么就可以通過串口助手來愉快的判斷數據啦。首先我們要下載一個小工具——友善串口助手(如果大神的話,可以自己用QT寫哦)設置一下自身的串口數據通過 那個 藍色三角符號 可以打開串口...
    發表于 02-16 06:03

    適用于SoC600的CoreSight訪問工具(CSAT600)用戶指南1.0版

    用于SoC600的CoreSight訪問工具(CSAT600)提供對ARM調試接口架構規范ADIV6.0或CoreSight SoC-600目標的訪問。 CSAT600工具用于在
    發表于 08-16 07:20

    CoreSight?訪問工具(CSAT)用戶指南

    CoreSight TM Access Tool(CSAT)程序是一個基于控制臺的測試程序,用于驗證CoreSight系統。 該工具包含許多命令,允許使用DSTREAM和VStream調試控制
    發表于 08-16 08:13

    CoreSight? 訪問工具(CSAT)用戶指南

    CoreSight TM Access Tool(CSAT)程序是一個基于控制臺的測試程序,用于驗證CoreSight系統。 該工具包含許多命令,允許使用DSTREAM和VStream調試控制
    發表于 08-18 07:38

    Keil工具的ARM CoreSight基礎知識

    ARM CoreSight技術是一套工具,可用于調試和跟蹤在基于ARM的設備上運行的軟件。 調試功能用于觀察或修改設計部分的狀態,而跟蹤功能允許連續收集系統信息,以便以后進行離線分析。 有了ARM
    發表于 08-25 07:53

    CoreSight SoC-400綜合套件解決方案

    CoreSight SoC-400是包括可配置調試和追蹤組件及設計工具(以自動化IP針數和測試)在內的綜合套件。該解決方案的功能包括:完整的自動化系統stitching和測試臺、增強的AMBA
    的頭像 發表于 07-02 14:28 ?3626次閱讀

    關于CoreSight中調試和跟蹤的相關內容

    講講關于CoreSight中調試和跟蹤的相關內容。 strongerHuang 1 調試和跟蹤功能 CoreSight兩個主要功能就是調試和跟蹤功能。 1.調試功能 運行處理器的控制,允許啟動和停止
    的頭像 發表于 11-03 16:10 ?2181次閱讀

    由變頻器和PLC密切配合的雙恒壓無塔供水系統

    PLC和變頻器都是工業控制中最常用的設備,二者可以單獨使用,也可以密切配合,都能夠達到自動化控制的目的,應用非常的廣泛,今天就舉一個具體的例子:雙恒壓無塔供水系統,這個系統是由變頻器和PLC密切配合
    的頭像 發表于 04-22 09:53 ?1963次閱讀
    由變頻器和PLC<b class='flag-5'>密切配合</b>的雙恒壓無塔供水系統

    PLC與變頻器相結合的經典案例:雙恒壓無塔供水系統

    PLC和變頻器都是工業控制中最常用的設備,二者可以單獨使用,也可以密切配合,都能夠達到自動化控制的目的,應用非常的廣泛,今天就舉一個具體的例子:雙恒壓無塔供水系統,這個系統是由變頻器和PLC密切配合才能完成的,一般都在大的項目上使用。
    的頭像 發表于 04-22 09:52 ?3294次閱讀
    PLC與變頻器相結合的經典案例:雙恒壓無塔供水系統

    經典PLC編程案例:雙恒壓無塔供水系統

    PLC和變頻器都是工業控制中最常用的設備,二者可以單獨使用,也可以密切配合,都能夠達到自動化控制的目的,應用非常的廣泛,今天就舉一個具體的例子:雙恒壓無塔供水系統,這個系統是由變頻器和PLC密切配合才能完成的,一般都在大的項目上使用。
    發表于 03-03 15:58 ?721次閱讀

    講講軟包電池尺寸的規格變化

    從結構上來說也在不斷簡化,尤其是電池設計開始走向CTP和CTC之后。我們本文重點來講講軟包電池尺寸的規格變化。
    的頭像 發表于 03-23 15:10 ?6994次閱讀

    經典PLC編程案例——雙恒壓無塔供水系統

    ?? PLC和變頻器都是工業控制中最常用的設備,二者可以單獨使用,也可以密切配合,都能夠達到自動化控制的目的,應用非常的廣泛,今天就舉一個具體的例子:雙恒壓無塔供水系統,這個系統是由變頻器和PLC密切配合才能完成的,一般都在大的項目上使用。
    發表于 04-20 11:07 ?447次閱讀

    PLC編程案例:雙恒壓無塔供水系統

    PLC和變頻器都是工業控制中最常用的設備,二者可以單獨使用,也可以密切配合,都能夠達到自動化控制的目的,應用非常的廣泛,今天就舉一個具體的例子:雙恒壓無塔供水系統,這個系統是由變頻器和PLC密切配合才能完成的,一般都在大的項目上使用。
    的頭像 發表于 04-27 11:52 ?1152次閱讀
    PLC編程案例:雙恒壓無塔供水系統
    主站蜘蛛池模板: 天天都色| 国模吧新入口 | 日本v片免费一区二区三区 日本www.色 日本wwwwww | 男女交性视频免费 | 六月激情丁香 | 激情丁香六月 | 午夜国产视频 | 小优视频在线 | 黄 色 成 年人在线 黄a大片 | 亚洲福利一区 | mide-776中文字幕在线 | 免免费看片| 亚洲第一成人影院 | 久久久久国产精品免费网站 | 色免费在线 | 大尺度在线播放 | 女人被男人免费播放网站 | 福利视频午夜 | h黄视频在线观看 | 亚洲视频一区二区 | 午夜视频欧美 | 国产乱人视频免费播放 | 午夜激情婷婷 | 欧美黄色片 一级片 | 一级特黄女毛毛片 | 色偷偷亚洲综合网亚洲 | 天天澡天天摸天天添视频 | 黄色午夜剧场 | 色吧在线视频在线观看 | 亚洲小视频在线播放 | 亚洲www网站 | 国产综合图区 | 黄黄视频在线观看 | 日本在线黄色网址 | 色综合久久久久综合99 | 国产九色在线 | 91大神在线看 | aaaa一级片| www永久免费视频 | 日本老师xxxxxxxxx79 | 黄h视频|