Perface
coresight的寄存器
coresight對(duì)于每個(gè)coresight組件,規(guī)定了一些寄存器,這些寄存器的偏移是固定的,這些寄存器,是必須存在的。但是有的,可以不實(shí)現(xiàn)該寄存器功能。
1、寄存器一覽
coresight架構(gòu),對(duì)于coresight的組件,定義了若干個(gè)固定的寄存器。第一個(gè)寄存器的偏移從0xf00開(kāi)始,直到0xffc。以下是寄存器列表:
以上的寄存器的地址,在coresight的組件中,是不能當(dāng)作其他功能使用的。如果該寄存器,在該組件沒(méi)有實(shí)現(xiàn),那么該寄存器地址要保留,讀取要返回0,寫被忽略(read must return zero, and writes must be ignored),而不能當(dāng)作其他功能使用。
對(duì)于coresight的組件,占用1個(gè)4k或者整數(shù)倍的4k空間的memory空間。
而coresight的寄存器,處于組件占用空間的最后一個(gè)4K空間的最后一部分。
以下是一個(gè)coresight組件占用的memory空間。占用一個(gè)4k空間。
寄存器分為兩部分:
- device-specific registers:組件自定義寄存器,從0x000-0xeff。 coresight組件利用這些寄存器,實(shí)現(xiàn)該組件的功能 。
- coresight management registers:coresight固定的寄存器,從0xf00-0xfff。這部分寄存器的功能是固定的。
以下是包含了多個(gè)coresight組件memory分布,每個(gè)組件,占用4K空間的整數(shù)倍空間。
對(duì)于第2個(gè)組件,占用了16k的空間,但是coresight寄存器,是在最后一個(gè)空間的最后位置。
而其他3個(gè)組件,都只占用了1個(gè)4K空間。因此coresight寄存器,在這一個(gè)空間的最后位置。
2、ITCTRL,integration mode control register 工作模式寄存器。
對(duì)于每個(gè)coresight組件,可以工作在兩種模式下:
- functional mode
- integration mode
兩種模式的區(qū)別,在于對(duì)coresight組件的寄存器的訪問(wèn),是否會(huì)引發(fā)寄存器相應(yīng)的功能。
integration mode是用來(lái)topology detection的。當(dāng)一個(gè)debugger連接到一個(gè)soc后,此時(shí)debugger是不知道soc內(nèi)部有哪些coresight組件的。因此就需要通過(guò)查詢,來(lái)得知soc中有哪些coresight組件的。
而查詢,就是通過(guò)訪問(wèn)coresight組件的寄存器來(lái)實(shí)現(xiàn)的。此時(shí)soc還不知道組件是什么組件,因此也就不知道組件的寄存器是有什么功能。因此此時(shí)是不能隨意對(duì)組件的寄存器進(jìn)行訪問(wèn)的。
為了使訪問(wèn)的過(guò)程中,不影響組件的功能,就可以讓組件工作在integration mode下,此時(shí)訪問(wèn)組件的寄存器,不會(huì)引發(fā)寄存器相應(yīng)的功能。
待debugger查詢完畢后,獲取到soc中各個(gè)coresight組件的信息后,再將組件的模式切換為functional mode。
復(fù)位后,組件必須工作在functional mode下。因此外部debugger對(duì)組件查詢完畢后,可以直接對(duì)組件進(jìn)行復(fù)位,這樣所有的組件就恢復(fù)到了function mode了。
3、CLAIM寄存器
這個(gè)寄存器是一個(gè)32位的不可見(jiàn)寄存器。只能通過(guò)訪問(wèn)CLAIMCLR和CLAIMSET這兩個(gè)寄存器,來(lái)設(shè)置或者獲取該寄存器的值。
該寄存器,可以用來(lái)表示該組件的狀態(tài)。這個(gè)是由實(shí)現(xiàn)來(lái)定義的 ,比如可以規(guī)定,該寄存器的最低位,表示最近該寄存器被讀取過(guò),第1位,表示最近該寄存器被寫過(guò)。
CLAIMCLR寄存器:
CLAIMSET寄存器
4、DEVAFF
device affinity register 組件關(guān)聯(lián)功能寄存器 。有時(shí)候,組件需要和其他組件,聯(lián)合起來(lái)工作,這樣,就需要指示該組件是和另外的什么組件進(jìn)行關(guān)聯(lián),就可以用這寄存器。
比如一個(gè)ETM,追蹤一個(gè)core的trace信息,那么這個(gè)寄存器,就保存core的MPIDR寄存器信息, 這樣debugger就可以通過(guò)DEVAFF寄存器,得知這個(gè)ETM是關(guān)聯(lián)的哪一個(gè)core 。
我還以為是和別的CIT組件這些配合
DEVAFF0寄存器:
DEVAFF1寄存器:
5、lock 寄存器
對(duì)于coresight組件的寄存器,ARM定義了如下的一些訪問(wèn)方式:
可以分為兩類訪問(wèn):
- 系統(tǒng)寄存器訪問(wèn):通過(guò)MSR,MRS指令(aarch64),MCR,MRC指令(aarch32)
- external debug接口訪問(wèn):DAP訪問(wèn),或者是memory-mapped訪問(wèn),也就是軟件通過(guò)load store訪問(wèn)
對(duì)coresight組件寄存器的訪問(wèn),是有權(quán)限要求的 。
對(duì)于系統(tǒng)寄存器訪問(wèn)和memory-mapped訪問(wèn),ARM 定義了software lock這個(gè)權(quán)限限制 。當(dāng)software lock有效的時(shí)候,軟件是不能訪問(wèn)coresight組件寄存器的。
software lock的目的, 是為了防止軟件意外的修改coresight組件的寄存器 ,從而修改當(dāng)前系統(tǒng)狀態(tài),或者獲取一些不該獲取的信息。可以用來(lái)防黑客。
software lock提供了兩個(gè)寄存器,一個(gè)是LAR,一個(gè)是LSR。
- LAR是用來(lái)設(shè)置software lock狀態(tài),
- 而LSR是保存當(dāng)前的software lock的狀態(tài)。
往LAR寫入0xc5acce55,software lock狀態(tài)切換為unlock, software可以正常訪問(wèn)coresight組件的寄存器,寫入其他值,software lock狀態(tài)切換為lock,software不可以正常訪問(wèn)coresight組件的寄存器(實(shí)現(xiàn)自定義)。
對(duì)于DAP訪問(wèn),software lock是沒(méi)有用的。因?yàn)橐ㄟ^(guò)DAP訪問(wèn),是必須要debugger連接芯片的。所以coresight組件要能夠區(qū)分,當(dāng)前的訪問(wèn)是DAP訪問(wèn),還是非DAP訪問(wèn)。
在DAP訪問(wèn)中,需要使用debugger工具來(lái)連接芯片,并執(zhí)行一些特定的操作,例如讀取或者修改芯片的寄存器或者內(nèi)存。在這個(gè)過(guò)程中,軟件鎖(software lock)是沒(méi)有用的,因?yàn)檐浖i主要用于防止未經(jīng)授權(quán)的軟件訪問(wèn)coresight組件的寄存器,而在DAP訪問(wèn)中,debugger工具需要獲得特定的授權(quán)才能進(jìn)行訪問(wèn)。
另一方面,非DAP訪問(wèn)通常是由軟件直接進(jìn)行的,例如通過(guò)串口或者USB接口進(jìn)行數(shù)據(jù)傳輸。在這個(gè)過(guò)程中,就需要使用軟件鎖來(lái)防止未經(jīng)授權(quán)的軟件訪問(wèn)coresight組件的寄存器,以保護(hù)系統(tǒng)的安全和穩(wěn)定。
非DAP訪問(wèn)場(chǎng)景:
- 開(kāi)發(fā)人員使用IDE(集成開(kāi)發(fā)環(huán)境)編寫代碼,并通過(guò)編譯器將其編譯為可執(zhí)行文件。
- 開(kāi)發(fā)人員使用串口或者USB接口將可執(zhí)行文件下載到目標(biāo)嵌入式系統(tǒng)中。
- 開(kāi)發(fā)人員使用串口調(diào)試器或者類似的工具來(lái)連接到目標(biāo)嵌入式系統(tǒng),并通過(guò)發(fā)送特定的命令來(lái)執(zhí)行調(diào)試操作,例如設(shè)置斷點(diǎn)、單步執(zhí)行等。
- 在這個(gè)過(guò)程中,開(kāi)發(fā)人員不需要獲得特定的授權(quán)才能進(jìn)行訪問(wèn),但是需要+ 對(duì)目標(biāo)嵌入式系統(tǒng)的硬件和軟件有一定的了解,以便正確地發(fā)送命令和解析調(diào)試信息。
DAP訪問(wèn)場(chǎng)景:
- 開(kāi)發(fā)人員使用專門的調(diào)試工具(例如GDB)來(lái)連接目標(biāo)嵌入式系統(tǒng)。
- 開(kāi)發(fā)人員使用調(diào)試工具來(lái)設(shè)置斷點(diǎn)、單步執(zhí)行等操作,并通過(guò)調(diào)試器來(lái)查看和修改目標(biāo)嵌入式系統(tǒng)的寄存器和內(nèi)存。
- 在這個(gè)過(guò)程中,開(kāi)發(fā)人員需要獲得特定的授權(quán)才能進(jìn)行訪問(wèn),因?yàn)檎{(diào)試工具需要連接到目標(biāo)嵌入式系統(tǒng)的核心寄存器或者內(nèi)存中。
- DAP訪問(wèn)通常需要更高的技術(shù)要求和更復(fù)雜的設(shè)置,但是它可以提供更高級(jí)別的調(diào)試功能和更靈活的控制方式。例如,開(kāi)發(fā)人員可以在不重新編譯代碼的情況下對(duì)目標(biāo)嵌入式系統(tǒng)進(jìn)行實(shí)時(shí)調(diào)試,查看和修改寄存器和內(nèi)存的值,以及進(jìn)行多線程和多進(jìn)程的調(diào)試等操作。
關(guān)鍵在于想訪問(wèn)的一個(gè)是程序本身,還有一個(gè)是系統(tǒng)平臺(tái)更底層的東西
6、AUTHSTATUS
authentication status register debug功能的認(rèn)證接口。
debug可以分為non-invasive和invasive。
- non-invasive就是self-hosted
- invasive就是external debug。
non-invasive debug(非侵入性調(diào)試): 非侵入性調(diào)試通常指的是self-hosted(自托管)調(diào)試。在這種方法中,開(kāi)發(fā)人員使用同一臺(tái)計(jì)算機(jī)來(lái)執(zhí)行程序和監(jiān)視程序的執(zhí)行過(guò)程。這通常是通過(guò)在開(kāi)發(fā)人員機(jī)器上運(yùn)行一個(gè)模擬器或虛擬機(jī)來(lái)模擬目標(biāo)系統(tǒng)或設(shè)備的行為。非侵入性調(diào)試不需要直接訪問(wèn)目標(biāo)系統(tǒng)的硬件或底層資源,因此它不會(huì)干擾目標(biāo)系統(tǒng)的正常操作。這種方法的優(yōu)點(diǎn)是簡(jiǎn)單、安全且易于使用。然而,它可能無(wú)法提供與實(shí)際硬件完全一致的仿真體驗(yàn),因此可能會(huì)遺漏一些特定于硬件的錯(cuò)誤或問(wèn)題。
invasive debug(侵入性調(diào)試): 侵入性調(diào)試通常指的是external debug(外部調(diào)試)。在這種方法中,開(kāi)發(fā)人員需要將調(diào)試器連接到目標(biāo)系統(tǒng)或設(shè)備的硬件上,以便直接監(jiān)視和控制其執(zhí)行過(guò)程。這種方法需要侵入目標(biāo)系統(tǒng),可能會(huì)對(duì)目標(biāo)系統(tǒng)的正常操作產(chǎn)生干擾或影響。因此,在進(jìn)行外部調(diào)試之前,通常需要先備份目標(biāo)系統(tǒng)的狀態(tài)或創(chuàng)建一個(gè)測(cè)試版本來(lái)保護(hù)原始數(shù)據(jù)。外部調(diào)試的優(yōu)點(diǎn)是可以提供更準(zhǔn)確和詳細(xì)的調(diào)試信息,特別是在處理硬件相關(guān)的問(wèn)題時(shí)。然而,它需要更高的技術(shù)要求和更復(fù)雜的設(shè)置,并且可能會(huì)對(duì)目標(biāo)系統(tǒng)的穩(wěn)定性或性能產(chǎn)生負(fù)面影響。
實(shí)際中,可以根據(jù)不同的應(yīng)用需求,可能會(huì)需要支持debug,但是也可能需要支持debug中的一種,也有可能不需要支持debug功能。
因此考慮到這些需求,ARM定義了認(rèn)證接口。認(rèn)證接口總共包括4個(gè)。這4個(gè)接口是每個(gè)ARM的core要實(shí)現(xiàn)的。這些接口是debug功能的總開(kāi)關(guān)。
- DBGEN:invasive debug enable
- SPIDEN: secure invasive debug enable
- SPNIDEN:secure non-invasive debug enable
- NIDEN: non-invasive debug enable
DBGEN:這是invasive debug enable(調(diào)試使能)的縮寫,這個(gè)接口可能用于開(kāi)啟或關(guān)閉侵入性的調(diào)試功能。在調(diào)試過(guò)程中,通過(guò)這個(gè)接口,可以控制調(diào)試器的接入和運(yùn)行,從而實(shí)現(xiàn)對(duì)ARM核心的調(diào)試。
SPIDEN:這是secure invasive debug enable(安全侵入性調(diào)試使能)的縮寫,這個(gè)接口可能用于在安全環(huán)境下啟動(dòng)侵入性的調(diào)試功能。在需要保證安全性的情況下,例如在處理敏感數(shù)據(jù)或在進(jìn)行關(guān)鍵任務(wù)的操作時(shí),這個(gè)接口可以控制調(diào)試器的安全接入和運(yùn)行。
SPNIDEN:這是secure non-invasive debug enable(安全非侵入性調(diào)試使能)的縮寫,這個(gè)接口可能用于在安全環(huán)境下啟動(dòng)非侵入性的調(diào)試功能。與SPIDEN類似,這個(gè)接口可以控制調(diào)試器的安全接入和運(yùn)行,但是不會(huì)對(duì)目標(biāo)系統(tǒng)或數(shù)據(jù)產(chǎn)生干擾或損害。
NIDEN:這是non-invasive debug enable(非侵入性調(diào)試使能)的縮寫,這個(gè)接口可能用于開(kāi)啟或關(guān)閉非侵入性的調(diào)試功能。與DBGEN類似,這個(gè)接口可以控制調(diào)試器的接入和運(yùn)行,但是不會(huì)對(duì)目標(biāo)系統(tǒng)或數(shù)據(jù)產(chǎn)生干擾或損害。
而這個(gè)authentication status寄存器,就是保存了這4個(gè)接口信號(hào)的狀態(tài)。DBGEN使能的時(shí)候,NIDEN被忽略,即NIDEN被認(rèn)為是使能。SPIDEN使能的時(shí)候,SPNIDEN被忽略,即SPNIDEN被認(rèn)為是使能。
7、DEVARCH
device architecture register 這個(gè)寄存器,標(biāo)識(shí)了coresight組件的架構(gòu)信息。
這里主要關(guān)心ARCHID這個(gè)位域。
8、DEVID
device configuration register 這個(gè)寄存器的功能,由實(shí)現(xiàn)進(jìn)行定義,總共包括3個(gè)寄存器,DEVID,DEVID1,DEVID2,每個(gè)寄存器32位,只讀。
DEVID寄存器:
DEVID1寄存器:
DEVID2寄存器:
9、DEVTYPE
device type identifier register 組件的具體類型信息。依靠MAJOR位域和SUB位域來(lái)表示。
以下是組合情況:
可以看出,arm對(duì)組件分成了7大類:
- miscellaneous: 雜散類,
- trace sink: 最終接收trace信息的組件,包括有TPIU,ETB,router。
- trace link:trace信息傳遞過(guò)程中需要的中間組件,包括有router, filter, FIFO
- trace source: 產(chǎn)生trace信息的master
- debug control:debug的控制器
- debug logic:具有debug功能的master
- performance monitor:性能的檢測(cè)器檢測(cè)的master
舉一個(gè)例子,假設(shè)有一個(gè)基于Cortex-A處理器的嵌入式系統(tǒng),該系統(tǒng)使用Coresight進(jìn)行調(diào)試和跟蹤。在Coresight中,可能存在一個(gè)Trace Sink組件,用于收集和處理跟蹤數(shù)據(jù)。該組件的MAJOR位域可能被設(shè)置為0x1,以表示它屬于Trace Sink類別。而它的SUB位域可能被設(shè)置為0x100,以表示它是該類別中的一個(gè)特定組件。
通過(guò)讀取該組件的DEVTYPE寄存器值,可以確定它的類型和身份。如果DEVTYPE的值為0x101(即MAJOR位域?yàn)?x1,SUB位域?yàn)?x100),則可以知道該組件是一個(gè)Trace Sink,并且它是該類別中的一個(gè)特定組件。
通過(guò)DEVTYPE寄存器的值,開(kāi)發(fā)人員可以更好地理解系統(tǒng)的運(yùn)行狀況并進(jìn)行適當(dāng)?shù)恼{(diào)試操作。例如,如果開(kāi)發(fā)人員知道該組件的功能和行為,則可以通過(guò)修改該組件的代碼或配置來(lái)改善系統(tǒng)的性能或穩(wěn)定性。
總之,DEVTYPE寄存器的作用是提供組件的類型信息,以便在Coresight中進(jìn)行調(diào)試和跟蹤。它是開(kāi)發(fā)人員了解系統(tǒng)運(yùn)行狀況和進(jìn)行適當(dāng)調(diào)試操作的重要工具之一。
10、PIDR0-PIDR7
peripheral identification registers 外設(shè)識(shí)別寄存器。
這里面,我們關(guān)心的是SIZE,和Part number。因?yàn)槠渌闹翟谝粋€(gè)soc中,所有的組件的值是固定的。
- SIZE:表示這個(gè)組件,占用4k空間的塊數(shù)。如果只占用一個(gè)塊,那么值是0,如果占用兩個(gè)塊,值是1。占用的塊數(shù)為 2^SIZE。以下是SIZE對(duì)應(yīng)的組件占用的大小。以及需要訪問(wèn)這個(gè)組件需要的地址寬度。
part number:組件的唯一編號(hào)。soc中有多個(gè)coresight的組件,為了較好方便的管理這些組件,給每個(gè)組件分配了唯一的編號(hào)。這個(gè)編號(hào)就保存在part number中。
對(duì)于JEP106,這個(gè)是JEDEC標(biāo)準(zhǔn),可以查閱以下網(wǎng)站; www.jedec.org
Coresight寄存器PIDR0-PIDR7以及peripheral identification registers外設(shè)識(shí)別寄存器的作用是識(shí)別和分類不同的外設(shè)組件。這些寄存器提供了關(guān)于ARM核心上組件的詳細(xì)信息,例如組件的名稱、類型、大小以及它們?cè)贏RM核心上的位置。通過(guò)讀取這些寄存器的值,可以識(shí)別和區(qū)分不同的組件,以便進(jìn)行調(diào)試、性能監(jiān)控等操作。
11、CIDR0-CIDR3
component identification registers 這四個(gè)寄存器,每個(gè)寄存器只有最低8位有效。 這四個(gè)寄存器的組合,用來(lái)標(biāo)識(shí)組件的類型 。
對(duì)于ARM的組件,CIDR寄存器的有些位是固定的。比如對(duì)于CIDR0,CIDR1[3:0],CIDR2,CIDR3,是有固定值的。
CIDR1寄存器中有一個(gè)CLASS位域,用來(lái)表示組件屬于哪一個(gè)類 。ARM對(duì)自己的組件,也劃分了若個(gè)的類。
CIDR0-CIDR3寄存器是ARM核心上的一部分,每個(gè)寄存器只有最低8位有效。這些寄存器的組合被用來(lái)標(biāo)識(shí)組件的類型,以便進(jìn)行調(diào)試和優(yōu)化。
這里,我們關(guān)心如下的class:
- 0x1:rom table
- 0x9:coresight組件。
- 0xf: corelink組件
讀取組件的CIDR寄存器,即可知道這個(gè)組件是屬于哪一類。
- 對(duì)于rom table, 固定為 0xb105_100d 對(duì)于
- coresight組件,固定為 0xb105_900d 對(duì)于
- corelink組件, 固定為 0xb105_f00d
假設(shè)我們有一個(gè)ARM核心,我們想要識(shí)別其上的所有組件。首先,我們可以使用Coresight寄存器PIDR0-PIDR7以及外設(shè)識(shí)別寄存器來(lái)讀取每個(gè)組件的標(biāo)識(shí)信息。這些寄存器的值將提供關(guān)于組件的名稱、類型、大小以及它們?cè)贏RM核心上的位置等信息。
然后,我們可以使用CIDR0-CIDR3寄存器來(lái)進(jìn)一步確定每個(gè)組件的類型。通過(guò)讀取這些寄存器的值,我們可以確定哪些類型的組件存在于ARM核心上。例如,如果CIDR0-CIDR3寄存器的值組合表示某個(gè)組件是一個(gè)內(nèi)存管理單元(MMU),那么我們就可以將該組件歸類為MMU類型。
ARM核心就像是一本書(shū)的章節(jié),每個(gè)章節(jié)都是一個(gè)組件。Coresight的寄存器PIDR0-PIDR7以及外設(shè)識(shí)別寄存器就像是一本目錄,告訴我們每個(gè)章節(jié)的名稱和頁(yè)碼。而CIDR0-CIDR3寄存器就像是每個(gè)章節(jié)里面的標(biāo)題,通過(guò)它們我們可以知道每個(gè)章節(jié)的標(biāo)題是什么。
通過(guò)查看目錄(Coresight的寄存器),我們可以知道這本書(shū)有哪些章節(jié),它們分別在哪些頁(yè)碼(頁(yè)數(shù))。然后,通過(guò)閱讀每個(gè)章節(jié)的標(biāo)題(CIDR0-CIDR3寄存器),我們可以了解每個(gè)章節(jié)的內(nèi)容大致是什么。
這樣,我們就能夠更好地了解這本書(shū)的結(jié)構(gòu)和內(nèi)容,以便進(jìn)行閱讀、理解或參考。同樣的,通過(guò)使用Coresight的寄存器,我們可以更好地了解ARM核心的組件結(jié)構(gòu)和功能,以便進(jìn)行調(diào)試和優(yōu)化等操作。
rom table, coresight組件,corelink組件
ROM TABLE
ROM TABLE是ARM系列SOC(System on a Chip)必須有的一個(gè)組件,它主要用于識(shí)別和調(diào)試組件。
ROM TABLE包含了用于調(diào)試的多種信息,例如調(diào)試寄存器的基地址、調(diào)試指令、版本信息等。 這些信息被存儲(chǔ)在芯片出廠前,并在系統(tǒng)啟動(dòng)時(shí)被加載到芯片中。
- Debug ROM表:它包含了在調(diào)試過(guò)程中用到的指令,比如讀取寄存器的指令、設(shè)置斷點(diǎn)的指令等。這些指令在系統(tǒng)啟動(dòng)時(shí)會(huì)被加載到芯片中。
- Vector Table:它包含了異常向量表,即當(dāng)系統(tǒng)發(fā)生異常時(shí),程序會(huì)跳轉(zhuǎn)到這個(gè)表中對(duì)應(yīng)的異常處理程序。
- Breakpoint Table:它包含了斷點(diǎn)地址表,即可以設(shè)置斷點(diǎn)的地址列表。在調(diào)試過(guò)程中,當(dāng)程序執(zhí)行到斷點(diǎn)地址時(shí),程序會(huì)被暫停,從而幫助開(kāi)發(fā)人員檢查程序狀態(tài)。
- Symbol Table:它包含了程序中定義的全局變量和函數(shù)地址列表。這些信息對(duì)于調(diào)試過(guò)程中進(jìn)行變量訪問(wèn)和函數(shù)調(diào)用非常有用。
- Other Debug Information:除了上述提到的信息,ROM TABLE還可能包含其他調(diào)試信息,例如版本信息、調(diào)試寄存器的基地址等。
Coresight組件
Coresight組件是一種用于調(diào)試和追蹤SOC芯片的工具,它可以幫助開(kāi)發(fā)人員檢查程序運(yùn)行時(shí)的狀態(tài)和數(shù)據(jù),例如查看寄存器的值、設(shè)置斷點(diǎn)、跟蹤程序的執(zhí)行路徑等。通過(guò)Coresight組件,開(kāi)發(fā)人員可以更好地了解程序運(yùn)行時(shí)的情況,找到并解決問(wèn)題。
CoreLink組件
CoreLink組件是ARM公司提供的一套IP核,用于實(shí)現(xiàn)片上通信和共享資源管理。它提供了一組通信和同步機(jī)制,以及一個(gè)統(tǒng)一的接口,使得多個(gè)處理核心可以相互通信并共享系統(tǒng)資源,從而形成一個(gè)完整的片上系統(tǒng)。CoreLink還包含了一系列用于調(diào)試和跟蹤的組件,例如ETM(Embedded Trace Macrocell)和STIM(Serial Trace Injector),這些組件可以用于收集和分析系統(tǒng)運(yùn)行時(shí)的數(shù)據(jù),幫助開(kāi)發(fā)人員調(diào)試和優(yōu)化系統(tǒng)性能。
Coresight組件和CoreLink組件是不同的技術(shù),它們的功能和用途也不同。Coresight主要用于實(shí)現(xiàn)SOC的調(diào)試和追蹤功能,而CoreLink主要用于實(shí)現(xiàn)片上通信和共享資源管理。
-
寄存器
+關(guān)注
關(guān)注
31文章
5397瀏覽量
122665 -
ARM芯片
+關(guān)注
關(guān)注
1文章
127瀏覽量
21825 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
309瀏覽量
24096 -
CoreSight
+關(guān)注
關(guān)注
0文章
6瀏覽量
8036 -
DFx
+關(guān)注
關(guān)注
0文章
35瀏覽量
10742
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
DMA通道一覽
EXTI寄存器外部中斷
安川伺服輔助功能參數(shù)一覽表
51單片機(jī)寄存器功能一覽表

芯片與寄存器

單片機(jī)怎么通過(guò)按鍵控制計(jì)時(shí)器的開(kāi)始和停止_超詳細(xì)!51單片機(jī)寄存器功能一覽表...

為調(diào)試寄存器 DBGDRAR 設(shè)置的值錯(cuò)誤
車載芯片安全寄存器的布局設(shè)計(jì)

評(píng)論