PTM和ETM的關(guān)系
PTM和ETM都是嵌入式跟蹤宏單元(ETM)架構(gòu)規(guī)范中的一部分,它們之間的關(guān)系是互補(bǔ)的。ETM是一個通用的跟蹤宏單元,它可以用于跟蹤不同的信息,例如指令跟蹤和數(shù)據(jù)跟蹤。而PTM是ETM的一個特定實(shí)現(xiàn),專門用于進(jìn)行程序流程跟蹤(PFT)。
PTM和ETM都提供了實(shí)時的跟蹤信息,這些信息可以用于調(diào)試、性能分析和程序驗證等。PTM主要記錄的是程序的指令序列和相關(guān)的程序流程信息,例如分支指令、異常事件等。而ETM則可以記錄更廣泛的信息,例如指令地址、數(shù)據(jù)地址和數(shù)據(jù)值等。
在實(shí)際應(yīng)用中,ETM和PTM通常會一起使用。例如,在調(diào)試程序時,可以使用ETM來跟蹤程序的指令和數(shù)據(jù)流動情況,而使用PTM來跟蹤程序的流程和執(zhí)行路徑。這樣可以更全面地了解程序的執(zhí)行情況,從而幫助開發(fā)人員進(jìn)行調(diào)試和優(yōu)化。
PTM和ETM在ETM架構(gòu)規(guī)范中的關(guān)系是什么?
PTM和ETM在ETM架構(gòu)規(guī)范中的關(guān)系是互補(bǔ)的。ETM是一個通用的跟蹤宏單元,它可以用于跟蹤不同的信息,例如指令跟蹤和數(shù)據(jù)跟蹤。而PTM是ETM的一個特定實(shí)現(xiàn),專門用于進(jìn)行程序流程跟蹤(PFT)。
PTM基于PFT架構(gòu)進(jìn)行實(shí)時的指令流跟蹤,它會copy一份正在執(zhí)行的code,只在一些program execution point(叫做waypoint)進(jìn)行trace。這些點(diǎn)是由PTM內(nèi)部的一些特定機(jī)制決定的,例如當(dāng)執(zhí)行到某個特定的指令或者達(dá)到某個特定的數(shù)據(jù)條件時,PTM就會開始記錄當(dāng)前的指令和數(shù)據(jù)狀態(tài)。
PTM會記錄下這些waypoint之間的指令執(zhí)行情況,從而幫助開發(fā)人員了解程序執(zhí)行的具體流程和路徑。同時,PTM還可以記錄下程序執(zhí)行過程中的一些關(guān)鍵事件,例如異常事件、分支指令等,這些信息對于調(diào)試和性能分析都非常重要。
它們就像是一對雙胞胎,各自有不同的特點(diǎn),但是又相互關(guān)聯(lián)。
ETM是一個非常厲害的“記錄員”,它可以在程序運(yùn)行的時候記錄下很多信息。而PTM就像是一個專注的“小弟弟”,它告訴ETM只記錄哪些關(guān)于程序“行走”的信息。
PTM說:“我只關(guān)注程序怎么走的,其他的我都不關(guān)心。” 所以PTM記錄的信息都是關(guān)于程序怎么從一個地方走到另一個地方,也就是程序執(zhí)行時的指令序列。
ETM聽從PTM的話,于是它只記錄了程序執(zhí)行時的指令和數(shù)據(jù)。但是它不只記錄了指令序列,還記錄了其他一些信息,比如指令是在哪個時間執(zhí)行的,是在哪個內(nèi)存地址執(zhí)行的等等。
所以,PTM和ETM就像是一對合作默契的好搭檔。PTM告訴ETM應(yīng)該關(guān)注什么,然后ETM就專注地記錄下這些信息。兩者相互配合,可以提供更全面、更準(zhǔn)確的程序執(zhí)行情況記錄。
這里的waypoint怎么生成?
PTM的waypoint是PTM內(nèi)部通過一種特定機(jī)制來生成的。PTM會根據(jù)一些預(yù)設(shè)的條件或者規(guī)則來確定這些waypoint的位置。
一種常見的做法是使用預(yù)設(shè)的斷點(diǎn)作為waypoint。開發(fā)人員可以在程序中預(yù)設(shè)一些斷點(diǎn),當(dāng)程序執(zhí)行到這些斷點(diǎn)時,PTM就會開始記錄當(dāng)前的指令和數(shù)據(jù)狀態(tài)。這些斷點(diǎn)可以是固定的位置,也可以是根據(jù)某些條件動態(tài)生成的。例如,當(dāng)程序執(zhí)行到某個特定的指令或者達(dá)到某個特定的數(shù)據(jù)條件時,PTM可以將其作為waypoint并開始記錄。
另一種常見的做法是使用動態(tài)的計數(shù)器作為waypoint。 PTM內(nèi)部會維護(hù)一個計數(shù)器,當(dāng)計數(shù)器達(dá)到某個預(yù)設(shè)的值時,PTM就會開始記錄當(dāng)前的指令和數(shù)據(jù)狀態(tài)。這種方式的優(yōu)點(diǎn)是可以根據(jù)需要動態(tài)地生成waypoint,而不需要在程序中預(yù)設(shè)斷點(diǎn)。
無論采用哪種方式,PTM的waypoint都是根據(jù)預(yù)設(shè)的條件或者規(guī)則來生成的,可以靈活地根據(jù)需要進(jìn)行設(shè)置。這些waypoint的位置對于PTM來說是非常重要的,因為它們決定了PTM記錄哪些指令和數(shù)據(jù)狀態(tài),從而幫助開發(fā)人員了解程序執(zhí)行的具體流程和路徑。
-
處理器
+關(guān)注
關(guān)注
68文章
19409瀏覽量
231196 -
ARM
+關(guān)注
關(guān)注
134文章
9169瀏覽量
369235 -
嵌入式
+關(guān)注
關(guān)注
5093文章
19178瀏覽量
307710 -
ETM
+關(guān)注
關(guān)注
0文章
9瀏覽量
7626
發(fā)布評論請先 登錄
相關(guān)推薦
使用ADSP-21479 timer0時,不管如何修改*pTM0PRD 和*pTM0W的值進(jìn)入定時器中斷的時間永遠(yuǎn)不變是怎么回事?
ARM調(diào)試CoreSight、ETM、PTM、ITM、HTM、ETB等常用術(shù)語解析
ARM調(diào)試CoreSight、ETM、PTM、ITM、HTM、ETB等常用術(shù)語解析
使用IAR ETM Trace調(diào)試功能的要求
CoreSight / ETM / CTI等等它們之間的關(guān)系是怎樣的
CoreSight ETM11技術(shù)參考手冊
CoreSight PTM-A9技術(shù)參考手冊
MAX9406ETM+ MAX9406ETM+ - (Maxim Integrated) - 線性 - 視頻處理
![MAX9406<b class='flag-5'>ETM</b>+ MAX9406<b class='flag-5'>ETM</b>+ - (Maxim Integrated) - 線性 - 視頻處理](https://file.elecfans.com/web2/M00/70/70/pYYBAGNH-I2AMV23AAAJwg3rnZc603.png)
MAX9406ETM+T MAX9406ETM+T - (Maxim Integrated) - 線性 - 視頻處理
![MAX9406<b class='flag-5'>ETM</b>+T MAX9406<b class='flag-5'>ETM</b>+T - (Maxim Integrated) - 線性 - 視頻處理](https://file.elecfans.com/web2/M00/70/70/pYYBAGNH-I2AMV23AAAJwg3rnZc603.png)
MAX12005ETM+ 射頻開關(guān)
![MAX12005<b class='flag-5'>ETM</b>+ 射頻開關(guān)](https://file.elecfans.com/web2/M00/70/70/pYYBAGNH-I2AMV23AAAJwg3rnZc603.png)
MAX12005ETM+T 射頻開關(guān)
![MAX12005<b class='flag-5'>ETM</b>+T 射頻開關(guān)](https://file.elecfans.com/web2/M00/70/70/pYYBAGNH-I2AMV23AAAJwg3rnZc603.png)
MAX5961ETM+ PMIC - 熱插拔控制器
![MAX5961<b class='flag-5'>ETM</b>+ PMIC - 熱插拔控制器](https://file.elecfans.com/web2/M00/70/70/pYYBAGNH-I2AMV23AAAJwg3rnZc603.png)
MAX3634ETM+T - (Maxim Integrated) - 時鐘/計時 - 專用
![MAX3634<b class='flag-5'>ETM</b>+T - (Maxim Integrated) - 時鐘/計時 - 專用](https://file.elecfans.com/web2/M00/70/70/pYYBAGNH-I2AMV23AAAJwg3rnZc603.png)
評論