本發(fā)明有關(guān)于一種偵錯系統(tǒng),特別是有關(guān)于一種偵錯系統(tǒng)的控制方法。
背景技術(shù):
微控制器(MicroController Unit,MCU)或微處理器(Microprocessor)被廣泛應用在各種工業(yè)、家庭電器產(chǎn)品或設(shè)備之中。目前,微控制器/微處理器的程序開發(fā)必須使用到芯片模擬系統(tǒng),并利用斷點(breakpoint)來監(jiān)控程序的執(zhí)行狀態(tài),以便對程序進行偵錯(Debugging)。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種偵錯系統(tǒng)。上述偵錯系統(tǒng)包括一仿真器以及一印刷電路板。上述仿真器包括:一第一組接腳,具有一第一接腳與一第二接腳;以及,一第二組接腳,具有一第三接腳與一第四接腳。
上述印刷電路板包括:一待測芯片,包括:一第一多功能接腳,選擇性地支援一偵錯功能以及一預設(shè)功能之一;以及一第二多功能接腳,選擇性地支援上述偵錯功能以及上述預設(shè)功能;至少一周邊元件,支援上述預設(shè)功能;以及一切換器,選擇性地將上述待測芯片的上述第一多功能接腳與第二多功能接腳耦接于上述仿真器的上述第一組接腳或是上述周邊元件。當上述待測芯片的上述第一多功能接腳與第二多功能接腳支援上述偵錯功能時,上述切換器將上述待測芯片的上述第一多功能接腳與第二多功能接腳耦接于上述仿真器的上述第一組接腳,以執(zhí)行上述偵錯功能,并將上述仿真器的上述第二組接腳耦接于上述周邊元件,以執(zhí)行上述預設(shè)功能。
再者,本發(fā)明提供一種控制方法,適用于一偵錯系統(tǒng),其中上述偵錯系統(tǒng)包括一仿真器以及一印刷電路板,其中上述印刷電路板包括一待測芯片,具有選擇性地支援一偵錯功能以及一預設(shè)功能之一的一第一多功能接腳以及一第二多功能接腳。當上述待測芯片的上述第一多功能接腳與第二多功能接腳支援上述偵錯功能時,經(jīng)由上述印刷電路板的一切換器將上述待測芯片的上述第一多功能接腳與第二多功能接腳分別耦接于上述仿真器的一第一接腳以及一第二接腳,以執(zhí)行上述偵錯功能,并經(jīng)由上述 印刷電路板的上述切換器將上述仿真器的一第三接腳與一第四接腳耦接于上述周邊元件,以執(zhí)行上述預設(shè)功能。當上述待測芯片的上述第一多功能接腳與第二多功能接腳支援上述預設(shè)功能時,經(jīng)由上述印刷電路板的上述切換器將上述待測芯片的上述第一多功能接腳與第二多功能接腳耦接于上述印刷電路板的至少一周邊元件,以執(zhí)行上述預設(shè)功能。
附圖說明
圖1顯示根據(jù)本發(fā)明一實施例所述的偵測系統(tǒng);
圖2顯示根據(jù)本發(fā)明一實施例所述的圖1中印刷電路板以及橋接器的主要元件的示意圖;
圖3顯示圖2中待測芯片的兩多功能接腳被指派來執(zhí)行預設(shè)功能的示意圖;
圖4顯示圖2中待測芯片的兩多功能接腳被指派來執(zhí)行偵測功能的示意圖;
圖5顯示根據(jù)本發(fā)明一實施例所述的偵錯系統(tǒng)的控制方法的流程圖;
圖6顯示根據(jù)本發(fā)明另一實施例所述的偵錯系統(tǒng)的控制方法的流程圖;以及
圖7顯示根據(jù)本發(fā)明另一實施例所述的偵錯系統(tǒng)的控制方法的流程圖。
【符號說明】
100~印刷電路板;
110~切換器;
120-170~周邊元件;
150~待測芯片;
155~微控制器;
200~橋接器;
250~仿真器;
300~處理裝置;
310~顯示單元;
320~處理器;
CTRL~控制信號;
IC_P1、IC_P2~多功能接腳;
ICE_P1-ICE_P4、PD_P1-PD_P2~接腳;
PG1~第一組接腳;
PG2~第一組接腳;以及
Path1-Path2~信號路徑。
具體實施方式
為讓本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉出較佳實施例,并配合所附圖式,作詳細說明如下:
為對微控制器/微處理器進行偵錯,可使用在線模擬器(In Circuit Emulator,ICE)。待測的微控制器/微處理器可設(shè)置在印刷電路板上的集成電路內(nèi),而在線模擬器可耦接于印刷電路板以及處理裝置之間。處理裝置可為個人電腦、平板或手機等電腦/電子裝置,且上述處理裝置具有集成開發(fā)環(huán)境(Integrated Development Environment,IDE)。因此,工程師可通過集成開發(fā)環(huán)境來模擬芯片上微控制器/微處理器的行為,以便縮短程序開發(fā)以及偵錯的時間。
圖1顯示根據(jù)本發(fā)明一實施例所述的偵測系統(tǒng)10。偵錯系統(tǒng)10包括印刷電路板100、橋接器200以及處理裝置300,其中待測芯片150設(shè)置于印刷電路板100上并具有多個接腳。此外,印刷電路板100更包括切換器110以及多個周邊元件120-170,其中周邊元件120-170能與待測芯片150共同執(zhí)行不同的預設(shè)功能。處理裝置300包括顯示單元310以及處理器320。在此實施例中,處理裝置300為具有集成開發(fā)環(huán)境(IDE)的個人電腦。橋接器(bridge)200包括可在集成開發(fā)環(huán)境下使用的仿真器(emulator)250,例如ULink、J-Link或是Nu-Link等。在此實施例中,藉由集成開發(fā)環(huán)境,處理裝置300內(nèi)的處理器320可通過橋接器200來存取印刷電路板100中待測芯片150內(nèi)的暫存器以及存儲器,以便控制待測芯片150內(nèi)的微控制器155來執(zhí)行不同程序,并得到執(zhí)行結(jié)果。同時地,在集成開發(fā)環(huán)境下,處理器320可在顯示單元310顯示不同程序的執(zhí)行結(jié)果,于是使用者便能通過顯示單元310來觀看并診斷待測芯片150的操作狀態(tài)。
圖2顯示根據(jù)本發(fā)明一實施例所述的圖1中印刷電路板100以及橋接器200的主要元件的示意圖。值得注意的是,在圖2中,印刷電路板100以及橋接器200的元件僅作為例子,并非用以限定本發(fā)明。印刷電路板100包括切換器110、待測芯片150以及周邊元件120。在印刷電路板100中,待測芯片150為主(master)元件,而周邊元件120為仆(slave)元件,例如存儲器等,其中待測芯片150的微控制器155可控制周邊元件120來執(zhí)行特定操作。此外,橋接器200中的仿真器250包括第一組接腳PG1以及第二組接腳PG2。第一組接腳PG1包括接腳ICE_P1與接腳ICE_P2,而第二組接腳PG2包括接腳 ICE_P3與接腳ICE_P4,其中仿真器250的第一組接腳PG1與第二組接腳PG2皆耦接于印刷電路板100的切換器110。此外,待測芯片150具有多功能(multi-functional)接腳IC_P1與IC_P2,其中待測芯片150的微控制器155可指派多功能接腳IC_P1與IC_P2來執(zhí)行多個功能之一,即多功能接腳IC_P1與IC_P2可用來執(zhí)行多種功能。一般而言,使用多功能接腳可減少芯片的接腳數(shù),以降低芯片的制造成本。在此實施例中,待測芯片150的微控制器155可指派多功能接腳IC_P1與IC_P2為在線模擬器(ICE)接腳或是通用輸入輸出(General Purpose Input/Output,GPIO)接腳。若多功能接腳IC_P1與IC_P2為在線模擬器接腳,則待測芯片150可經(jīng)由多功能接腳IC_P1與IC_P2耦接于橋接器200的仿真器250,以便與仿真器250進行通訊而執(zhí)行偵錯功能。反之,若多功能接腳IC_P1與IC_P2為通用輸入輸出接腳,則待測芯片150可經(jīng)由多功能接腳IC_P1與IC_P2耦接于印刷電路板100的周邊元件120,以便與周邊元件120進行通訊而執(zhí)行通用輸入輸出功能。傳統(tǒng)上,當待測芯片的多功能接腳被指派為在線模擬器接腳而執(zhí)行偵錯功能時,該多功能接腳會無法執(zhí)行其他功能,而印刷電路板上耦接于該多功能接腳的周邊元件亦會無法正常操作。因此,使用者無法同時對該周邊元件所支援的預設(shè)功能進行驗證,即在傳統(tǒng)的印刷電路板上,待測芯片的預設(shè)功能與偵錯功能系無法同時被執(zhí)行。
在圖2中,切換器110會根據(jù)控制信號CTRL而選擇性地將待測芯片150的多功能接腳IC_P1與IC_P2耦接于仿真器250的第一組接腳PG1(即接腳ICE_P1與ICE_P2)或是周邊元件120的接腳PD_P1與PD_P2。此外,當切換器110將待測芯片150的多功能接腳IC_P1與IC_P2耦接于仿真器250的第一組接腳PG1時,切換器110亦會根據(jù)控制信號CTRL而將仿真器250的第二組接腳PG2(即接腳ICE_P3與ICE_P4)耦接于周邊元件120的接腳PD_P1與PD_P2。于是,當待測芯片150的多功能接腳IC_P1與IC_P2被指派為在線模擬器接腳來執(zhí)行偵錯功能時,待測芯片150可經(jīng)由仿真器250與周邊元件120進行通訊,以執(zhí)行預設(shè)功能。于是,在印刷電路板100上,當待測芯片150的多功能接腳IC_P1與IC_P2被指派來執(zhí)行偵錯功能時,待測芯片150的預設(shè)功能與偵錯功能可以同時被執(zhí)行。此外,控制信號CTRL可由待測芯片150或是仿真器250所提供。在一實施例中,控制信號CTRL可由使用者手動設(shè)定。
圖3顯示圖2中待測芯片150的多功能接腳IC_P1與IC_P2被指派來執(zhí)行預設(shè)功能的示意圖。在圖3中,切換器110會根據(jù)控制信號CTRL而將待測芯片150的多功能接腳IC_P1與IC_P2耦接于周邊元件120的接腳PD_P1與PD_P2。于是,待測芯片150可與周 邊元件120進行通訊而執(zhí)行預設(shè)功能。
圖4顯示圖2中待測芯片150的多功能接腳IC_P1與IC_P2被指派來執(zhí)行偵測功能的示意圖。在圖4中,切換器110會根據(jù)控制信號CTRL而將待測芯片150的多功能接腳IC_P1與IC_P2耦接于仿真器250的第一組接腳PG1,以建立信號路徑Path1。于是,待測芯片150可與仿真器250經(jīng)由信號路徑Path1進行通訊而執(zhí)行偵錯功能。在此實施例中,仿真器250的接腳ICE_P1為數(shù)據(jù)接腳(例如ICE_DAT),而仿真器250的接腳ICE_P2為時脈接腳(例如ICE_CLK)。此外,切換器110亦會根據(jù)控制信號CTRL而將仿真器250的第二組接腳PG2耦接于周邊元件120的接腳PD_P1與PD_P2,以建立信號路徑Path2。于是,待測芯片150可通過仿真器250以及信號路徑Path2與周邊元件120進行通訊而執(zhí)行預設(shè)功能,例如通用輸入輸出(GPIO)、通用非同步收發(fā)器(universal asynchronous receiver/transmitter,UART)、脈波寬度調(diào)變(PWM)或是內(nèi)部集成電路(Inter Integrated Circuit,I2C)功能等。
圖5顯示根據(jù)本發(fā)明一實施例所述的偵錯系統(tǒng)的控制方法的流程圖。同時參考圖4與圖5,在此實施例中,待測芯片150會通過仿真器250來與周邊元件120進行通訊,以執(zhí)行通用輸入輸出功能,其中仿真器250的接腳ICE_P3及/或接腳ICE_P4會模擬多功能接腳IC_P1與IC_P2被指派為支援通用輸入輸出功能的輸出接腳的情況。首先,待測芯片150會經(jīng)由信號路徑Path1提供指令BKPT1(例如斷點)至仿真器250,以便通知仿真器250來將接腳ICE_P3及/或接腳ICE_P4設(shè)定為可支援通用輸入輸出功能,如標號510所顯示。接著,當設(shè)定完成后,仿真器250會發(fā)送確認信號ACK1(例如返回)至待測芯片150,如標號520所顯示。接著,在接收到確認信號ACK1之后,待測芯片150會提供指令BKPT2至仿真器250,以便將接腳ICE_P3及/或接腳ICE_P4設(shè)定為輸出(OUT),并將接腳ICE_P3及/或接腳ICE_P4的信號位準設(shè)定為VAL(例如高邏輯位準或是低邏輯位準),如標號530所顯示。接著,接腳ICE_P3及/或接腳ICE_P4會經(jīng)由信號路徑Path2而提供具有信號位準VAL的信號至周邊元件120的接腳PD_P1及/或接腳PD_P2,如標號540所顯示。于是,相應于具有信號位準VAL的信號,周邊元件120可執(zhí)行所對應的操作。因此,在印刷電路板100上,可同時執(zhí)行待測芯片150的通用輸入輸出功能與偵錯功能。此外,當提供具有信號位準VAL的信號至周邊元件120之后,仿真器250會發(fā)送確認信號ACK2至待測芯片150,如標號550所顯示。在一實施例中,待測芯片150會依序提供指令BKPT1以及指令BKPT2至仿真器250,即仿真器250不需發(fā)送確認信號 ACK1。
圖6顯示根據(jù)本發(fā)明另一實施例所述的偵錯系統(tǒng)的控制方法的流程圖。同時參考圖4與圖6,在此實施例中,待測芯片150會通過仿真器250來與周邊元件120進行通訊,以執(zhí)行通用輸入輸出功能,其中仿真器250的接腳ICE_P3及/或接腳ICE_P4會模擬多功能接腳IC_P1與IC_P2被指派為支援通用輸入輸出功能的輸入接腳的情況。首先,待測芯片150會經(jīng)由信號路徑Path1提供指令BKPT1(例如斷點)至仿真器250,以便通知仿真器250來將接腳ICE_P3及/或接腳ICE_P4設(shè)定為可支援通用輸入輸出功能,如標號610所顯示。接著,當設(shè)定完成后,仿真器250會發(fā)送確認信號ACK1(例如返回)至待測芯片150,如標號620所顯示。接著,在接收到確認信號ACK1之后,待測芯片150會提供指令BKPT2至仿真器250,以便將接腳ICE_P3及/或接腳ICE_P4設(shè)定為輸出(IN),如標號630所顯示。于是,接腳ICE_P3及/或接腳ICE_P4會經(jīng)由信號路徑Path2得到來自周邊元件120的接腳PD_P1及/或接腳PD_P2的具有信號位準VAL的信號,如標號640所顯示。接著,在接收到具有信號位準VAL的信號之后,仿真器250會發(fā)送確認信號ACK2至待測芯片150,如標號650所顯示,以便通知待測芯片150已接收到具有信號位準VAL的信號。于是,相應于具有信號位準VAL的信號,待測芯片150可執(zhí)行所對應的操作。因此,在印刷電路板100上,可同時執(zhí)行待測芯片150的通用輸入輸出功能與偵錯功能。在一實施例中,待測芯片150會依序提供指令BKPT1以及指令BKPT2至仿真器250,即仿真器250不需發(fā)送確認信號ACK1。
圖7顯示根據(jù)本發(fā)明另一實施例所述的偵錯系統(tǒng)的控制方法的流程圖。同時參考圖4與圖7,在此實施例中,待測芯片150會通過仿真器250來與周邊元件120進行通訊,以執(zhí)行通用輸入輸出功能,其中仿真器250的接腳ICE_P3及/或接腳ICE_P4會模擬多功能接腳IC_P1與IC_P2被指派為支援通用輸入輸出功能的中斷(interrupt)接腳的情況。首先,待測芯片150會經(jīng)由信號路徑Path1提供指令BKPT1(例如斷點)至仿真器250,以便通知仿真器250來將接腳ICE_P3及/或接腳ICE_P4設(shè)定為可支援通用輸入輸出功能的中斷接腳,如標號710所顯示。接著,當設(shè)定完成后,仿真器250會發(fā)送確認信號ACK1(例如返回)至待測芯片150,如標號720所顯示。接著,當仿真器250偵測到接腳ICE_P3及/或接腳ICE_P4上有來自周邊元件120的中斷事件INT(例如從低邏輯位準變?yōu)楦哌壿嬑粶?發(fā)生時,如標號730所顯示,仿真器250可通過信號路徑Path1來通知待測芯片150有中斷事件INT發(fā)生,如標號740所顯示。于是,相應于來自周邊元件120 的中斷事件INT,待測芯片150可執(zhí)行所對應的中斷服務程序(Interrupt Service Routine,ISR)。因此,在印刷電路板100上,可同時執(zhí)行待測芯片150的通用輸入輸出功能與偵錯功能。
雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域中的一般技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可作些許的更動與潤飾,因此本發(fā)明的保護范圍當視權(quán)利要求所界定的范圍為準。