專利名稱:內(nèi)嵌于芯片的usb轉(zhuǎn)jtag調(diào)試裝置及其調(diào)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及SOC集成電路設(shè)計(jì)領(lǐng)域,尤其涉及一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置及其調(diào)試方法。
背景技術(shù):
目前各類開(kāi)發(fā)板調(diào)試用的接口均為JTAG接口,而連接到PC機(jī)(PersonalComputer,個(gè)人計(jì)算機(jī))都使用了 USB收發(fā)裝置。因此必須使用USB轉(zhuǎn)JTAG調(diào)試器來(lái)連接主機(jī)與開(kāi)發(fā)板,以完成對(duì)開(kāi)發(fā)板中主芯片CPU的連接和調(diào)試。隨著多核技術(shù)的發(fā)展,一個(gè)多核集成電路中存在各種類別的CPU (CentralProcessing Unit,中央處理器),由于不同的CPU使用的調(diào)試處理器都是不同廠家提供的,功能和型號(hào)均不相同,這樣對(duì)各個(gè)不同CPU進(jìn)行調(diào)試時(shí)需要采購(gòu)各自調(diào)試處理器對(duì)應(yīng)的USB轉(zhuǎn)JTAG的調(diào)試器,并且PC機(jī)需要多個(gè)USB收發(fā)裝置接入對(duì)應(yīng)的USB轉(zhuǎn)JTAG的調(diào)試器,芯片也需要提供多個(gè)JTAG接口來(lái)實(shí)現(xiàn)通過(guò)調(diào)試處理器對(duì)不同CPU的調(diào)試。傳統(tǒng)的技術(shù)來(lái)源于單核集成電路的結(jié)構(gòu),圖1是現(xiàn)有技術(shù)中芯片調(diào)試過(guò)程的結(jié)構(gòu)示意圖,如圖1所示,當(dāng)需要控制芯片20中的調(diào)試處理器28進(jìn)行調(diào)試處理時(shí),需要有調(diào)試處理器28相應(yīng)的生產(chǎn)廠商提供相應(yīng)的USB轉(zhuǎn)JTAG調(diào)試器30外界外圍PC機(jī)10完成調(diào)試工作,則不僅需要多個(gè)USB轉(zhuǎn)JTAG調(diào)試器,而且需要為其調(diào)試工作預(yù)留多個(gè)USB收發(fā)裝置和JTAG接口。因此,對(duì)多核集成電路已經(jīng)難以為用戶接受,特別難以被開(kāi)發(fā)板用戶接受。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置,包括:USB收發(fā)裝置、控制處理器、JTAG接口匯總模塊以及若干調(diào)試處理器,所述USB收發(fā)裝置接收所述外圍PC機(jī)輸出的調(diào)用指令;所述控制處理器接收所述調(diào)用指令,并根據(jù)所述調(diào)用指令對(duì)所述JTAG接口匯總模塊進(jìn)行配置;所述JTAG接口匯總模塊根據(jù)所述控制處理器的配置,轉(zhuǎn)換輸出不同的JTAG時(shí)序指令至相應(yīng)的調(diào)試處理器;所述調(diào)試處理器接收相應(yīng)所述JTAG時(shí)序指令進(jìn)行調(diào)試,并將調(diào)試結(jié)果以此經(jīng)過(guò)所述JTAG接口匯總模塊、控制處理器及USB收發(fā)裝置反饋輸出至所述外圍PC機(jī),以完成調(diào)試過(guò)程。 進(jìn)一步的,所述控制處理器包括若干I/O端口,所述控制處理器通過(guò)所述I/O端口接收所述USB收發(fā)裝置傳輸?shù)恼{(diào)用指令,并通過(guò)所述I/O端口輸出JTAG接口的控制命令。進(jìn)一步的,所述控制處理器包括控制處理模塊,所述控制處理模塊通過(guò)接收、發(fā)送USB收發(fā)裝置可識(shí)別的數(shù)據(jù)傳輸包實(shí)現(xiàn)與外圍PC機(jī)交互,所述控制處理模塊解析外圍PC機(jī)發(fā)送過(guò)來(lái)的帶有命令和參數(shù)信息的數(shù)據(jù)傳輸包,并采用程序控制的方式控制JTAG接口匯總模塊完成對(duì)調(diào)試處理器的調(diào)試過(guò)程,最終將從調(diào)試處理器獲取到的調(diào)試結(jié)果,再以數(shù)據(jù)傳輸包的形式反饋給外圍PC機(jī),以完成整個(gè)調(diào)試的過(guò)程。進(jìn)一步的,所述外圍PC機(jī)的調(diào)試指令包括復(fù)位、獲取狀態(tài)、讀取調(diào)試處理器信息、設(shè)置斷點(diǎn)、讀寫(xiě)調(diào)試處理器以及讀寫(xiě)調(diào)試處理器內(nèi)容。進(jìn)一步的,所述JTAG接口匯總模塊還包括JTAG引腳,所述JTAG引腳通過(guò)所述芯片引腳引出。本發(fā)明還提供一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,所述USB轉(zhuǎn)JTAG調(diào)試裝置包括:USB收發(fā)裝置、控制處理器、JTAG接口匯總模塊以及若干調(diào)試處理器,所述調(diào)試方法包括:外圍PC機(jī)發(fā)送調(diào)試指令;所述USB收發(fā)裝置接收所述調(diào)試指令,并傳遞給所述控制處理器;所述控制處理器將所述USB收發(fā)裝置傳遞的調(diào)用指令轉(zhuǎn)換為JTAG接口的控制命令并輸出;所述JTAG接口匯總模塊接收所述JTAG接口的控制命令,并轉(zhuǎn)化為JTAG時(shí)序指令輸出;所述調(diào)試處理器接收所述JTAG時(shí)序指令,并解析所述JTAG時(shí)序指令為相應(yīng)調(diào)試信號(hào),進(jìn)行調(diào)試; 所述調(diào)試處理器的調(diào)試結(jié)果經(jīng)過(guò)所述JTAG接口匯總模塊、控制處理器及USB收發(fā)裝置反饋輸出至所述外圍PC機(jī),以完成調(diào)試過(guò)程。進(jìn)一步的,所述控制處理器對(duì)所述JTAG接口匯總模塊進(jìn)行配置過(guò)程包括:設(shè)置選擇的調(diào)試處理器編號(hào);設(shè)置需要讀/寫(xiě)的數(shù)據(jù);設(shè)置JTAG時(shí)鐘頻率;以及讀寫(xiě)時(shí)能信號(hào)。進(jìn)一步的,所述控制處理器包括若干I/O端口,所述控制處理器通過(guò)所述I/O端口接收所述USB收發(fā)裝置傳輸?shù)恼{(diào)用指令,并通過(guò)所述I/O端口輸出JTAG接口的控制命令;所述USB收發(fā)裝置傳輸?shù)恼{(diào)用指令被封裝成USB收發(fā)裝置上的數(shù)據(jù)傳輸包進(jìn)行傳輸發(fā)送。進(jìn)一步的,所述控制處理器搭載控制處理模塊,所述控制處理模塊通過(guò)接收、發(fā)送USB收發(fā)裝置發(fā)送的調(diào)試指令實(shí)現(xiàn)與外圍PC機(jī)交互,所述控制處理模塊解析帶有調(diào)試指令和參數(shù)信息的數(shù)據(jù)傳輸包,并通過(guò)寫(xiě)寄存器通過(guò)寫(xiě)寄存器的方式控制JTAG接口匯總模塊完成對(duì)調(diào)試處理器的調(diào)試過(guò)程,最終將從調(diào)試處理器獲取到的調(diào)試結(jié)果,再以數(shù)據(jù)傳輸包的形式反饋給外圍PC機(jī),以完成整個(gè)調(diào)試的過(guò)程。進(jìn)一步的,所述調(diào)試處理器接收到所述JTAG時(shí)序指令后,會(huì)解析所述JTAG時(shí)序指令,并識(shí)別調(diào)用指令,調(diào)用相應(yīng)的處理單元獲取調(diào)試處理器狀態(tài)信息,并將所述狀態(tài)信息轉(zhuǎn)換成JTAG時(shí)序回傳給JTAG接口匯總模塊。進(jìn)一步的,所述外圍PC機(jī)的調(diào)試指令包括復(fù)位、獲取狀態(tài)、讀取調(diào)試處理器信息、設(shè)置斷點(diǎn)、讀寫(xiě)調(diào)試處理器以及讀寫(xiě)調(diào)試處理器內(nèi)容。進(jìn)一步的,所述JTAG接口匯總模塊還包括JTAG引腳,所述JTAG引腳通過(guò)所述芯片引腳引出。綜上所述,本發(fā)明所述內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置通過(guò)在多核芯片內(nèi)部設(shè)計(jì)一個(gè)電路模塊,該電路模塊一頭連接芯片中一協(xié)處理器作為控制處理器,另外一頭連接各個(gè)調(diào)試處理器的JTAG接口匯總模塊??刂铺幚砥魍瑫r(shí)連接USB收發(fā)裝置,通過(guò)軟件控制的方式將從USB收發(fā)裝置過(guò)來(lái)的命令轉(zhuǎn)化成JTAG信號(hào)對(duì)各個(gè)處理器進(jìn)行調(diào)試。因此,節(jié)省了調(diào)試時(shí)外圍PC端與開(kāi)發(fā)板間的USB轉(zhuǎn)JTAG調(diào)試器,同時(shí)可通過(guò)軟件支持多核芯片中多個(gè)CPU的在線同步調(diào)試。減低了開(kāi)發(fā)板成本,提高了調(diào)試靈活性。同時(shí),USB收發(fā)裝置在芯片中例化為裝置(Device)模式,每路JTAG控制信號(hào)使用USB收發(fā)裝置中獨(dú)立的端點(diǎn)號(hào),這樣在外圍PC端可以看到多個(gè)調(diào)試處理器,從而實(shí)現(xiàn)一根USB連線實(shí)現(xiàn)對(duì)多核芯片中所有處理器的調(diào)試。當(dāng)USB收發(fā)裝置中的端點(diǎn)數(shù)目小于需要調(diào)試的處理器個(gè)數(shù),則可以通過(guò)軟件配置的方式對(duì)需要調(diào)試的處理器進(jìn)行選擇,將需要調(diào)試的處理器JTAG控制能力綁定到USB相應(yīng)的端點(diǎn)上。 此外,為了提高靈活性,所述JTAG接口匯總模塊還包括JTAG引腳,所述JTAG弓丨腳通過(guò)所述芯片引腳引出,通過(guò)將處理器的JTAG引腳同時(shí)引出到芯片引腳上,按照傳統(tǒng)的方式外接USB轉(zhuǎn)JTAG調(diào)試器進(jìn)行調(diào)試。在芯片上提供可選擇的撥碼開(kāi)關(guān)或者軟件控制。
圖1是現(xiàn)有技術(shù)中芯片調(diào)試過(guò)程的結(jié)構(gòu)示意圖;圖2是本發(fā)明一實(shí)施例中的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置。
具體實(shí)施方式
為使本發(fā)明的內(nèi)容更加清楚易懂,以下結(jié)合說(shuō)明書(shū)附圖,對(duì)本發(fā)明的內(nèi)容作進(jìn)一步說(shuō)明。當(dāng)然本發(fā)明并不局限于該具體實(shí)施例,本領(lǐng)域內(nèi)的技術(shù)人員所熟知的一般替換也涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。其次,本發(fā)明利用示意圖進(jìn)行了詳細(xì)的表述,在詳述本發(fā)明實(shí)例時(shí),為了便于說(shuō)明,示意圖不依照一般比例局部放大,不應(yīng)以此作為對(duì)本發(fā)明的限定。本發(fā)明通過(guò)依托多核芯片的資源,內(nèi)建一個(gè)USB轉(zhuǎn)JTAG調(diào)試器,用于完成對(duì)其他中央處理器(CPU)的調(diào)試,完成后的裝置可替代外接USB轉(zhuǎn)JTAG的調(diào)試器,改為通過(guò)芯片USB收發(fā)裝置直接與調(diào)試主機(jī)相連,進(jìn)而降低這類多核芯片生產(chǎn)出來(lái)的開(kāi)發(fā)板的成本。圖2是本發(fā)明一實(shí)施例中的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置。如圖2所示,結(jié)合上述思想,本發(fā)明提供一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置,包括,USB收發(fā)裝置202、控制處理器204、JTAG接口匯總模塊206以及若干調(diào)試處理器208,其中所述控制處理器204根據(jù)通過(guò)USB收發(fā)裝置202接收外圍PC機(jī)100提供調(diào)用指令,并控制所述JTAG接口匯總模塊206轉(zhuǎn)換輸出不同的JTAG時(shí)序指令至相應(yīng)的調(diào)試處理器208,所述調(diào)試處理器208的調(diào)試結(jié)果經(jīng)過(guò)所述JTAG接口匯總模塊206、控制處理器204及USB收發(fā)裝置202反饋輸出至所述外圍PC機(jī)100,以完成調(diào)試過(guò)程。進(jìn)一步的,所述USB收發(fā)裝置202接收所述外圍PC機(jī)100輸出的調(diào)用指令,并傳輸給所述控制處理器202 ;所述控制處理器202根據(jù)調(diào)用指令對(duì)所述JTAG接口匯總模塊206進(jìn)行配置;所述JTAG接口匯總模塊206根據(jù)所述控制處理器204的配置輸出JTAG時(shí)序至相應(yīng)的調(diào)試處理器208。進(jìn)一步的,所述控制處理器204對(duì)所述JTAG接口匯總模塊206進(jìn)行配置過(guò)程包括:設(shè)置選擇的調(diào)試處理器208編號(hào);設(shè)置需要讀/寫(xiě)的數(shù)據(jù);設(shè)置JTAG時(shí)鐘頻率;以及讀寫(xiě)時(shí)能信號(hào)。進(jìn)一步的,所述控制處理器204包括若干I/O端口,所述控制處理器204通過(guò)所述I/o端口接收所述USB收發(fā)裝置202傳輸?shù)恼{(diào)用指令,并通過(guò)所述I/O端口輸出JTAG接口的控制命令。進(jìn)一步的,所述控制處理器204搭載控制處理模塊,所述控制處理模塊通過(guò)接收、發(fā)送USB收發(fā)裝置202可識(shí)別的數(shù)據(jù)傳輸包實(shí)現(xiàn)與外圍PC機(jī)交互,所述控制處理模塊204解析外圍PC機(jī)100發(fā)送過(guò)來(lái)的帶有命令和參數(shù)信息的數(shù)據(jù)傳輸包,并采用程序控制的方式控制JTAG接口匯總模塊206完成對(duì)調(diào)試處理器的調(diào)試過(guò)程,最終將從調(diào)試處理器獲取到的調(diào)試結(jié)果,再以數(shù)據(jù)傳輸包的形式反饋給外圍PC機(jī)100,以完成整個(gè)調(diào)試的過(guò)程。在較佳的實(shí)施例中,所述控制處理器204為所述芯片200自帶多核中央處理器中的一個(gè)協(xié)處理器。所述USB收發(fā)裝置202為所述芯片100自帶USB Device/OTG控制器。所述控制處理器204為所述芯片200中多核CPU中的一個(gè)協(xié)處理器;所述USB收發(fā)裝置202為所述芯片200中USB Device/OTG控制器。通過(guò)使用芯片200中多核CPU中的一個(gè)協(xié)處理器作為控制處理器204,借用芯片200中多核的USB Device/OTG控制器作為USB收發(fā)裝置 202。本發(fā)明所述內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置將多核芯片中其他需要調(diào)試的調(diào)試處理器的JTAG接口通過(guò)JTAG接口匯總模塊連接到控制處理器上,并結(jié)合使用軟件的方式支持控制處理器以及JTAG接口匯總模塊的調(diào)試功能。在正常工作時(shí),由外圍PC機(jī)的USBHost連接到芯片中作為USB收發(fā)裝置的USB Device/OTG控制器,控制處理器通過(guò)軟件控制的方式從USB收發(fā)裝置接收外圍PC機(jī)發(fā)送的調(diào)試指令,返回給JTAG接口匯總模塊中支持幾個(gè)JTAG調(diào)試口、以及每個(gè)JTAG調(diào)試口連接的CPU的種類和版本,當(dāng)外圍PC機(jī)識(shí)別到調(diào)試CPU的種類和版本后就會(huì)調(diào)用相應(yīng)的驅(qū)動(dòng)和調(diào)試工具同對(duì)應(yīng)的USB收發(fā)裝置建立通信。控制處理器接受外圍PC機(jī)發(fā)送給對(duì)應(yīng)USB收發(fā)裝置的調(diào)用指令并將其轉(zhuǎn)換成對(duì)應(yīng)JTAG端口的控制命令,通過(guò)控制處理器的1/0 口發(fā)送給JTAG轉(zhuǎn)接模塊,同時(shí)將JTAG返回的調(diào)試結(jié)果通過(guò)控制處理器的1/0 口讀回,轉(zhuǎn)換成USB傳輸包返回給PC機(jī)。這樣就完成了 PC機(jī)調(diào)試程序?qū)π酒刑幚砥鞯恼{(diào)試。進(jìn)一步的,所述外圍PC機(jī)的調(diào)試指令包括復(fù)位、獲取狀態(tài)、讀取調(diào)試處理器信息、設(shè)置斷點(diǎn)、讀寫(xiě)調(diào)試處理器以及讀寫(xiě)調(diào)試處理器內(nèi)容。此外,為了提高靈活性,所述JTAG接口匯總模塊還包括JTAG引腳,所述JTAG弓丨腳通過(guò)所述芯片引腳引出,通過(guò)將處理器的JTAG引腳同時(shí)引出到芯片引腳上,按照傳統(tǒng)的方式外接USB轉(zhuǎn)JTAG調(diào)試器進(jìn)行調(diào)試。在芯片上提供可選擇的撥碼開(kāi)關(guān)或者軟件控制。本發(fā)明還提供一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,包括:外圍PC機(jī)發(fā)送調(diào)試指令;所述USB收發(fā)裝置接收所述調(diào)試指令,并傳遞給所述控制處理器;所述控制處理器將所述USB收發(fā)裝置傳遞的調(diào)用指令轉(zhuǎn)換為JTAG接口的控制命令并輸出;所述JTAG接口匯總模塊接收所述JTAG接口的控制命令,并轉(zhuǎn)化為JTAG時(shí)序指令輸出;
所述調(diào)試處理器接收所述JTAG時(shí)序指令,并解析所述JTAG時(shí)序指令為相應(yīng)調(diào)試信號(hào),進(jìn)行調(diào)試;所述調(diào)試處理器的調(diào)試結(jié)果經(jīng)過(guò)所述JTAG接口匯總模塊、控制處理器及USB收發(fā)裝置反饋輸出至所述外圍PC機(jī),以完成調(diào)試過(guò)程。外圍PC機(jī)通過(guò)給調(diào)試處理器發(fā)送調(diào)用指令,回讀數(shù)據(jù)來(lái)完成對(duì)調(diào)試處理器的調(diào)試,其中調(diào)用指令是一套命令集,包括復(fù)位,獲取狀態(tài),讀取調(diào)試處理器信息,設(shè)置斷點(diǎn),讀寫(xiě)調(diào)試處理器寄存器,讀寫(xiě)調(diào)試處理器內(nèi)存等。雖然命令較多,但對(duì)于調(diào)試裝置來(lái)說(shuō)這些命令的工作流程是相同的。以下,以獲取狀態(tài)為例來(lái)描述內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法:I)外圍PC機(jī)發(fā)送獲取狀態(tài)的調(diào)用指令Get_Status、參數(shù)和對(duì)哪一個(gè)調(diào)試處理器進(jìn)行調(diào)試等信息到USB收發(fā)裝置上。該調(diào)用指令被封裝成USB收發(fā)裝置上的數(shù)據(jù)傳輸包(BULK)傳輸發(fā)送。2)數(shù)據(jù)傳輸包通過(guò)USB線纜傳遞給芯片的USB收發(fā)裝置,由作為芯片自帶的USB收發(fā)裝置進(jìn)行接收,具體地,芯片自帶的USB Device/OTG控制器可完成接收任務(wù)。3)接收到所述數(shù)據(jù)傳輸包后,所述USB Device/OTG控制器發(fā)送一個(gè)中斷信號(hào)給所述控制處理器。4)控制處理器接收到中斷后,調(diào)用對(duì)應(yīng)的中斷處理函數(shù)對(duì)接收到的數(shù)據(jù)傳輸包進(jìn)行處理,解析數(shù)據(jù)傳輸包中的內(nèi)容,分析出來(lái)是Get_Status的命令和相應(yīng)參數(shù)以及發(fā)送給哪一個(gè)調(diào)試處理器等信息。5)針對(duì)Get_Status的調(diào)用指令以及參數(shù),所述控制處理器調(diào)用相應(yīng)的控制處理模塊中相應(yīng)的程序?qū)TAG接口匯總模塊進(jìn)行控制。通過(guò)打開(kāi)響應(yīng)的調(diào)試處理器JTAG端口,并將Get_Status的調(diào)用指令以及參數(shù)轉(zhuǎn)化為JTAG時(shí)序指令輸出,并通過(guò)寫(xiě)寄存器的方式發(fā)送給JTAG接口匯總 模塊,其后由JTAG接口匯總模塊將這些信息轉(zhuǎn)換為JTAG時(shí)序。6)調(diào)試處理器接收到JTAG時(shí)序指令后,會(huì)解析JTAG時(shí)序指令,將其中的Get_Status命令與參數(shù)識(shí)別,調(diào)用相應(yīng)的處理單元獲取其需要的處理器狀態(tài)信息,并將這些狀態(tài)信息轉(zhuǎn)換成JTAG時(shí)序回傳給JTAG接口匯總模塊。7) JTAG接口匯總模塊會(huì)接收回傳的狀態(tài)信息保存在其模塊內(nèi)部的FIFO (FirstInput First Output,先入先出隊(duì)列)中,當(dāng)狀態(tài)信息接收完成后發(fā)送中斷通知控制處理器。8)控制處理器接收到中斷后讀取回傳的狀態(tài)信息,等待PC機(jī)發(fā)送過(guò)來(lái)的BULK In包,將回傳的狀態(tài)信息放到BULK In包的DATA區(qū)域反饋給外圍PC機(jī)。9)PC機(jī)得到反饋的狀態(tài)信息后就能夠解析出調(diào)試處理器的狀態(tài),根據(jù)狀態(tài)更新調(diào)試程序的狀態(tài)。這樣整個(gè)調(diào)試過(guò)程就結(jié)束了。其他的調(diào)用指令的調(diào)試方法與上述流程相同。只是其命令的處理軟件需要按照實(shí)際的要求完成。本發(fā)明所述內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置通過(guò)在多核芯片內(nèi)部設(shè)計(jì)一個(gè)電路模塊,該電路模塊一頭連接芯片中一協(xié)處理器作為控制處理器,另外一頭連接各個(gè)調(diào)試處理器的JTAG接口匯總模塊??刂铺幚砥魍瑫r(shí)連接USB收發(fā)裝置,通過(guò)軟件控制的方式將從USB收發(fā)裝置過(guò)來(lái)的命令轉(zhuǎn)化成JTAG信號(hào)對(duì)各個(gè)處理器進(jìn)行調(diào)試。因此,節(jié)省了調(diào)試時(shí)外圍PC端與開(kāi)發(fā)板間的USB轉(zhuǎn)JTAG調(diào)試器,同時(shí)可通過(guò)軟件支持多核芯片中多個(gè)CPU的在線同步調(diào)試。減低了開(kāi)發(fā)板成本,提高了調(diào)試靈活性。
同時(shí),USB收發(fā)裝置在芯片中例化為裝置(Device)模式,每路JTAG控制信號(hào)使用USB收發(fā)裝置中獨(dú)立的端點(diǎn)號(hào),這樣在外圍PC端可以看到多個(gè)調(diào)試處理器,從而實(shí)現(xiàn)一根USB連線實(shí)現(xiàn)對(duì)多核芯片中所有處理器的調(diào)試。當(dāng)USB收發(fā)裝置中的端點(diǎn)數(shù)目小于需要調(diào)試的處理器個(gè)數(shù),則可以通過(guò)軟件配置的方式對(duì)需要調(diào)試的處理器進(jìn)行選擇,將需要調(diào)試的處理器JTAG控制能力綁定到USB相應(yīng)的端點(diǎn)上。此外,為了提高靈活性,所述JTAG接口匯總模塊還包括JTAG引腳,所述JTAG弓丨腳通過(guò)所述芯片引腳引出,通過(guò)將處理器的JTAG引腳同時(shí)引出到芯片引腳上,按照傳統(tǒng)的方式外接USB轉(zhuǎn)JTAG調(diào)試器進(jìn)行調(diào)試。在芯片上提供可選擇的撥碼開(kāi)關(guān)或者軟件控制。上述描述僅是對(duì)本發(fā)明較佳實(shí)施例的描述,并非對(duì)本發(fā)明范圍的任何限定,本發(fā)明領(lǐng)域的普通技 術(shù)人員根據(jù)上述揭示內(nèi)容做的任何變更、修飾,均屬于權(quán)利要求書(shū)的保護(hù)范圍。
權(quán)利要求
1.一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置,包括:USB收發(fā)裝置、控制處理器、JTAG接口匯總模塊以及若干調(diào)試處理器, 所述USB收發(fā)裝置接收所述外圍PC機(jī)輸出的調(diào)用指令; 所述控制處理器接收所述調(diào)用指令,并根據(jù)所述調(diào)用指令對(duì)所述JTAG接口匯總模塊進(jìn)行配置; 所述JTAG接口匯總模塊根據(jù)所述控制處理器的配置,轉(zhuǎn)換輸出不同的JTAG時(shí)序指令至相應(yīng)的調(diào)試處理器; 所述調(diào)試處理器接收相應(yīng)所述JTAG時(shí)序指令進(jìn)行調(diào)試,并將調(diào)試結(jié)果以此經(jīng)過(guò)所述JTAG接口匯總模塊、控制處理器及USB收發(fā)裝置反饋輸出至所述外圍PC機(jī),以完成調(diào)試過(guò)程。
2.如權(quán)利要求1所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置,其特征在于,所述控制處理器包括若干I/O端口,所述控制處理器通過(guò)所述I/O端口接收所述USB收發(fā)裝置傳輸?shù)恼{(diào)用指令,并通過(guò)所述I/O端口輸出JTAG接口的控制命令。
3.如權(quán)利要求1所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置,其特征在于,所述控制處理器包括控制處理模塊,所述控制處理模塊通過(guò)接收、發(fā)送USB收發(fā)裝置可識(shí)別的數(shù)據(jù)傳輸包實(shí)現(xiàn)與外圍PC機(jī)交互,所述控制處理模塊解析所述外圍PC機(jī)發(fā)送過(guò)來(lái)的帶有命令和參數(shù)信息的數(shù)據(jù)傳輸包,并采用程序控制的方式控制JTAG接口匯總模塊完成對(duì)調(diào)試處理器的調(diào)試過(guò)程,最終將從調(diào)試處理器獲取到的調(diào)試結(jié)果,再以數(shù)據(jù)傳輸包的形式反饋給外圍PC機(jī),以完 成整個(gè)調(diào)試的過(guò)程。
4.如權(quán)利要求1至3中任意一項(xiàng)所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置,其特征在于,所述外圍PC機(jī)的調(diào)試指令包括復(fù)位、獲取狀態(tài)、讀取調(diào)試處理器信息、設(shè)置斷點(diǎn)、讀寫(xiě)調(diào)試處理器以及讀寫(xiě)調(diào)試處理器內(nèi)容。
5.如權(quán)利要求1至3中任意一項(xiàng)所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置,其特征在于,所述JTAG接口匯總模塊還包括JTAG引腳,所述JTAG引腳通過(guò)所述芯片引腳引出。
6.一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,所述USB轉(zhuǎn)JTAG調(diào)試裝置包括=USB收發(fā)裝置、控制處理器、JTAG接口匯總模塊以及若干調(diào)試處理器,所述調(diào)試方法包括: 外圍PC機(jī)發(fā)送調(diào)試指令; 所述USB收發(fā)裝置接收所述調(diào)試指令,并傳遞給所述控制處理器; 所述控制處理器將所述USB收發(fā)裝置傳遞的調(diào)用指令轉(zhuǎn)換為JTAG接口的控制命令并輸出; 所述JTAG接口匯總模塊接收所述JTAG接口的控制命令,并轉(zhuǎn)化為JTAG時(shí)序指令輸出; 所述調(diào)試處理器接收所述JTAG時(shí)序指令,并解析所述JTAG時(shí)序指令為相應(yīng)調(diào)試信號(hào),進(jìn)行調(diào)試; 所述調(diào)試處理器的調(diào)試結(jié)果經(jīng)過(guò)所述JTAG接口匯總模塊、控制處理器及USB收發(fā)裝置反饋輸出至所述外圍PC機(jī),以完成調(diào)試過(guò)程。
7.如權(quán)利要求6所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,其特征在于,所述控制處理器對(duì)所述JTAG接口匯總模塊進(jìn)行配置過(guò)程包括:設(shè)置選擇的調(diào)試處理器編號(hào);設(shè)置需要讀/寫(xiě)的數(shù)據(jù);設(shè)置JTAG時(shí)鐘頻率;以及讀寫(xiě)時(shí)能信號(hào)。
8.如權(quán)利要求6所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,其特征在于,所述控制處理器包括若干I/O端口,所述控制處理器通過(guò)所述I/O端口接收所述USB收發(fā)裝置傳輸?shù)恼{(diào)用指令,并通過(guò)所述I/O端口輸出JTAG接口的控制命令;所述USB收發(fā)裝置傳輸?shù)恼{(diào)用指令被封裝成USB收發(fā)裝置上的數(shù)據(jù)傳輸包進(jìn)行傳輸發(fā)送。
9.如權(quán)利要求8所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,其特征在于,所述控制處理器搭載控制處理模塊,所述控制處理模塊通過(guò)接收、發(fā)送USB收發(fā)裝置發(fā)送的調(diào)試指令實(shí)現(xiàn)與外圍PC機(jī)交互,所述控制處理模塊解析帶有調(diào)試指令和參數(shù)信息的數(shù)據(jù)傳輸包,并通過(guò)寫(xiě)寄存器通過(guò)寫(xiě)寄存器的方式控制JTAG接口匯總模塊完成對(duì)調(diào)試處理器的調(diào)試方法,最終將從調(diào)試處理器獲取到的調(diào)試結(jié)果,再以數(shù)據(jù)傳輸包的形式反饋給外圍PC機(jī),以完成整個(gè)調(diào)試的過(guò)程。
10.如權(quán)利要求6所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,其特征在于,所述調(diào)試處理器接收到所述JTAG時(shí)序指令后,會(huì)解析所述JTAG時(shí)序指令,并識(shí)別調(diào)用指令,調(diào)用相應(yīng)的處理單元獲取調(diào)試處理器狀態(tài)信息,并將所述狀態(tài)信息轉(zhuǎn)換成JTAG時(shí)序回傳給JTAG接口匯總模塊。
11.如權(quán)利要求6至10中任意一項(xiàng)所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,其特征在于,所述外圍PC機(jī)的調(diào)試指令包括復(fù)位、獲取狀態(tài)、讀取調(diào)試處理器信息、設(shè)置斷點(diǎn)、讀寫(xiě)調(diào)試處理器以及讀寫(xiě)調(diào)試處理器內(nèi)容。
12.如權(quán)利要求6至10中任意一項(xiàng)所述的內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置的調(diào)試方法,其特征在于,所述JTAG接口匯總模塊還包括JTAG引腳,所述JTAG引腳通過(guò)所述芯片引腳 引出。
全文摘要
本發(fā)明提供了一種內(nèi)嵌于芯片的USB轉(zhuǎn)JTAG調(diào)試裝置及調(diào)試方法,通過(guò)在多核芯片內(nèi)部設(shè)計(jì)一個(gè)電路模塊,該電路模塊一頭連接芯片中一協(xié)處理器作為控制處理器,另外一頭連接各個(gè)調(diào)試處理器的JTAG接口匯總模塊??刂铺幚砥魍瑫r(shí)連接USB收發(fā)裝置,通過(guò)控制處理模塊控制的方式將從USB收發(fā)裝置過(guò)來(lái)的命令轉(zhuǎn)化成JTAG信號(hào)對(duì)各個(gè)處理器進(jìn)行調(diào)試。因此,節(jié)省了調(diào)試時(shí)外圍PC端與開(kāi)發(fā)板間的USB轉(zhuǎn)JTAG調(diào)試器,同時(shí)可通過(guò)軟件支持多核芯片中多個(gè)CPU的在線同步調(diào)試。減低了開(kāi)發(fā)板成本,提高了調(diào)試靈活性。
文檔編號(hào)G06F11/26GK103226506SQ20131015631
公開(kāi)日2013年7月31日 申請(qǐng)日期2013年4月28日 優(yōu)先權(quán)日2013年4月28日
發(fā)明者李飛, 泮建光 申請(qǐng)人:杭州士蘭微電子股份有限公司