專利名稱:Soc芯片的調(diào)試方法和調(diào)試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及SOC芯片的調(diào)試技術(shù),具體而言,涉及SOC芯片的調(diào)試方法和調(diào)試系統(tǒng)。
背景技術(shù):
S0C(SyStem-On-a-Chip,片上系統(tǒng))視頻處理芯片是都整合了很多IP資源的集合體,包括CPU、VIDEO DECODER以及許多視頻處理模塊。在芯片整體架構(gòu)搭建完畢之后,需要有一個統(tǒng)一的調(diào)試方法來對芯片內(nèi)的所有模塊以及系統(tǒng)軟件進行調(diào)試。一般常見的調(diào)試接口有 USB (Universal Serial BUS,通用串行總線)、JTAG (Joint Test Action Group, 聯(lián)合測試行為組織)等,但是這些調(diào)試方式需要購買一套調(diào)試工具以及調(diào)試開發(fā)環(huán)境,這種套件往往比較昂貴。但是SOC芯片中一般都具有硬件的UART(Universal Asynchronous Receiver/Transmitter,通用異步接收/發(fā)送裝置)接口,通過這種簡單的通信接口將調(diào)試指令傳送到芯片中,從而不需要專門的調(diào)試工具,甚至可以自行開發(fā),降低調(diào)試成本。因此,需要一種新的SOC芯片的調(diào)試技術(shù),可以由UART接口實現(xiàn)對SOC芯片的調(diào)試,極大地降低了調(diào)試過程的費用。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題至少之一,本發(fā)明提供了一種新的SOC芯片的調(diào)試技術(shù), 可以由UART接口實現(xiàn)對SOC芯片的調(diào)試,極大地降低了調(diào)試過程的費用,同時,采用圖形用戶界面接收操作指令,從而生成調(diào)試命令,便于實現(xiàn)對SOC芯片的批處理,提升調(diào)試效率。有鑒于此,本發(fā)明提出了一種SOC芯片的調(diào)試方法,包括步驟102,將所述SOC芯片通過UART接口連接至電平轉(zhuǎn)換裝置,并將所述電平轉(zhuǎn)換裝置連接至控制主機;步驟104, 所述控制主機將通過圖形用戶界面接收到的調(diào)試操作指令生成調(diào)試命令;步驟106,所述電平轉(zhuǎn)換裝置對所述調(diào)試命令進行電平轉(zhuǎn)換,生成電平轉(zhuǎn)換調(diào)試命令;步驟108,所述SOC 芯片獲取并運行所述電平轉(zhuǎn)換調(diào)試命令。在該技術(shù)方案中,利用了 SOC芯片上的UART接口,相比于USB或是JTAG,UART接口更為通用。在使用USB或JTAG等調(diào)試接口時,則需要對應(yīng)的專門的一套調(diào)試工具及調(diào)試開發(fā)環(huán)境,但具有USB或JTAG等調(diào)試接口的SOC芯片的數(shù)量只占小部分,因而添置的調(diào)試工具及調(diào)試開發(fā)環(huán)境可以使用的范圍遠小于基于UART接口的調(diào)試套件,因而對于UART接口的利用,可以大大降低調(diào)試過程的費用。這里的電平轉(zhuǎn)換裝置,比如TTL電平轉(zhuǎn)換芯片,主要是由于對UART接口和RS-232 接口的利用,從而在將調(diào)試命令從控制主機發(fā)送至SOC芯片上時,需要對信號的電平進行調(diào)整。其中,RS-232接口用于連接控制主機和電平轉(zhuǎn)換裝置,從而對應(yīng)于UART接口,實現(xiàn)信號傳輸過程中的電平轉(zhuǎn)換,確保信號的成功傳輸。這里的圖形用戶界面是被安裝在控制主機上的一套調(diào)試環(huán)境,通過圖形化的方式,在人機交互界面上顯示出調(diào)試界面,則用戶可以在該調(diào)試界面上對SOC芯片上需要進行調(diào)試的功能模塊或是寄存器進行選擇,以及對希望進行的調(diào)試方式進行選擇,然后由控制主機將圖形用戶界面接收到的調(diào)試指令,生成對應(yīng)的調(diào)試命令,其中,對應(yīng)于SOC芯片上的各個功能模塊,已經(jīng)提前對其地址進行了定義,因而能夠同時將調(diào)試命令應(yīng)用于用戶希望進行調(diào)試的模塊,并得到對應(yīng)的調(diào)試結(jié)果,實現(xiàn)對SOC芯片上的功能模塊或是寄存器的批處理。根據(jù)本發(fā)明的又一方面,還提出了一種SOC芯片的調(diào)試系統(tǒng),包括所述SOC芯片、電平轉(zhuǎn)換裝置和控制主機,其中,所述控制主機,連接至所述電平轉(zhuǎn)換裝置,包含圖形用戶界面,具體包括指令接收單元,通過所述圖形用戶界面接收所述用戶的所述調(diào)試操作指令;生成單元,根據(jù)所述指令接收單元接收到的所述調(diào)試操作指令,生成調(diào)試命令;發(fā)送單元,將所述調(diào)試命令發(fā)送至所述電平轉(zhuǎn)換裝置;所述電平轉(zhuǎn)換裝置,通過UART接口連接至所述SOC芯片,包括傳送單元,從所述控制主機獲取所述調(diào)試命令,或?qū)⑸傻碾娖睫D(zhuǎn)換調(diào)試命令發(fā)送至所述SOC芯片;電平轉(zhuǎn)換單元,對來自所述傳送單元的所述調(diào)試命令進行電平轉(zhuǎn)換,生成所述電平轉(zhuǎn)換調(diào)試命令;所述SOC芯片,包括命令接收單元,通過所述UART 接口接收來自所述電平轉(zhuǎn)換裝置的所述電平轉(zhuǎn)換調(diào)試命令;運行單元,運行所述電平轉(zhuǎn)換調(diào)試命令。在該技術(shù)方案中,利用了 SOC芯片上的UART接口,相比于USB或是JTAG,UART接口更為通用。在使用USB或JTAG等調(diào)試接口時,則需要對應(yīng)的專門的一套調(diào)試工具及調(diào)試開發(fā)環(huán)境,但具有USB或JTAG等調(diào)試接口的SOC芯片的數(shù)量只占小部分,因而添置的調(diào)試工具及調(diào)試開發(fā)環(huán)境可以使用的范圍遠小于基于UART接口的調(diào)試套件,因而對于UART接口的利用,可以大大降低調(diào)試過程的費用。這里的電平轉(zhuǎn)換裝置,比如TTL電平轉(zhuǎn)換芯片,主要是由于對UART接口和RS-232 接口的利用,從而在將調(diào)試命令從控制主機發(fā)送至SOC芯片上時,需要對信號的電平進行調(diào)整。其中,RS-232接口用于連接控制主機和電平轉(zhuǎn)換裝置,從而對應(yīng)于UART接口,實現(xiàn)信號傳輸過程中的電平轉(zhuǎn)換,確保信號的成功傳輸。這里的圖形用戶界面是被安裝在控制主機上的一套調(diào)試環(huán)境,通過圖形化的方式,在人機交互界面上顯示出調(diào)試界面,則用戶可以在該調(diào)試界面上對SOC芯片上需要進行調(diào)試的功能模塊或是寄存器進行選擇,以及對希望進行的調(diào)試方式進行選擇,然后由控制主機將圖形用戶界面接收到的調(diào)試指令,生成對應(yīng)的調(diào)試命令,其中,對應(yīng)于SOC芯片上的各個功能模塊,已經(jīng)提前對其地址進行了定義,因而能夠同時將調(diào)試命令應(yīng)用于用戶希望進行調(diào)試的模塊,并得到對應(yīng)的調(diào)試結(jié)果,實現(xiàn)對SOC芯片上的功能模塊或是寄存器的批處理。
圖1示出了根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試方法的流程圖;圖2示出了根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試系統(tǒng)的框圖;圖3A至3C示出了根據(jù)本發(fā)明的實施例的圖形用戶界面的示意圖;以及圖4示出了根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試系統(tǒng)的示意圖。
具體實施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式
對本發(fā)明進行進一步的詳細描述。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明并不限于下面公開的具體實施例的限制。圖1示出了根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試方法的流程圖。如圖1所示,根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試方法,包括步驟102,將SOC 芯片通過UART接口連接至電平轉(zhuǎn)換裝置,并將電平轉(zhuǎn)換裝置連接至控制主機;步驟104,控制主機將通過圖形用戶界面接收到的調(diào)試操作指令生成調(diào)試命令;步驟106,電平轉(zhuǎn)換裝置對調(diào)試命令進行電平轉(zhuǎn)換,生成電平轉(zhuǎn)換調(diào)試命令;步驟108,SOC芯片獲取并運行電平轉(zhuǎn)換調(diào)試命令。在該技術(shù)方案中,利用了 SOC芯片上的UART接口,相比于USB或是JTAG,UART接口更為通用。在使用USB或JTAG等調(diào)試接口時,則需要對應(yīng)的專門的一套調(diào)試工具及調(diào)試開發(fā)環(huán)境,但具有USB或JTAG等調(diào)試接口的SOC芯片的數(shù)量只占小部分,因而添置的調(diào)試工具及調(diào)試開發(fā)環(huán)境可以使用的范圍遠小于基于UART接口的調(diào)試套件,因而對于UART接口的利用,可以大大降低調(diào)試過程的費用。這里的電平轉(zhuǎn)換裝置,比如TTL電平轉(zhuǎn)換芯片,主要是由于對UART接口和RS-232 接口的利用,從而在將調(diào)試命令從控制主機發(fā)送至SOC芯片上時,需要對信號的電平進行調(diào)整。其中,RS-232接口用于連接控制主機和電平轉(zhuǎn)換裝置,從而對應(yīng)于UART接口,實現(xiàn)信號傳輸過程中的電平轉(zhuǎn)換,確保信號的成功傳輸。這里的圖形用戶界面是被安裝在控制主機上的一套調(diào)試環(huán)境,通過圖形化的方式,在人機交互界面上顯示出調(diào)試界面,則用戶可以在該調(diào)試界面上對SOC芯片上需要進行調(diào)試的功能模塊或是寄存器進行選擇,以及對希望進行的調(diào)試方式進行選擇,然后由控制主機將圖形用戶界面接收到的調(diào)試指令,生成對應(yīng)的調(diào)試命令,其中,對應(yīng)于SOC芯片上的各個功能模塊,已經(jīng)提前對其地址進行了定義,因而能夠同時將調(diào)試命令應(yīng)用于用戶希望進行調(diào)試的模塊,并得到對應(yīng)的調(diào)試結(jié)果,實現(xiàn)對SOC芯片上的功能模塊或是寄存器的批處理。在上述技術(shù)方案中,還包括控制主機通過圖形用戶界面接收選擇操作指令,并根據(jù)選擇操作指令確定調(diào)試對象,其中,調(diào)試對象包括SOC芯片中的至少一個寄存器、SOC芯片中的至少一個功能模塊和/或SOC芯片。在該技術(shù)方案中,通過圖形用戶界面,用戶可以對SOC芯片中希望進行調(diào)試的功能模塊或是寄存器或是SOC芯片本身進行選擇。一方面,由于可以自由進行選擇,而且在 SOC芯片或是控制主機運行狀況允許的情況下,也沒有對調(diào)試對象的數(shù)目或種類的限制,另一方面,根據(jù)用戶對于調(diào)試對象以及對應(yīng)的調(diào)試方法的選擇結(jié)果,控制主機可以據(jù)此自動生成對應(yīng)的調(diào)試命令,因而可以方便地實現(xiàn)對多個調(diào)試對象進行批處理。在上述技術(shù)方案中,還包括控制主機根據(jù)確定的調(diào)試對象的屬性,選擇對應(yīng)的打包方式并對調(diào)試命令進行打包,生成調(diào)試數(shù)據(jù)包;以及SOC芯片獲取調(diào)試數(shù)據(jù)包,對調(diào)試數(shù)據(jù)包進行解析得到調(diào)試命令,并運行調(diào)試命令。在該技術(shù)方案中,可以將生成的調(diào)試命令按照UART接口協(xié)議對應(yīng)的格式進行打包,生成數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至SOC芯片。該數(shù)據(jù)包的生成過程是由控制主機根據(jù)用戶的預(yù)設(shè)參數(shù)、采用對應(yīng)于UART接口協(xié)議的格式自動進行打包生成的,簡化用戶的操作過程。由于預(yù)定義了 SOC芯片中的各個功能模塊的地址,因而可以將該地址信息體現(xiàn)在對應(yīng)的打包方式中,從而確保調(diào)試命令準確地發(fā)送至對應(yīng)的功能模塊,以及接收到對應(yīng)模塊傳回的調(diào)試結(jié)果信息。在上述技術(shù)方案中,SOC芯片使用包括在SOC芯片中的基于UART接口協(xié)議的驅(qū)動軟件運行來自控制主機的調(diào)試命令。在該技術(shù)方案中,針對通過UART接口接收到的來自控制主機的調(diào)試命令,在SOC 芯片中進行運行,則可以得到調(diào)試信息,完成調(diào)試過程。但SOC芯片在運行調(diào)試命令時,需要對應(yīng)的運行環(huán)境,這由基于UART接口協(xié)議的驅(qū)動軟件來提供。在上述技術(shù)方案中,還包括S0C芯片在運行調(diào)試命令時,對調(diào)試對象進行寫操作和/或讀操作;在對調(diào)試對象進行讀操作后,SOC芯片向控制主機反饋讀取數(shù)據(jù),并接收來自控制主機的確認信息;以及在確認信息為失敗信息時,SOC芯片向控制主機重新發(fā)送讀取數(shù)據(jù),直至確認信息為成功信息。在該技術(shù)方案中,調(diào)試命令中存在對SOC芯片進行數(shù)據(jù)或信息讀取的命令,這些數(shù)據(jù)或信息被讀取后,需要反饋至控制主機,便于用戶進行進一步分析,對本次調(diào)試過程及結(jié)果進行了解。這里通過控制主機對來自SOC芯片的數(shù)據(jù)的確認機制,確保數(shù)據(jù)成功被反饋至控制主機,并在出錯時及時進行重新發(fā)送,簡化了用戶的操作步驟,提高了控制主機對于需要數(shù)據(jù)的獲取成功率。圖2示出了根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試系統(tǒng)的框圖。如圖2所示,根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試系統(tǒng)200,包括S0C芯片206、 電平轉(zhuǎn)換裝置204和控制主機202,其中,控制主機202,連接至電平轉(zhuǎn)換裝置204,包含圖形用戶界面,具體包括指令接收單元208,通過圖形用戶界面接收用戶的調(diào)試操作指令;生成單元210,根據(jù)指令接收單元208接收到的調(diào)試操作指令,生成調(diào)試命令;發(fā)送單元212, 將調(diào)試命令發(fā)送至電平轉(zhuǎn)換裝置204 ;電平轉(zhuǎn)換裝置204,通過UART接口連接至SOC芯片 206,包括傳送單元218,從控制主機202獲取調(diào)試命令,或?qū)⑸傻碾娖睫D(zhuǎn)換調(diào)試命令發(fā)送至SOC芯片206 ;電平轉(zhuǎn)換單元220,對來自所述傳送單元218的調(diào)試命令進行電平轉(zhuǎn)換, 生成電平轉(zhuǎn)換調(diào)試命令;SOC芯片206,包括命令接收單元222,通過UART接口接收來自電平轉(zhuǎn)換裝置204的電平轉(zhuǎn)換調(diào)試命令;運行單元224,運行電平轉(zhuǎn)換調(diào)試命令。在該技術(shù)方案中,利用了 SOC芯片206上的UART接口,相比于USB或是JTAG,UART 接口更為通用。在使用USB或JTAG等調(diào)試接口時,則需要對應(yīng)的專門的一套調(diào)試工具及調(diào)試開發(fā)環(huán)境,但具有USB或JTAG等調(diào)試接口的SOC芯片的數(shù)量只占小部分,因而添置的調(diào)試工具及調(diào)試開發(fā)環(huán)境可以使用的范圍遠小于基于UART接口的調(diào)試套件,因而對于UART 接口的利用,可以大大降低調(diào)試過程的費用。這里的電平轉(zhuǎn)換裝置204,比如TTL電平轉(zhuǎn)換芯片,主要是由于對UART接口和 RS-232接口的利用,從而在將調(diào)試命令從控制主機202發(fā)送至SOC芯片206上時,需要對信號的電平進行調(diào)整。其中,RS-232接口用于連接控制主機202和電平轉(zhuǎn)換裝置204,從而對應(yīng)于UART接口,實現(xiàn)信號傳輸過程中的電平轉(zhuǎn)換,確保信號的成功傳輸。這里的圖形用戶界面是被安裝在控制主機202上的一套調(diào)試環(huán)境,通過圖形化的方式,在人機交互界面上顯示出調(diào)試界面,則用戶可以在該調(diào)試界面上對SOC芯片206上需要進行調(diào)試的功能模塊或是寄存器進行選擇,以及對希望進行的調(diào)試方式進行選擇,然后由控制主機將圖形用戶界面接收到的調(diào)試指令,生成對應(yīng)的調(diào)試命令,其中,對應(yīng)于SOC芯片206上的各個功能模塊,已經(jīng)提前對其地址進行了定義,因而能夠同時將調(diào)試命令應(yīng)用于用戶希望進行調(diào)試的模塊,并得到對應(yīng)的調(diào)試結(jié)果,實現(xiàn)對SOC芯片206上的功能模塊或是寄存器的批處理。在上述技術(shù)方案中,指令接收單元208還用于通過圖形用戶界面接收用戶的選擇操作指令;以及控制主機202還包括對象確定單元214,根據(jù)指令接收單元208接收到的選擇操作指令,確定調(diào)試對象,其中,調(diào)試對象包括S0C芯片206中的至少一個寄存器、 SOC芯片206中的至少一個功能模塊和/或SOC芯片206。在該技術(shù)方案中,通過圖形用戶界面,用戶可以對SOC芯片206中希望進行調(diào)試的功能模塊或是寄存器或是SOC芯片206本身進行選擇。一方面,由于可以自由進行選擇,而且在SOC芯片206或是控制主機202運行狀況允許的情況下,也沒有對調(diào)試對象的數(shù)目或種類的限制,另一方面,根據(jù)用戶對于調(diào)試對象以及對應(yīng)的調(diào)試方法的選擇結(jié)果,控制主機 202可以據(jù)此自動生成對應(yīng)的調(diào)試命令,因而可以方便地實現(xiàn)對多個調(diào)試對象進行批處理。在上述技術(shù)方案中,控制主機202還包括調(diào)制單元216,根據(jù)確定的調(diào)試對象的屬性,選擇對應(yīng)的打包方式并對調(diào)試命令進行打包,生成調(diào)試數(shù)據(jù)包;發(fā)送單元212還用于將調(diào)試數(shù)據(jù)包發(fā)送至電平轉(zhuǎn)換裝置204 ;傳送單元218還用于從控制主機202獲取調(diào)試數(shù)據(jù)包,或?qū)㈦娖睫D(zhuǎn)換調(diào)試數(shù)據(jù)包發(fā)送至SOC芯片206 ;電平轉(zhuǎn)換單元220還用于對調(diào)試數(shù)據(jù)包進行電平轉(zhuǎn)換,生成電平轉(zhuǎn)換調(diào)試數(shù)據(jù)包;SOC芯片206還包括數(shù)據(jù)包接收單元 226,通過UART接口接收來自電平轉(zhuǎn)換裝置204的電平轉(zhuǎn)換調(diào)試數(shù)據(jù)包;解析單元228,對數(shù)據(jù)包接收單元2 接收到的電平轉(zhuǎn)換調(diào)試數(shù)據(jù)包進行解析,得到調(diào)試命令。在該技術(shù)方案中,可以將生成的調(diào)試命令按照UART接口協(xié)議對應(yīng)的格式進行打包,生成數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至SOC芯片206。該數(shù)據(jù)包的生成過程是由控制主機202 根據(jù)用戶的預(yù)設(shè)參數(shù)、采用對應(yīng)于UART接口協(xié)議的格式自動進行打包生成的,簡化用戶的操作過程。由于預(yù)定義了 SOC芯片206中的各個功能模塊的地址,因而可以將該地址信息體現(xiàn)在對應(yīng)的打包方式中,從而確保調(diào)試命令準確地發(fā)送至對應(yīng)的功能模塊,以及接收到對應(yīng)模塊傳回的調(diào)試結(jié)果信息。在上述技術(shù)方案中,SOC芯片206中集成有基于UART接口協(xié)議的驅(qū)動軟件;以及運行單元2M使用基于UART接口協(xié)議的驅(qū)動軟件運行調(diào)試命令。在該技術(shù)方案中,針對通過UART接口接收到的來自控制主機202的調(diào)試命令,在 SOC芯片206中進行運行,則可以得到調(diào)試信息,完成調(diào)試過程。但SOC芯片206在運行調(diào)試命令時,需要對應(yīng)的運行環(huán)境,這由基于UART接口協(xié)議的驅(qū)動軟件來提供。在上述技術(shù)方案中,在SOC芯片206中,運行單元2M還包括寫操作子單元2240, 在運行調(diào)試命令時,對調(diào)試對象進行寫操作;讀操作子單元2242,在運行調(diào)試命令時,對調(diào)試對象進行讀操作;SOC芯片206還包括反饋單元230,在讀操作子單元2242對調(diào)試對象進行讀操作后,向控制主機202發(fā)送讀取數(shù)據(jù)或接收來自控制主機202的確認信息;處理單元,在反饋單元230接收到的確認信息為失敗信息時,控制反饋單元230重新發(fā)送讀取數(shù)據(jù),直至確認信息為成功信息。
在該技術(shù)方案中,調(diào)試命令中存在對SOC芯片206進行數(shù)據(jù)或信息讀取的命令, 這些數(shù)據(jù)或信息被讀取后,需要反饋至控制主機202,便于用戶進行進一步分析,對本次調(diào)試過程及結(jié)果進行了解。這里通過控制主機202對來自SOC芯片206的數(shù)據(jù)的確認機制, 確保數(shù)據(jù)成功被反饋至控制主機202,并在出錯時及時進行重新發(fā)送,簡化了用戶的操作步驟,提高了控制主機202對于需要數(shù)據(jù)的獲取成功率。針對上述圖形用戶界面,下面結(jié)合圖3A至3C進行具體描述,其中,圖3A至3C示出了根據(jù)本發(fā)明的實施例的圖形用戶界面的示意圖。如圖3A所示,是根據(jù)本發(fā)明的技術(shù)方案下的一種圖形用戶界面300的顯示界面, 在該圖形用戶界面300上,用戶可以通過自己的直接對功能模塊、寄存器以及希望進行的調(diào)試方式進行直接選擇,發(fā)出調(diào)試指令,并由圖形用戶界面300據(jù)此直接自動生成對應(yīng)的調(diào)試命令,對SOC芯片進行調(diào)試。具體而言,在圖形用戶界面300上包括功能模塊選擇區(qū)302、寄存器選擇區(qū)304、調(diào)試方式選擇區(qū)306、結(jié)果編輯區(qū)308和處理區(qū)310,其中,在功能模塊選擇區(qū)302中,顯示出了第一模塊、第二模塊等所有被集成在當前連接的SOC芯片中的功能模塊,則用戶可以通過點擊對應(yīng)的模塊,在寄存器選擇區(qū)304中,查看并選擇其中的寄存器。同時,對于被用戶選中的功能模塊或是寄存器,可以通過在調(diào)試方式選擇區(qū)306 中,根據(jù)用戶的要求選擇對應(yīng)的調(diào)試方式。然后,可以通過結(jié)果編輯區(qū)308,對于已經(jīng)選擇好的功能模塊或寄存器以及對應(yīng)的調(diào)試方式進行查看和編輯。最后,由處理區(qū)310中,通過“生成”按鍵,可以將用戶確認無誤的調(diào)試過程自動轉(zhuǎn)換并生成對應(yīng)的調(diào)試命令或包含調(diào)試命令的數(shù)據(jù)包;通過“錄入”按鍵,可以將生成的調(diào)試命令或數(shù)據(jù)包,由UART接口輸入到SOC芯片中;通過“運行”按鍵,可以由SOC芯片運行接收到的調(diào)試命令或?qū)?shù)據(jù)包進行解析,并運行得到的調(diào)試命令,然后得到調(diào)試結(jié)果。對于具體的操作方式,如圖:3B所示,在圖形用戶界面300中,對于功能模塊選擇區(qū) 302而言,可以通過點擊每個功能模塊后面的選擇按鈕311而直接選中對應(yīng)的功能模塊,比如點擊“第一模塊”后面的選擇按鈕311之后,便直接選中了“第一模塊”作為調(diào)試對象。也可以對每個功能模塊中的具體寄存器進行選擇,比如在點擊“第二模塊”之后, 在寄存器選擇區(qū)304中顯示出寄存器選擇界面312,其中顯示出“第二模塊”所包含的所有寄存器,而對于用戶需要進行調(diào)試的寄存器,用戶可以通過點擊在圖中顯示出的每個寄存器前方的選擇按鈕311進行選擇,比如圖:3B中選擇的“第二寄存器”和“第三寄存器”被選擇后,在其名稱的前方被標記上“ V”的標識,然后可以在調(diào)試方式選擇區(qū)306中,選擇出對應(yīng)的希望進行的調(diào)試方式,比如選擇“第一方式”,則在結(jié)果編輯區(qū)308中,顯示出了相應(yīng)的組合結(jié)果,比如圖3B中所示的選擇以“第一方式”進行調(diào)試的功能模塊或寄存器包括“第二模塊”中的“第二寄存器”和“第三寄存器”。在圖3C中,在功能模塊選擇區(qū)302中,可以直接選擇對應(yīng)的模塊,而不必進行具體的寄存器的選擇,比如可以通過點擊如圖3B中所示的“第二模塊”或“第三模塊”后面的選擇按鈕311而直接進行選擇,并在調(diào)試方式選擇區(qū)306中進行對應(yīng)的調(diào)試方式的選擇。然后,在結(jié)果編輯區(qū)308中,可以查看最后的選擇結(jié)果并進行編輯,具體的編輯方式,比如可以對采用某種調(diào)試方式的某個寄存器或功能模塊進行刪除,并重新從功能模塊選擇區(qū)302 等進行添加。
最后,通過點擊處理區(qū)310中的“生成”按鍵,進行生成對應(yīng)于用戶的選擇指令的調(diào)試命令或包含該調(diào)試命令的數(shù)據(jù)包;通過點擊處理區(qū)310中的“錄入”按鍵,將生成的調(diào)試命令或包含該調(diào)試命令的數(shù)據(jù)包發(fā)送至通過UART接口連接至控制主機的SOC芯片;通過點擊處理區(qū)310中的“運行”按鍵,則SOC芯片運行得到的調(diào)試命令或通過解析數(shù)據(jù)包得到的調(diào)試命令,并將得到的調(diào)試結(jié)果反饋至控制主機,由用戶進行查看和分析。需要說明的是,上述由圖形用戶界面300 “生成”調(diào)試命令、“確定”選擇對象的過程,本領(lǐng)域的技術(shù)人員應(yīng)該理解為由安裝有該圖形用戶界面300的控制主機,根據(jù)圖形用戶界面300接收到的用戶操作指令,生成對應(yīng)的調(diào)試命令、確定選擇對象。圖4示出了根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試系統(tǒng)的示意圖。如圖4所示,根據(jù)本發(fā)明的實施例的SOC芯片的調(diào)試系統(tǒng)400,包括上位機402 (相當于上文所述的控制主機)、硬件調(diào)試工具406(相當于上文所述的電平轉(zhuǎn)換工具)和SOC 芯片408,其中,上位機402和硬件調(diào)試工具406之間通過RS-232接口進行連接,而硬件調(diào)試工具406和SOC芯片408之間通過UART接口進行連接,具體而言,由硬件調(diào)試工具406 通過UART接口連接至SOC芯片408中的處理器410。上位機402中包含有上位機軟件404(相當于上文所述的圖形用戶界面),可以由用戶根據(jù)需要,在SOC芯片408中的多個功能模塊412中,選擇出希望進行調(diào)試的功能模塊 412甚至功能模塊412中的一個或多個寄存器,并選擇出對應(yīng)于功能模塊412的調(diào)試方式, 則上位機軟件404根據(jù)用戶的選擇指令,自動生成對應(yīng)的調(diào)試指令,并進行打包生成數(shù)據(jù)包,然后發(fā)送至SOC芯片408運行,實現(xiàn)對SOC芯片408調(diào)試過程的批處理。在利用UART接口時,為了支持對SOC芯片408內(nèi)部一個或多個寄存器的讀寫、芯片測試及調(diào)試功能,需要定義傳輸數(shù)據(jù)的協(xié)議,包括讀寫操作以及應(yīng)答,具體如表1所示。IbyteIbyteIbyteIbyteIbyteCommandPageAddrSubAddrDataLengthHighDataLengthLowData
表1數(shù)據(jù)包格式
其中
Command Ibyte
Command(7:4)Check Way(3:0)對于Command這高4個Bit 用來表示讀寫命令。(1)用0001表示讀寄存器;(2)用1000表示寫寄存器。對于Check Way這低4個Bit 用來表示校驗方式。(1)用0000表示無校驗;(2)用0001表示校驗和校驗。PageAddr Ibyte 可表示 256 頁;
SubAddr Ibyte 可表示 256 個寄存器;DataLength :2byte 高字節(jié)在前,其中 DataLengthHigh 為高字節(jié),DataLengthLow 為低字節(jié)。
(1)若CheckWay為0則無校驗DataLength =實際數(shù)據(jù)的長度;(2)若CheckWay為1則表示校驗和校驗Datalength =實際數(shù)據(jù)長度+1 (Checksum 為 lbyte)。發(fā)送讀指令時,其后不需要添加Data部分;發(fā)送寫指令時,其后Data的字節(jié)數(shù)應(yīng)與DataLength保持一致。響應(yīng)信號(1)如果上位機軟件404接收到數(shù)據(jù)并驗證成功且動作完成則發(fā)送0x02 ;(2)如果上位機軟件404接收到但驗證未成功或動作完成出錯則發(fā)送0x04。而針對上述定義的協(xié)議,上位機軟件404對于包含有調(diào)試命令的數(shù)據(jù)包進行打包生成時,也需要參考如表1所示的參數(shù),具體而言,當在上位機軟件中進行批處理操作時, 首先要選中要操作的某個模塊、某些模塊或者整個芯片,這樣就包含了選中目標的所有寄存器,然后再進行讀寫操作,在進行批處理時,上位機軟件404會根據(jù)選擇模塊的不同,按照表1定義的數(shù)據(jù)包格式打包數(shù)據(jù),其中command定義操作類型,比如讀操作或者寫操作, 還有定義數(shù)據(jù)校驗類型。根據(jù)所要操作模塊的不同,I^geAddr的內(nèi)容也不同,這是本方法預(yù)先對每個功能模塊定義好地址。當選擇批處理操作后,上位機軟件404會自動計算出所要發(fā)送數(shù)據(jù)包的長度,然后給數(shù)據(jù)包中的DataLengthHigh和DataLengthLow賦值,經(jīng)過上述過程,完成對批處理操作的自動打包和發(fā)送。此外,SOC芯片408接收到這些指令數(shù)據(jù)后進行解析,正確識別后,處理器410執(zhí)行相應(yīng)的并行總線讀寫操作,讀操作時需要返回上位機402需要的數(shù)據(jù),如果接收到出錯的應(yīng)答則要重發(fā)。這樣就形成一套對SOC芯片408調(diào)試的流程。以上結(jié)合附圖詳細說明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中,采用的USB或 JTAG接口不通用,會導(dǎo)致調(diào)試成本的提高,或者無法實現(xiàn)UART接口下調(diào)試的批處理,因此, 本發(fā)明通過提供了一種SOC芯片的調(diào)試方法和一種SOC芯片的調(diào)試系統(tǒng),可以由UART接口實現(xiàn)對SOC芯片的調(diào)試,極大地降低了調(diào)試過程的費用,同時,采用圖形用戶界面接收操作指令,從而生成調(diào)試命令,便于實現(xiàn)對SOC芯片的批處理,提升調(diào)試效率。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種SOC芯片的調(diào)試方法,其特征在于,包括步驟102,將所述SOC芯片通過UART接口連接至電平轉(zhuǎn)換裝置,并將所述電平轉(zhuǎn)換裝置連接至控制主機;步驟104,所述控制主機將通過圖形用戶界面接收到的調(diào)試操作指令生成調(diào)試命令; 步驟106,所述電平轉(zhuǎn)換裝置對所述調(diào)試命令進行電平轉(zhuǎn)換,生成電平轉(zhuǎn)換調(diào)試命令; 步驟108,所述SOC芯片獲取并運行所述電平轉(zhuǎn)換調(diào)試命令。
2.根據(jù)權(quán)利要求1所述的SOC芯片的調(diào)試方法,其特征在于,還包括所述控制主機通過所述圖形用戶界面接收選擇操作指令,并根據(jù)所述選擇操作指令確定調(diào)試對象,其中,所述調(diào)試對象包括所述SOC芯片中的至少一個寄存器、所述SOC芯片中的至少一個功能模塊和/或所述SOC芯片。
3.根據(jù)權(quán)利要求2所述的SOC芯片的調(diào)試方法,其特征在于,還包括所述控制主機根據(jù)確定的調(diào)試對象的屬性,選擇對應(yīng)的打包方式并對所述調(diào)試命令進行打包,生成調(diào)試數(shù)據(jù)包;以及所述SOC芯片獲取所述調(diào)試數(shù)據(jù)包,對所述調(diào)試數(shù)據(jù)包進行解析得到所述調(diào)試命令, 并運行所述調(diào)試命令。
4.根據(jù)權(quán)利要求1至3中任一項所述的SOC芯片的調(diào)試方法,其特征在于,所述SOC芯片使用包括在所述SOC芯片中的基于UART接口協(xié)議的驅(qū)動軟件運行來自所述控制主機的所述調(diào)試命令。
5.根據(jù)權(quán)利要求1至4中任一項所述的SOC芯片的調(diào)試方法,其特征在于,還包括 所述SOC芯片在運行所述調(diào)試命令時,對所述調(diào)試對象進行寫操作和/或讀操作;在對所述調(diào)試對象進行所述讀操作后,所述SOC芯片向所述控制主機反饋讀取數(shù)據(jù), 并接收來自所述控制主機的確認信息;以及在所述確認信息為失敗信息時,所述SOC芯片向所述控制主機重新發(fā)送所述讀取數(shù)據(jù),直至所述確認信息為成功信息。
6.一種SOC芯片的調(diào)試系統(tǒng),其特征在于,包括 所述SOC芯片、電平轉(zhuǎn)換裝置和控制主機,其中,所述控制主機,連接至所述電平轉(zhuǎn)換裝置,包含圖形用戶界面,具體包括 指令接收單元,通過所述圖形用戶界面接收用戶的調(diào)試操作指令; 生成單元,根據(jù)所述指令接收單元接收到的所述調(diào)試操作指令,生成調(diào)試命令; 發(fā)送單元,將所述調(diào)試命令發(fā)送至所述電平轉(zhuǎn)換裝置; 所述電平轉(zhuǎn)換裝置,通過UART接口連接至所述SOC芯片,包括 傳送單元,從所述控制主機獲取所述調(diào)試命令,或?qū)⑸傻碾娖睫D(zhuǎn)換調(diào)試命令發(fā)送至所述SOC芯片;電平轉(zhuǎn)換單元,對來自所述傳送單元的所述調(diào)試命令進行電平轉(zhuǎn)換,生成所述電平轉(zhuǎn)換調(diào)試命令;所述SOC芯片,包括命令接收單元,通過所述UART接口接收來自所述電平轉(zhuǎn)換裝置的所述電平轉(zhuǎn)換調(diào)試命令;運行單元,運行所述電平轉(zhuǎn)換調(diào)試命令。
7.根據(jù)權(quán)利要求6所述的SOC芯片的調(diào)試系統(tǒng),其特征在于,所述指令接收單元還用于通過所述圖形用戶界面接收所述用戶的選擇操作指令;以及所述控制主機還包括對象確定單元,根據(jù)所述指令接收單元接收到的所述選擇操作指令,確定調(diào)試對象,其中,所述調(diào)試對象包括所述SOC芯片中的至少一個寄存器、所述SOC芯片中的至少一個功能模塊和/或所述SOC芯片。
8.根據(jù)權(quán)利要求7所述的SOC芯片的調(diào)試系統(tǒng),其特征在于,所述控制主機還包括 調(diào)制單元,根據(jù)確定的調(diào)試對象的屬性,選擇對應(yīng)的打包方式并對所述調(diào)試命令進行打包,生成調(diào)試數(shù)據(jù)包;所述發(fā)送單元還用于將所述調(diào)試數(shù)據(jù)包發(fā)送至所述電平轉(zhuǎn)換裝置; 所述傳送單元還用于從所述控制主機獲取所述調(diào)試數(shù)據(jù)包,或?qū)㈦娖睫D(zhuǎn)換調(diào)試數(shù)據(jù)包發(fā)送至所述SOC芯片;所述電平轉(zhuǎn)換單元還用于對所述調(diào)試數(shù)據(jù)包進行電平轉(zhuǎn)換,生成所述電平轉(zhuǎn)換調(diào)試數(shù)據(jù)包;所述SOC芯片還包括數(shù)據(jù)包接收單元,通過所述UART接口接收來自所述電平轉(zhuǎn)換裝置的所述電平轉(zhuǎn)換調(diào)試數(shù)據(jù)包;解析單元,對所述數(shù)據(jù)包接收單元接收到的所述電平轉(zhuǎn)換調(diào)試數(shù)據(jù)包進行解析,得到所述調(diào)試命令。
9.根據(jù)權(quán)利要求6至8中任一項所述的SOC芯片的調(diào)試系統(tǒng),其特征在于,所述SOC芯片中集成有基于UART接口協(xié)議的驅(qū)動軟件;以及所述運行單元使用所述基于UART接口協(xié)議的驅(qū)動軟件運行所述調(diào)試命令。
10.根據(jù)權(quán)利要求6至9中任一項所述的SOC芯片的調(diào)試系統(tǒng),其特征在于,在所述SOC 芯片中,所述運行單元還包括寫操作子單元,在運行所述調(diào)試命令時,對所述調(diào)試對象進行寫操作; 讀操作子單元,在運行所述調(diào)試命令時,對所述調(diào)試對象進行讀操作; 所述SOC芯片還包括反饋單元,在所述讀操作子單元對所述調(diào)試對象進行所述讀操作后,向所述控制主機發(fā)送讀取數(shù)據(jù)或接收來自所述控制主機的確認信息;處理單元,在所述反饋單元接收到的所述確認信息為失敗信息時,控制所述反饋單元重新發(fā)送所述讀取數(shù)據(jù),直至所述確認信息為成功信息。
全文摘要
本發(fā)明提供了一種SOC芯片的調(diào)試方法,包括步驟102,將SOC芯片通過UART接口連接至電平轉(zhuǎn)換裝置,并將電平轉(zhuǎn)換裝置連接至控制主機;步驟104,控制主機將通過圖形用戶界面接收到的調(diào)試操作指令生成調(diào)試命令;步驟106,電平轉(zhuǎn)換裝置對調(diào)試命令進行電平轉(zhuǎn)換,生成電平轉(zhuǎn)換調(diào)試命令;步驟108,SOC芯片獲取并運行電平轉(zhuǎn)換調(diào)試命令。相應(yīng)地,本發(fā)明還提供了一種SOC芯片的調(diào)試系統(tǒng)。通過本發(fā)明的技術(shù)方案,可以由UART接口實現(xiàn)對SOC芯片的調(diào)試,極大地降低了調(diào)試過程的費用,同時,采用圖形用戶界面接收操作指令,從而生成調(diào)試命令,便于實現(xiàn)對SOC芯片的批處理,提升調(diào)試效率。
文檔編號G06F11/26GK102495781SQ20111039042
公開日2012年6月13日 申請日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者徐衛(wèi) 申請人:青島海信信芯科技有限公司