欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種芯片調(diào)試方法及片上系統(tǒng)芯片的制作方法

文檔序號(hào):6638423閱讀:268來源:國(guó)知局
一種芯片調(diào)試方法及片上系統(tǒng)芯片的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種芯片在線調(diào)試方法及SOC芯片,用于降低芯片調(diào)試功能的開發(fā)難度和避免調(diào)試過程中監(jiān)控程序?qū)碳斐傻挠绊?。本發(fā)明實(shí)施例方法包括:片上系統(tǒng)SOC芯片通過自身的通用異步收發(fā)傳輸器UART接口與終端建立通信;所述SOC芯片通過自身的UART調(diào)試單元接收所述終端發(fā)送的調(diào)試命令;所述SOC芯片通過所述UART調(diào)試單元根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行所述調(diào)試命令得到執(zhí)行結(jié)果,并向所述終端發(fā)送所述執(zhí)行結(jié)果。本發(fā)明實(shí)施例還提供一種SOC芯片,用于降低芯片調(diào)試功能的開發(fā)難度及避免固件受其他程序的影響。
【專利說明】一種芯片調(diào)試方法及片上系統(tǒng)芯片

【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種芯片調(diào)試方法及片上系統(tǒng)(S0C,System on Chip)芯片。

【背景技術(shù)】
[0002]隨著集成電路技術(shù)應(yīng)用的發(fā)展,集成了處理器的芯片的應(yīng)用越來越廣泛,這類芯片除了內(nèi)置處理器(如51核、ARM核、MIPS核等),還包括基本的時(shí)鐘復(fù)位電路、處理器運(yùn)行所必需的存儲(chǔ)器以及可能包括的各種模塊和接口,形成了涵蓋通用微控制單元和專用片上系統(tǒng)芯片的巨大市場(chǎng)。其中“51核芯片”在低端或?qū)π阅芤蟛桓叩募译娍刂坪拖M(fèi)電子領(lǐng)域有著廣泛的應(yīng)用。
[0003]用戶在使用51核芯片開發(fā)某個(gè)應(yīng)用方案時(shí),需要芯片具備至少一種調(diào)試方式,用戶可選用其中一種調(diào)試方式,將開發(fā)的固件下載到51核芯片內(nèi)部的程序存儲(chǔ)器上,并控制固件運(yùn)行過程、監(jiān)控固件運(yùn)行狀態(tài)、觀測(cè)此應(yīng)用方案的實(shí)際運(yùn)轉(zhuǎn)效果。當(dāng)固件運(yùn)行結(jié)果不符合預(yù)期時(shí),通過調(diào)試方式獲取芯片內(nèi)部信息,分析原因,修改固件,并重新調(diào)試,直至固件運(yùn)行達(dá)到預(yù)期的效果。
[0004]現(xiàn)有技術(shù)中,51核芯片設(shè)計(jì)通用異步收發(fā)傳輸器(UART, Universal AsynchronousReceiver/Transmitter)接口,通過232電平轉(zhuǎn)換電路與PC機(jī)串口連接通訊,芯片內(nèi)預(yù)先內(nèi)置一段Monitor-51監(jiān)控程序。該程序接收并解析由電腦的UART接口發(fā)送的調(diào)試命令,也利用該程序?qū)π酒M(jìn)行調(diào)試,再將信息反饋到上位機(jī)調(diào)試軟件。
[0005]但是由于Monitor-51監(jiān)控程序內(nèi)置在51核芯片內(nèi),屬于侵入式調(diào)試,調(diào)試過程中監(jiān)控程序也在運(yùn)行,難免會(huì)占用芯片的資源,給固件的調(diào)試帶來影響。又由于該監(jiān)控程序比較復(fù)雜,而且需要硬件配合,整體實(shí)現(xiàn)方案難度較大。也就是說現(xiàn)有技術(shù)中芯片調(diào)試功能開發(fā)難度大,并且會(huì)影響固件運(yùn)行。


【發(fā)明內(nèi)容】

[0006]本發(fā)明實(shí)施例提供了一種芯片調(diào)試方法及SOC芯片,用于降低芯片調(diào)試功能的開發(fā)難度和避免調(diào)試過程中監(jiān)控程序?qū)碳斐傻挠绊憽?br> [0007]本發(fā)明實(shí)施例提供一種芯片調(diào)試方法,包括:
[0008]片上系統(tǒng)SOC芯片通過自身的通用異步收發(fā)傳輸器UART接口與終端建立通信;
[0009]所述SOC芯片通過自身的UART調(diào)試單元接收所述終端發(fā)送的調(diào)試命令;
[0010]所述SOC芯片通過所述UART調(diào)試單元根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行所述調(diào)試命令得到執(zhí)行結(jié)果,并向所述終端發(fā)送所述執(zhí)行結(jié)果。
[0011]可選地,所述調(diào)試命令包括:固件下載命令、控制固件運(yùn)行命令和獲取數(shù)據(jù)命令。
[0012]可選地,所述SOC芯片通過所述UART調(diào)試單元根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行所述調(diào)試命令得到執(zhí)行結(jié)果,并向所述終端發(fā)送所述執(zhí)行結(jié)果包括:
[0013]所述SOC芯片通過所述UART調(diào)試單元根據(jù)預(yù)置協(xié)議解析所述調(diào)試命令;
[0014]所述SOC芯片調(diào)用所述UART調(diào)試單元將固件下載到程序存儲(chǔ)器中,并向所述終端發(fā)送第一目標(biāo)信息,所述第一目標(biāo)信息用于指示所述固件下載完成;
[0015]所述SOC芯片通過所述UART調(diào)試單元控制所述固件運(yùn)行,并向所述終端發(fā)送運(yùn)行結(jié)果;
[0016]所述SOC芯片通過所述UART調(diào)試單元獲取所述固件運(yùn)行中的變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器,并向所述終端發(fā)送所述變量、所述存儲(chǔ)器中的數(shù)據(jù)及所述寄存器;
[0017]所述執(zhí)行結(jié)果包括:所述第一目標(biāo)信息、所述運(yùn)行結(jié)果、所述變量、所述存儲(chǔ)器中的數(shù)據(jù)及所述寄存器。
[0018]可選地,所述SOC芯片通過所述UART調(diào)試單元控制所述固件運(yùn)行,并向所述終端發(fā)送運(yùn)行結(jié)果包括:
[0019]所述SOC芯片通過所述UART調(diào)試單元控制所述固件單步運(yùn)行,并向所述終端發(fā)送第一程序指針,所述第一程序指針用于指示固件的運(yùn)行位置。
[0020]可選地,所述SOC芯片通過所述UART調(diào)試單元控制所述固件運(yùn)行,并向所述終端發(fā)送運(yùn)行結(jié)果包括:
[0021]所述SOC芯片通過所述UART調(diào)試單元控制所述固件連續(xù)運(yùn)行,并向所述終端發(fā)送第二目標(biāo)信息,所述第二目標(biāo)信息用于指示所述固件已連續(xù)運(yùn)行;
[0022]所述SOC芯片通過所述UART調(diào)試單元獲取所述固件的第二程序指針,并向所述終端發(fā)送所述第二程序指針,所述第二程序指針用于指示固件的運(yùn)行位置。
[0023]可選地,所述SOC芯片通過自身的UART接口與終端建立通信包括:
[0024]所述SOC芯片利用自身的UART管腳通過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線與終端建立連接。
[0025]可選地,所述預(yù)置調(diào)試協(xié)議為Monitor-51調(diào)制協(xié)議,或?yàn)樽远x調(diào)試協(xié)議。
[0026]本發(fā)明實(shí)施例還提供一種片上系統(tǒng)SOC芯片,包括:
[0027]UART接口,用于與終端建立通信;
[0028]UART調(diào)試單元;
[0029]所述UART調(diào)試單元包括:
[0030]接收子單元,用于接收所述終端發(fā)送的調(diào)試命令;
[0031]執(zhí)行子單元,用于根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行所述調(diào)試命令得到執(zhí)行結(jié)果;
[0032]發(fā)送子單元,用于向所述終端發(fā)送所述執(zhí)行子單元執(zhí)行得到的所述執(zhí)行結(jié)果。
[0033]可選地,其特征在于,所述執(zhí)行子單元包括:
[0034]解析模塊,用于根據(jù)預(yù)置協(xié)議解析所述調(diào)試命令;
[0035]下載模塊,用于將固件下載到程序存儲(chǔ)器中;
[0036]控制模塊,用于控制所述固件運(yùn)行;
[0037]獲取模塊,用于獲取所述固件運(yùn)行中的變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器。
[0038]可選地,其特征在于,所述UART接口具體用于利用自身的UART管腳通過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線與終端建立連接。
[0039]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
[0040]本發(fā)明實(shí)施例中,SOC芯片內(nèi)置了 UART調(diào)試單元,UART調(diào)試單元可以接收調(diào)試命令,還可以解析并執(zhí)行調(diào)試命令,并將調(diào)試結(jié)果發(fā)送至終端。由于該調(diào)試方法屬于非侵入式調(diào)試,因此芯片不需要預(yù)先植入監(jiān)控程序就可以完成調(diào)試,從而降低了芯片調(diào)試功能的開發(fā)難度,并且避免了調(diào)試過程中監(jiān)控程序?qū)碳斐傻挠绊憽?br>
【專利附圖】

【附圖說明】
[0041]圖1為本發(fā)明實(shí)施例中芯片在線調(diào)試方法一個(gè)實(shí)施例示意圖;
[0042]圖2為本發(fā)明實(shí)施例中芯片在線調(diào)試方法另一實(shí)施例示意圖;
[0043]圖3為本發(fā)明實(shí)施例中SOC芯片一個(gè)實(shí)施例示意圖;
[0044]圖4為本發(fā)明實(shí)施例中SOC芯片另一實(shí)施例示意圖。

【具體實(shí)施方式】
[0045]本發(fā)明實(shí)施例提供了一種芯片在線調(diào)試方法,用于降低芯片調(diào)試功能的開發(fā)難度和避免調(diào)試過程中監(jiān)控程序?qū)碳斐傻挠绊憽?br> [0046]請(qǐng)參閱圖1,本發(fā)明實(shí)施例中芯片在線調(diào)試方法的一個(gè)實(shí)施例包括:
[0047]101、SOC芯片通過自身的UART接口與終端建立通信;
[0048]SOC芯片通過自身的UART接口與終端建立通信。
[0049]102、SOC芯片通過自身的UART調(diào)試單元接收終端發(fā)送的調(diào)試命令;
[0050]用戶通過調(diào)試軟件開發(fā)固件,編譯調(diào)試命令,編譯完成后通過終端的UART接口向外發(fā)送,該調(diào)試命令轉(zhuǎn)換成芯片可識(shí)別的電平信號(hào),發(fā)送至SOC芯片,SOC芯片通過自身的UART調(diào)試單元接收終端發(fā)送的調(diào)試命令。
[0051]103、SOC芯片通過UART調(diào)試單元根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行該調(diào)試命令得到執(zhí)行結(jié)果,并向終端發(fā)送該執(zhí)行結(jié)果。
[0052]SOC芯片通過自身的UART調(diào)試單元接收終端發(fā)送的調(diào)試命令后,UART調(diào)試單元根據(jù)預(yù)置的協(xié)議對(duì)該調(diào)試命令進(jìn)行解析得到對(duì)芯片的實(shí)際調(diào)試動(dòng)作,UART調(diào)試單元執(zhí)行相應(yīng)的調(diào)試動(dòng)作得到執(zhí)行結(jié)果,并向終端發(fā)送該執(zhí)行結(jié)果。
[0053]本發(fā)明實(shí)施例中,SOC芯片內(nèi)置了 UART調(diào)試單元,UART調(diào)試單元可以接收調(diào)試命令,還可以解析并執(zhí)行調(diào)試命令,并將調(diào)試結(jié)果發(fā)送至終端。由于該調(diào)試方法屬于非侵入式調(diào)試,因此芯片不需要預(yù)先植入監(jiān)控程序就可以完成調(diào)試,從而降低了芯片調(diào)試功能的開發(fā)難度,并且避免了調(diào)試過程中監(jiān)控程序?qū)碳斐傻挠绊憽?br> [0054]下面對(duì)本發(fā)明實(shí)施例芯片在線調(diào)試方法進(jìn)行詳細(xì)描述,請(qǐng)參閱圖2,本發(fā)明實(shí)施例中芯片在線調(diào)試方法另一實(shí)施例包括:
[0055]201、SOC芯片通過自身的UART接口與終端建立通信;
[0056]SOC芯片利用自身的UART管腳通過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線與終端建立連接,可以理解的是,SOC芯片還可以利用UART接口通過其他方式與終端建立通信,具體此處不作限定。
[0057]202、SOC芯片通過自身的UART調(diào)試單元接收終端發(fā)送的調(diào)試命令;
[0058]用戶通過調(diào)試軟件開發(fā)固件,編譯調(diào)試命令,編譯完成后通過終端的UART接口向外發(fā)送,將調(diào)試命令轉(zhuǎn)換成芯片可識(shí)別的電平信號(hào),發(fā)送至SOC芯片,SOC芯片通過自身的UART調(diào)試單元接收終端發(fā)送的調(diào)試命令。該調(diào)試命令包括固件下載命令、控制固件運(yùn)行命令和獲取數(shù)據(jù)命令,還可以包括其他命令,具體此處不作限定。
[0059]203、SOC芯片通過UART調(diào)試單元根據(jù)預(yù)置協(xié)議解析調(diào)試命令;
[0060]SOC芯片接收到終端發(fā)送的調(diào)試命令后,通過自身的UART調(diào)試單元根據(jù)預(yù)置協(xié)議解析該調(diào)試命令。該預(yù)置協(xié)議可以是Monitor-51調(diào)試協(xié)議,也可以是自定義調(diào)試協(xié)議,還可以是其他調(diào)試協(xié)議,具體此處不作限定。
[0061]204、S0C芯片通過UART調(diào)試單元將固件下載到程序存儲(chǔ)器中,并向終端發(fā)送第一目標(biāo)信息;
[0062]SOC芯片解析調(diào)試命令后,SOC芯片通過自身的UART調(diào)試單元執(zhí)行固件下載命令,將固件下載到程序存儲(chǔ)器中,下載完成后向終端發(fā)送第一目標(biāo)信息,該第一目標(biāo)信息用于指示固件下載完成。
[0063]205、SOC芯片通過UART調(diào)試單元控制固件運(yùn)行,并向終端發(fā)送運(yùn)行結(jié)果;
[0064]SOC芯片將固件下載到程序存儲(chǔ)器后,SOC芯片通過自身的UART調(diào)試單元執(zhí)行控制固件運(yùn)行命令,產(chǎn)生使芯片內(nèi)置處理器運(yùn)行的使能信號(hào),控制固件運(yùn)行,并向終端發(fā)送運(yùn)行結(jié)果。
[0065]需要說明的是,UART調(diào)試單元可以通過以下兩種方式控制固件運(yùn)行,并向終端發(fā)送相應(yīng)的運(yùn)行結(jié)果:
[0066]( 一)UART調(diào)試單元控制固件單步運(yùn)行,并向終端發(fā)送第一程序指針,第一程序指針用于指示固件的運(yùn)行位置;
[0067]( 二)UART調(diào)試單元控制固件連續(xù)運(yùn)行,并向終端發(fā)送第二目標(biāo)信息,第二目標(biāo)信息用于指示固件已連續(xù)運(yùn)行。UART調(diào)試單元獲取固件的第二程序指針,并向終端發(fā)送第二程序指針,第二程序指針用于指示固件的運(yùn)行位置。
[0068]UART調(diào)試單元還可以通過其他方式控制固件運(yùn)行,并向終端發(fā)送相應(yīng)的運(yùn)行結(jié)果,具體此處不作限定。
[0069]206,SOC芯片通過UART調(diào)試單元獲取固件運(yùn)行中的變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器,并向終端發(fā)送該變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器。
[0070]SOC芯片控制固件運(yùn)行后,SOC芯片通過UART調(diào)試單元獲取固件運(yùn)行中變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器,并向終端發(fā)送該變量、數(shù)據(jù)及寄存器。
[0071]本發(fā)明實(shí)施例中,SOC芯片內(nèi)置了 UART調(diào)試單元,UART調(diào)試單元可以接收調(diào)試命令,還可以解析并執(zhí)行調(diào)試命令,并將調(diào)試結(jié)果發(fā)送至終端。由于該調(diào)試方法屬于非侵入式調(diào)試,因此芯片不需要預(yù)先植入監(jiān)控程序就可以完成調(diào)試,從而降低了芯片調(diào)試功能的開發(fā)難度,并且避免了調(diào)試過程中監(jiān)控程序?qū)碳斐傻挠绊憽?br> [0072]其次,本發(fā)明實(shí)施例中,SOC芯片可以利用UART接口通過多種方式與終端建立通信,SOC芯片可以通過自身的UART調(diào)試單元通過多種方式解析調(diào)試命令,提高了方案的靈活性。
[0073]再次,本發(fā)明實(shí)施例中,提供了一種SOC芯片通過自身UART調(diào)試單元執(zhí)行調(diào)試命令得到調(diào)試結(jié)果并向終端發(fā)送調(diào)試結(jié)果的具體方式,提高了方案的可實(shí)現(xiàn)性。
[0074]為了便于理解,下面以一實(shí)際的應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例中芯片在線調(diào)試方法進(jìn)行描述:
[0075]內(nèi)置有UART調(diào)試單元的51核芯片利用UART接口通過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線與安裝有Keil軟件的電腦連接,建立通信。
[0076]用戶在Keil軟件中開發(fā)固件,編譯調(diào)試命令,通過Keil自帶的Keil Monitor-51Driver將調(diào)試命令通過電腦的UART接口往外發(fā)送。調(diào)試命令包括:(I)將固件下載到芯片的程序存儲(chǔ)器中;(2)單步運(yùn)行固件;(3)觀察51核內(nèi)部寄存器,固件中的變量。電腦通過串口發(fā)送調(diào)試命令,經(jīng)過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線,轉(zhuǎn)換為芯片可以識(shí)別的電平信號(hào),發(fā)送至51核芯片。
[0077]51核芯片內(nèi)置的UART調(diào)試單元接收該調(diào)試命令,并根據(jù)Monitor-51調(diào)試協(xié)議解析該調(diào)試命令。解析完成后UART調(diào)試單元執(zhí)行上述調(diào)試命令。首先將固件下載至程序存儲(chǔ)器中,下載完成后將下載完成的消息通過串口返回至電腦。然后UART調(diào)試單元產(chǎn)生使51核運(yùn)行的使能信號(hào),51核在使能信號(hào)下控制固件運(yùn)行一行指令,運(yùn)行結(jié)束后,將當(dāng)前的程序指針通過串口返回至電腦,當(dāng)前程序指針指示用于指示程序具體運(yùn)行到哪一步。同時(shí),UART調(diào)試單元獲取固件運(yùn)行中的變量、51核芯片存儲(chǔ)器中的數(shù)據(jù)及寄存器,并將這些變量、數(shù)據(jù)及寄存器通過串口返回至電腦。51核芯片是通過自身串口發(fā)出的信號(hào),經(jīng)過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線,轉(zhuǎn)換為電腦可識(shí)別的信號(hào),將上述執(zhí)行結(jié)果發(fā)送至電腦的。電腦的Keil軟件利用自帶的Keil Montor-51Drive;r,解析該執(zhí)行結(jié)果,并將該執(zhí)行結(jié)果以另一種更直觀的方式在Keil界面中顯示給用戶。
[0078]下面介紹本發(fā)明實(shí)施例中的SOC芯片,請(qǐng)參閱圖3,本發(fā)明實(shí)施例中SOC芯片的一個(gè)實(shí)施例包括:
[0079]UART接口 301,用于與終端建立通信;
[0080]UART 調(diào)試單元 302 ;
[0081]其中UART調(diào)試單元302包括:
[0082]接收子單元3021,用于接收終端發(fā)送的調(diào)試命令;
[0083]執(zhí)行子單元3022,用于根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行調(diào)試命令得到執(zhí)行結(jié)果;
[0084]發(fā)送子單元3023,用于向終端發(fā)送執(zhí)行子單元3022執(zhí)行得到的執(zhí)行結(jié)果。
[0085]本發(fā)明實(shí)施例中,SOC芯片內(nèi)置了 UART調(diào)試單元302,接收子單元3021可以接收調(diào)試命令,執(zhí)行子單元3022可以解析并執(zhí)行調(diào)試命令,發(fā)送子單元3023可以將調(diào)試結(jié)果發(fā)送至終端。由于該調(diào)試方法屬于非侵入式調(diào)試,因此芯片不需要預(yù)先植入監(jiān)控程序就可以完成調(diào)試,從而降低了芯片調(diào)試功能的開發(fā)難度,并且避免了調(diào)試過程中監(jiān)控程序?qū)碳斐傻挠绊憽?br> [0086]下面對(duì)本發(fā)明實(shí)施例的SOC芯片進(jìn)行詳細(xì)描述,請(qǐng)參閱圖4,本發(fā)明實(shí)施例中SOC芯片另一實(shí)施例包括:
[0087]UART接口 401,用于與終端建立通信;
[0088]UART 調(diào)試單元 402 ;
[0089]其中UART調(diào)試單元402包括:
[0090]接收子單元4021,用于接收終端發(fā)送的調(diào)試命令;
[0091]執(zhí)行子單元4022,用于根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行調(diào)試命令得到執(zhí)行結(jié)果;
[0092]發(fā)送子單元4023,用于向終端發(fā)送執(zhí)行子單元4022執(zhí)行得到的執(zhí)行結(jié)果。
[0093]其中,執(zhí)行子單元4022包括:
[0094]解析模塊40221,用于根據(jù)預(yù)置協(xié)議解析調(diào)試命令;
[0095]下載模塊40222,用于將固件下載到程序存儲(chǔ)器中;
[0096]控制模塊40223,用于控制固件運(yùn)行;
[0097]獲取模塊40224,用于獲取固件運(yùn)行中的變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器;
[0098]需要說明的是本發(fā)明實(shí)施例中,本發(fā)明實(shí)施例中UART接口 401可具體用于利用自身UART管腳通過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線與終端建立連接。
[0099]本發(fā)明實(shí)施例中,SOC芯片內(nèi)置了 UART調(diào)試單元402,接收子單元4021可以接收調(diào)試命令,執(zhí)行子單元4022可以解析并執(zhí)行調(diào)試命令,發(fā)送子單元4023可以將調(diào)試結(jié)果發(fā)送至終端。由于該調(diào)試方法屬于非侵入式調(diào)試,因此芯片不需要預(yù)先植入監(jiān)控程序就可以完成調(diào)試,從而降低了芯片調(diào)試功能的開發(fā)難度,并且避免了調(diào)試過程中監(jiān)控程序?qū)碳斐傻挠绊憽?br> [0100]其次,本發(fā)明實(shí)施例中,提供了一種執(zhí)行子單元4022執(zhí)行調(diào)試命令得到調(diào)試結(jié)果,發(fā)送子單元4023向終端發(fā)送調(diào)試結(jié)果的具體方式,提高了方案的可實(shí)現(xiàn)性。
[0101]為了便于理解,下面以一具體的應(yīng)用場(chǎng)景對(duì)本實(shí)施例中SOC芯片各模塊間的交互進(jìn)行描述:
[0102]UART接口 401利用自身的UART管腳通過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線與終端建立連接,可以理解的是,SOC芯片還可以利用UART接口通過其他方式與終端建立通信,具體此處不作限定。
[0103]用戶通過調(diào)試軟件開發(fā)固件,編譯調(diào)試命令,編譯完成后通過終端的UART接口向外發(fā)送,將調(diào)試命令轉(zhuǎn)換成芯片可識(shí)別的電平信號(hào),發(fā)送至SOC芯片,接收子單元4021接收終端發(fā)送的調(diào)試命令。該調(diào)試命令包括固件下載命令、控制固件運(yùn)行命令和獲取數(shù)據(jù)命令,還可以包括其他命令,具體此處不作限定。
[0104]接收子單元4021接收到終端發(fā)送的調(diào)試命令后,解析模塊40221根據(jù)預(yù)置協(xié)議解析該調(diào)試命令。該預(yù)置協(xié)議可以是Monitor-51調(diào)試協(xié)議,也可以是自定義調(diào)試協(xié)議,還可以是其他調(diào)試協(xié)議,具體此處不作限定。
[0105]解析模塊40221解析調(diào)試命令后,下載模塊40222執(zhí)行固件下載命令,將固件下載到程序存儲(chǔ)器中,下載完成后發(fā)送子單元4023向終端發(fā)送第一目標(biāo)信息,該第一目標(biāo)信息用于指示固件下載完成。
[0106]下載模塊40222將固件下載到程序存儲(chǔ)器后,控制模塊40223執(zhí)行控制固件運(yùn)行命令,產(chǎn)生使芯片內(nèi)置處理器運(yùn)行的使能信號(hào),控制固件運(yùn)行,發(fā)送子單元4023并向終端發(fā)送運(yùn)行結(jié)果。
[0107]需要說明的是,UART調(diào)試單元可以通過以下兩種方式控制固件運(yùn)行,并向終端發(fā)送相應(yīng)的運(yùn)行結(jié)果:
[0108](一 )控制模塊40223控制固件單步運(yùn)行,發(fā)送子單元4023向終端發(fā)送第一程序指針,第一程序指針用于指示固件的運(yùn)行位置;
[0109](二)控制模塊40223控制固件連續(xù)運(yùn)行,發(fā)送子單元4023向終端發(fā)送第二目標(biāo)信息,第二目標(biāo)信息用于指示固件已連續(xù)運(yùn)行。獲取模塊40224獲取固件的第二程序指針,發(fā)送子單元4023向終端發(fā)送第二程序指針,第二程序指針用于指示固件的運(yùn)行位置;
[0110]UART調(diào)試單元還可以通過其他方式控制固件運(yùn)行,并向終端發(fā)送相應(yīng)的運(yùn)行結(jié)果,具體此處不作限定。
[0111]控制模塊40223控制固件運(yùn)行后,獲取模塊40224獲取固件運(yùn)行中變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器,并向終端發(fā)送該變量、數(shù)據(jù)及寄存器。
[0112]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
[0113]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0114]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0115]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0116]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(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ì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0117]以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種芯片調(diào)試方法,其特征在于,包括: 片上系統(tǒng)SOC芯片通過自身的通用異步收發(fā)傳輸器UART接口與終端建立通信; 所述SOC芯片通過自身的UART調(diào)試單元接收所述終端發(fā)送的調(diào)試命令; 所述SOC芯片通過所述UART調(diào)試單元根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行所述調(diào)試命令得到執(zhí)行結(jié)果,并向所述終端發(fā)送所述執(zhí)行結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述調(diào)試命令包括:固件下載命令、控制固件運(yùn)行命令和獲取數(shù)據(jù)命令。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述SOC芯片通過所述UART調(diào)試單元根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行所述調(diào)試命令得到執(zhí)行結(jié)果,并向所述終端發(fā)送所述執(zhí)行結(jié)果包括: 所述SOC芯片通過所述UART調(diào)試單元根據(jù)預(yù)置協(xié)議解析所述調(diào)試命令; 所述SOC芯片通過所述UART調(diào)試單元將固件下載到程序存儲(chǔ)器中,并向所述終端發(fā)送第一目標(biāo)信息,所述第一目標(biāo)信息用于指示所述固件下載完成; 所述SOC芯片通過所述UART調(diào)試單元控制所述固件運(yùn)行,并向所述終端發(fā)送運(yùn)行結(jié)果; 所述SOC芯片通過所述UART調(diào)試單元獲取所述固件運(yùn)行中的變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器,并向所述終端發(fā)送所述變量、所述存儲(chǔ)器中的數(shù)據(jù)及所述寄存器; 所述執(zhí)行結(jié)果包括:所述第一目標(biāo)信息、所述運(yùn)行結(jié)果、所述變量、所述存儲(chǔ)器中的數(shù)據(jù)及所述寄存器。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述SOC芯片通過所述UART調(diào)試單元控制所述固件運(yùn)行,并向所述終端發(fā)送運(yùn)行結(jié)果包括: 所述SOC芯片通過所述UART調(diào)試單元控制所述固件單步運(yùn)行,并向所述終端發(fā)送第一程序指針,所述第一程序指針用于指示固件的運(yùn)行位置。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述SOC芯片通過所述UART調(diào)試單元控制所述固件運(yùn)行,并向所述終端發(fā)送運(yùn)行結(jié)果包括: 所述SOC芯片通過所述UART調(diào)試單元控制所述固件連續(xù)運(yùn)行,并向所述終端發(fā)送第二目標(biāo)信息,所述第二目標(biāo)信息用于指示所述固件已連續(xù)運(yùn)行; 所述SOC芯片通過所述UART調(diào)試單元獲取所述固件的第二程序指針,并向所述終端發(fā)送所述第二程序指針,所述第二程序指針用于指示固件的運(yùn)行位置。
6.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的方法,其特征在于,所述SOC芯片通過自身的UART接口與終端建立通信包括: 所述SOC芯片利用自身的UART管腳通過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線與終端建立連接。
7.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的方法,其特征在于,所述預(yù)置調(diào)試協(xié)議為Monitor-51調(diào)制協(xié)議,或?yàn)樽远x調(diào)試協(xié)議。
8.一種片上系統(tǒng)SOC芯片,其特征在于,包括: UART接口,用于與終端建立通信; UART調(diào)試單元; 所述UART調(diào)試單元包括: 接收子單元,用于接收所述終端發(fā)送的調(diào)試命令; 執(zhí)行子單元,用于根據(jù)預(yù)置調(diào)試協(xié)議解析及執(zhí)行所述調(diào)試命令得到執(zhí)行結(jié)果; 發(fā)送子單元,用于向所述終端發(fā)送所述執(zhí)行子單元執(zhí)行得到的所述執(zhí)行結(jié)果。
9.根據(jù)權(quán)利要求8所述的SOC芯片,其特征在于,所述執(zhí)行子單元包括: 解析模塊,用于根據(jù)預(yù)置協(xié)議解析所述調(diào)試命令; 下載模塊,用于將固件下載到程序存儲(chǔ)器中; 控制模塊,用于控制所述固件運(yùn)行; 獲取模塊,用于獲取所述固件運(yùn)行中的變量、存儲(chǔ)器中的數(shù)據(jù)及寄存器。
10.根據(jù)權(quán)利要求8所述的SOC芯片,其特征在于,所述UART接口具體用于利用自身的UART管腳通過232電平轉(zhuǎn)換電路及串口數(shù)據(jù)線與終端建立連接。
【文檔編號(hào)】G06F11/267GK104461815SQ201410765065
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月11日 優(yōu)先權(quán)日:2014年12月11日
【發(fā)明者】程鵬 申請(qǐng)人:深圳芯邦科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
崇义县| 资兴市| 白玉县| 额济纳旗| 陵水| 盘山县| 西充县| 曲松县| 忻城县| 大洼县| 普洱| 长垣县| 潼关县| 大化| 新兴县| 太湖县| 柏乡县| 宜昌市| 中宁县| 建昌县| 朝阳市| 易门县| 台山市| 安陆市| 馆陶县| 靖远县| 河池市| 额敏县| 平顶山市| 贵阳市| 临邑县| 乐都县| 虎林市| 抚宁县| 建平县| 长丰县| 长阳| 龙里县| 京山县| 中卫市| 新野县|