本發(fā)明涉及芯片調(diào)試技術(shù)領(lǐng)域,特別是涉及一種SOC芯片調(diào)試的實(shí)現(xiàn)方法及系統(tǒng)。
背景技術(shù):
SoC(System on Chip,片上系統(tǒng))芯片是指在單一的芯片上集成了必要的全部或部分電子電路的電子器件,通常SoC芯片中可以集成CPU(Central Processing Unit,中央處理器),以及各種存儲(chǔ)器。其中調(diào)試接口廣泛應(yīng)用于SoC芯片中,常見(jiàn)的調(diào)試接口有JTAG(Joint Test Action Group,聯(lián)合測(cè)試行為組織)接口和UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)接口。
傳統(tǒng)的SOC芯片進(jìn)行調(diào)試時(shí),選擇調(diào)試工具與SOC芯片上的調(diào)試管腳相連接,然后進(jìn)行調(diào)試。SOC芯片上的調(diào)試管腳與中央處理器電連接,調(diào)試工具通過(guò)調(diào)試管腳與中央處理器建立通信,完成相應(yīng)的調(diào)試。傳統(tǒng)的SOC芯片為了方便芯片調(diào)試,會(huì)預(yù)留專(zhuān)用的調(diào)試管腳,但是當(dāng)SOC芯片不進(jìn)行調(diào)試時(shí),調(diào)試管腳則處于空閑狀態(tài),造成了管腳的浪費(fèi)。
為了解決管腳浪費(fèi)的額問(wèn)題,現(xiàn)有的解決辦法之一是通過(guò)軟件的方式控制SOC芯片內(nèi)部的中央處理器控制SOC芯片的上管腳實(shí)現(xiàn)復(fù)用,即同一管腳可以進(jìn)行調(diào)試也可以實(shí)現(xiàn)專(zhuān)用的功能。但是如果軟件運(yùn)行出現(xiàn)錯(cuò)誤,則中央處理器無(wú)法控制管腳功能的切換,則無(wú)法進(jìn)行正常的調(diào)試工作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例中提供了一種SOC芯片調(diào)試的實(shí)現(xiàn)方法及系統(tǒng),以解決現(xiàn)有技術(shù)中SOC芯片調(diào)試時(shí)管腳復(fù)用出錯(cuò)的問(wèn)題。
為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了如下技術(shù)方案:
一種SOC芯片調(diào)試的實(shí)現(xiàn)方法,所述方法包括:
在SOC芯片內(nèi)預(yù)設(shè)第一數(shù)據(jù)序列;
將所述第一數(shù)據(jù)序列與所述SOC芯片接收到的第二數(shù)據(jù)序列進(jìn)行匹配;
當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列匹配一致,產(chǎn)生調(diào)試接口使能信號(hào);
控制所述SOC芯片的中央處理器與所述SOC芯片的功能管腳連通。
優(yōu)選地,所述在SOC芯片內(nèi)預(yù)設(shè)第一數(shù)據(jù)序列,包括:
所述SOC芯片的中央處理器產(chǎn)生一段隨機(jī)電平信號(hào),將所述隨機(jī)電平信號(hào)設(shè)置為第一數(shù)據(jù)序列。
優(yōu)選地,所述第二數(shù)據(jù)序列為一段電平信號(hào),所述將第一數(shù)據(jù)序列與所述SOC芯片接收到的第二數(shù)據(jù)序列進(jìn)行匹配,包括:
解析出所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形;
將所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形進(jìn)行匹配。
優(yōu)選地,所述當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列匹配一致,產(chǎn)生調(diào)試接口使能信號(hào)包括:
判斷所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形是否一致;
當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形一致時(shí),SOC內(nèi)部產(chǎn)生可以使功能管腳轉(zhuǎn)換為調(diào)試管腳的調(diào)試接口使能信號(hào)。
優(yōu)選地,則控制SOC芯片的中央處理器與所述SOC的功能管腳連通,包括:
切斷所述功能管腳與SOC芯片中功能模塊的通信;
建立所述中央處理器與所述SOC功能管腳的通信。
一種SOC芯片調(diào)試的實(shí)現(xiàn)系統(tǒng),所述系統(tǒng)包括:
預(yù)設(shè)模塊,用于在SOC芯片內(nèi)預(yù)設(shè)第一數(shù)據(jù)序列;
匹配模塊,用于將所述第一數(shù)據(jù)序列與所述SOC芯片接收到的第二數(shù)據(jù)序列進(jìn)行匹配;
處理模塊,用于當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列匹配一致,產(chǎn)生調(diào)試接口使能信號(hào);
通信模塊,用于控制所述SOC芯片的中央處理器與所述SOC的功能管腳連通。
優(yōu)選地,所述預(yù)設(shè)模塊包括:
第一信號(hào)發(fā)生單元,用于產(chǎn)生一段隨機(jī)電平信號(hào),將所述隨機(jī)電平信號(hào)設(shè)置為第一數(shù)據(jù)序列。
優(yōu)選地,匹配模塊包括:
解析單元,用于解析出所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形;
匹配單元,用于將所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形進(jìn)行匹配。
優(yōu)選地,所述處理模塊包括:
判決單元,用于判斷所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形是否一致;
第二信號(hào)發(fā)生單元,用于當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形一致時(shí),SOC內(nèi)部產(chǎn)生可以使功能管腳轉(zhuǎn)換為調(diào)試管腳的調(diào)試接口使能信號(hào)。
優(yōu)選地,所述通信模塊包括:
第一通信轉(zhuǎn)換單元,用于切斷所述功能管腳與SOC芯片中功能模塊的通信;
第二通信轉(zhuǎn)換單元,用于建立所述中央處理器與所述功能管腳的通信。
由以上技術(shù)方案可見(jiàn),本發(fā)明實(shí)施例提供的一種SOC芯片調(diào)試的實(shí)現(xiàn)方法及系統(tǒng),包括:在SOC芯片內(nèi)預(yù)設(shè)第一數(shù)據(jù)序列;將所述第一數(shù)據(jù)序列與所述SOC芯片接收到的第二數(shù)據(jù)序列進(jìn)行匹配;當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列匹配一致,產(chǎn)生調(diào)試接口使能信號(hào);控制所述SOC芯片的中央處理器與所述SOC芯片的功能管腳連通。通過(guò)接收外部輸入的所述第二數(shù)據(jù)序列,當(dāng)所述第二數(shù)據(jù)序列與SOC芯片內(nèi)置的所述第一數(shù)據(jù)序列一致時(shí),產(chǎn)生調(diào)試接口使能信號(hào),所述調(diào)試接口使能信號(hào)將SOC芯片的功能管腳轉(zhuǎn)換為調(diào)試管腳,從而實(shí)現(xiàn)SOC芯片管腳復(fù)用進(jìn)行調(diào)試,實(shí)現(xiàn)管腳功能轉(zhuǎn)換的過(guò)程中無(wú)需中央處理器進(jìn)行調(diào)控,完全依據(jù)外部輸入的信號(hào),因此不受SOC芯片的影響,降低了SOC芯片調(diào)試時(shí)管腳復(fù)用出錯(cuò)概率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種SOC芯片的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的一種SOC芯片調(diào)試的實(shí)現(xiàn)方法的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種SOC芯片調(diào)試的實(shí)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
圖1為本實(shí)施例提供的一種SOC芯片的結(jié)構(gòu)示意圖。如圖1所示,SOC芯片包括:中央處理器、數(shù)據(jù)分配器、數(shù)據(jù)選擇器、第一功能裝置、第二功能裝置、輸入解析裝置、第一管腳、第二管腳和第三管腳。
其中所述中央處理器與所述數(shù)據(jù)分配器和所述數(shù)據(jù)選擇器電連接,所述第一功能裝置通過(guò)所述數(shù)據(jù)分配器與所述第一管腳電連接,所述第二功能模塊通過(guò)所述數(shù)據(jù)選擇器與所述第二管腳電連接。當(dāng)SOC芯片不進(jìn)行調(diào)試時(shí),所述第一管腳和所述第二管腳為功能管腳。如果SOC芯片進(jìn)行調(diào)試時(shí),所述數(shù)據(jù)分配器和所述數(shù)據(jù)選擇器可以切斷所述第一管腳和所述第二管腳與所述第一功能裝置和所述第二功能裝置之間的通信,建立所述中央處理器與所述第一管腳和所述第二管腳之間的通信。
所述輸入解析裝置分別與所述數(shù)據(jù)分配器和所述數(shù)據(jù)選擇器電連接,所述輸入解析裝置還連接所述第三管腳。本實(shí)施例提供的SOC芯片的上述裝置均封裝在芯片內(nèi)部,且所述SOC芯片上的引腳也不限于3個(gè),可以更多,上述僅做示例性描述。
參見(jiàn)圖2,為本發(fā)明實(shí)施例提供的一種SOC芯片調(diào)試的實(shí)現(xiàn)方法的流程示意圖。如圖2所示,所述方法包括:
S101,在SOC芯片內(nèi)預(yù)設(shè)第一數(shù)據(jù)序列。
所述第一數(shù)據(jù)序列可以為一段電平信號(hào),所述電平信號(hào)為SOC芯片的中央處理器隨機(jī)產(chǎn)生的,也可以通過(guò)特定的編程程序使得中央處理器產(chǎn)生一段確定的電平信號(hào)。
S102,將所述第一數(shù)據(jù)序列與所述SOC芯片接收到的第二數(shù)據(jù)序列進(jìn)行匹配。
本實(shí)施例中所述第二數(shù)據(jù)序列也是一段電平信號(hào),是外部輸入的。以圖1中的SOC芯片為例,第二數(shù)據(jù)序列通過(guò)第三引腳輸入到SOC芯片中的輸入解析裝置。所述輸入解析裝置分別解析出所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形,然后將所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形進(jìn)行匹配。
S103,當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的匹配一致,產(chǎn)生調(diào)試接口使能信號(hào);
本實(shí)施例中需要判斷所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)是否一致。假設(shè)本實(shí)施例中所述第一數(shù)據(jù)序列對(duì)應(yīng)的電平信號(hào)為一段1毫秒的高電平信號(hào),從所述第三管腳輸入的第二數(shù)據(jù)序列對(duì)應(yīng)的電平信號(hào)也為一段1毫秒的高電平信號(hào),則所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的匹配一致,所述輸入解析裝置會(huì)產(chǎn)生調(diào)試接口使能信號(hào)傳輸給數(shù)據(jù)分配器和數(shù)據(jù)選擇器。
當(dāng)然本實(shí)施例中,所述第一電平信號(hào)不僅可以為上述給出的一小段電平信號(hào),也可以是A毫秒高電平、B毫秒低電平、C毫秒高電平、D毫秒低電平的連續(xù)電平信號(hào),其中A、B、C、D均為變量,A、B、C、D的大小由中央處理器決定。這樣保證了所述第一數(shù)據(jù)序列產(chǎn)生的靈活性和多樣性,如果需要SOC芯片進(jìn)行調(diào)試時(shí),只有獲取到中央處理器產(chǎn)生的電平信號(hào)的組成,才能夠準(zhǔn)確的外部生成同樣的一段電平信號(hào)激活SOC芯片的調(diào)試功能,這樣也保證了SOC芯片的安全性。
S104,控制所述SOC芯片的中央處理器與所述SOC芯片的功能管腳連通。
上述提供的SOC芯片,所述第一管腳和所述第二管腳在芯片正常使用中是和所述第一功能裝置和所述第二功能裝置連接通信的,即所述第一管腳和所述第二管腳作為SOC芯片的功能管腳使用。如果S103中產(chǎn)生了調(diào)試接口使能信號(hào),則SOC芯片需要將本實(shí)施例中的第一管腳和第二管腳會(huì)臨時(shí)成為調(diào)試管腳,所述數(shù)據(jù)分配器和數(shù)據(jù)選擇器會(huì)切斷所述第一管腳和所述第二管腳與所述第一功能裝置和所述第二功能裝置的通信,然后建立所述中央處理器與所述第一管腳和所述第二管腳之間的通信。如果進(jìn)行下一步的調(diào)試,將調(diào)試工具連接所述第一管腳和所述第二管腳即可,其中所述第一管腳作為調(diào)試工具向SOC芯片的傳輸管腳,所述第二管腳作為SOC芯片向調(diào)試工具的傳輸管腳。
由上述實(shí)施例可見(jiàn),本發(fā)明實(shí)施例提供的一種SOC芯片調(diào)試的實(shí)現(xiàn)方法,包括:在SOC芯片內(nèi)預(yù)設(shè)第一數(shù)據(jù)序列;將所述第一數(shù)據(jù)序列與所述SOC芯片接收到的第二數(shù)據(jù)序列進(jìn)行匹配;當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列匹配一致,產(chǎn)生調(diào)試接口使能信號(hào);控制所述SOC芯片的中央處理器與所述SOC芯片的功能管腳連通。通過(guò)接收外部輸入的所述第二數(shù)據(jù)序列,當(dāng)所述第二數(shù)據(jù)序列與SOC芯片內(nèi)置的所述第一數(shù)據(jù)序列一致時(shí),產(chǎn)生調(diào)試接口使能信號(hào),所述調(diào)試接口使能信號(hào)將SOC芯片的功能管腳轉(zhuǎn)換為調(diào)試管腳,從而實(shí)現(xiàn)SOC芯片管腳復(fù)用進(jìn)行調(diào)試,實(shí)現(xiàn)管腳功能轉(zhuǎn)換的過(guò)程中無(wú)需中央處理器進(jìn)行調(diào)控,完全依據(jù)外部輸入的信號(hào),因此不受SOC芯片的影響,降低了SOC芯片調(diào)試時(shí)管腳復(fù)用出錯(cuò)概率。
通過(guò)以上的方法實(shí)施例的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
與本發(fā)明提供的一種SOC芯片調(diào)試的實(shí)現(xiàn)方法實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了一種SOC芯片調(diào)試的實(shí)現(xiàn)系統(tǒng)的實(shí)施例。
參見(jiàn)圖3,為本發(fā)明實(shí)施例提供的一種SOC芯片調(diào)試的實(shí)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖,如圖3所示,所述系統(tǒng)包括:預(yù)設(shè)模塊201、匹配模塊202、處理模塊203和通信模塊204。
所述預(yù)設(shè)模塊201,用于在SOC芯片內(nèi)預(yù)設(shè)第一數(shù)據(jù)序列。所述預(yù)設(shè)模塊201包括:第一信號(hào)發(fā)生單元,用于產(chǎn)生一段隨機(jī)電平信號(hào),將所述隨機(jī)電平信號(hào)設(shè)置為第一數(shù)據(jù)序列。
所述匹配模塊202,用于將所述第一數(shù)據(jù)序列與所述SOC芯片接收到的第二數(shù)據(jù)序列進(jìn)行匹配。匹配模塊202包括:解析單元,用于解析出所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形;匹配單元,用于將所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形進(jìn)行匹配。
所述處理模塊203,用于當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的匹配一致,產(chǎn)生調(diào)試接口使能信號(hào)。所述處理模塊203包括:判決單元,用于判斷所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形是否一致;第二信號(hào)發(fā)生單元,用于當(dāng)所述第一數(shù)據(jù)序列和所述第二數(shù)據(jù)序列的電平信號(hào)波形一致時(shí),SOC內(nèi)部產(chǎn)生可以使功能管腳轉(zhuǎn)換為調(diào)試管腳的調(diào)試接口使能信號(hào)。
所述通信模塊204,用于控制所述SOC芯片的中央處理器與所述SOC的功能管腳連通。所述通信模塊204包括:第一通信轉(zhuǎn)換單元,用于切斷所述功能管腳與SOC芯片中功能模塊的通信;第二通信轉(zhuǎn)換單元,用于建立所述中央處理器與所述功能管腳的通信。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
需要說(shuō)明的是,在本文中,諸如“第一”和“第二”等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅是本發(fā)明的具體實(shí)施方式,使本領(lǐng)域技術(shù)人員能夠理解或?qū)崿F(xiàn)本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。