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

芯片調(diào)試系統(tǒng)及方法與系統(tǒng)芯片與流程

文檔序號:11918111閱讀:401來源:國知局
芯片調(diào)試系統(tǒng)及方法與系統(tǒng)芯片與流程

本發(fā)明是有關(guān)于一種芯片調(diào)試系統(tǒng)及方法與系統(tǒng)芯片,且特別是有關(guān)于一種可保留調(diào)試信息的芯片調(diào)試系統(tǒng)及方法與系統(tǒng)芯片。



背景技術(shù):

隨著各式電子產(chǎn)品的蓬勃發(fā)展,在電子產(chǎn)品中的系統(tǒng)芯片的研發(fā)與制造的過程中,開發(fā)人員必須對所設(shè)計(jì)或制造出的系統(tǒng)芯片花費(fèi)更大量的時(shí)間與人力,來進(jìn)行系統(tǒng)芯片的偵錯以及除錯。因此,發(fā)展出在系統(tǒng)芯片內(nèi)建立量測線路,并由少數(shù)的測試引腳以及串列傳輸?shù)姆绞絹砣〈结槞z測。而目前此種架構(gòu)已被定工業(yè)標(biāo)準(zhǔn),并且稱之為JTAG(Joint Test Action Group)。目前大部分的系統(tǒng)芯片都提供JTAG邊界掃描測試結(jié)構(gòu)以供測試、開發(fā)與仿真。一般來說,系統(tǒng)芯片內(nèi)大多有一個(gè)嵌入式的處理器,而此處理器必須包括其可運(yùn)行的軟件或指令才有辦法工作。也就是說,處理器所運(yùn)行的軟件的調(diào)試對系統(tǒng)芯片的開發(fā)來說是一個(gè)重要的環(huán)節(jié)。

一般來說,當(dāng)系統(tǒng)芯片發(fā)生系統(tǒng)當(dāng)機(jī)時(shí),開發(fā)人員不一定可清楚得知問題的發(fā)生點(diǎn)。于現(xiàn)今的開發(fā)過程中,如果系統(tǒng)芯片中的處理器發(fā)生當(dāng)機(jī)的情況時(shí),開發(fā)人員通常會利用調(diào)試工具連接至系統(tǒng)芯片的JTAG接口來查看程序出錯點(diǎn),但此時(shí)可能發(fā)生調(diào)試工具無法成功連接上處理器的現(xiàn)象。開發(fā)人員往往需要重置(reset)系統(tǒng)芯片好讓調(diào)試工具可重新成功連結(jié)至處理器,但處理器中可用來偵錯的調(diào)試信息將因?yàn)樘幚砥鞯闹刂枚磺宄瑢?dǎo)致開發(fā)人員無法得知程序出錯點(diǎn)而延長開發(fā)時(shí)間。進(jìn)一步來說,當(dāng)處理器中的調(diào)試信息被清除時(shí),開發(fā)人員由于不清楚程序出錯點(diǎn)因此也難以復(fù)制相同的錯誤來進(jìn)行偵錯。因此,如何完整的保留系統(tǒng)芯片中的調(diào)試信息好讓開發(fā)人員可快速定位出錯點(diǎn)并進(jìn)行調(diào)試實(shí)為本領(lǐng)域技術(shù)人員所關(guān)心的重要議題之一。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明提供一種芯片調(diào)試系統(tǒng)及方法與系統(tǒng)芯片,可讓系統(tǒng)芯片于當(dāng)機(jī)時(shí)成功重置并同時(shí)保留處理器中的調(diào)試信息,以利于系統(tǒng)芯片的開發(fā)。

本發(fā)明提出一種可保留調(diào)試信息的芯片調(diào)試系統(tǒng),所述芯片調(diào)試系統(tǒng)包括發(fā)出控制命令的調(diào)試器以及系統(tǒng)芯片。系統(tǒng)芯片包括調(diào)試接口模塊、重置模塊、程序記錄與選擇模塊,以及處理器。調(diào)試接口模塊連接調(diào)試器以接收控制命令,依據(jù)該控制命令而產(chǎn)生控制信號與重置信號。重置模塊耦接調(diào)試接口模塊,響應(yīng)于接收所述重置信號而產(chǎn)生系統(tǒng)重置信號。程序記錄與選擇模塊耦接調(diào)試接口模塊,以接收控制信號并根據(jù)控制信號調(diào)整其工作狀態(tài)。處理器耦接重置模塊,響應(yīng)于接收到系統(tǒng)重置信號而進(jìn)行系統(tǒng)重啟(reboot),以依據(jù)程序記錄與選擇模塊的工作狀態(tài)而運(yùn)行無窮循環(huán)程序或正常啟動程序。

在本發(fā)明的一實(shí)施例中,當(dāng)處理器運(yùn)行正常啟動程序,處理器進(jìn)行初始化的設(shè)定,并清除記錄于處理器中的調(diào)試信息。當(dāng)處理器運(yùn)行無窮循環(huán)程序,處理器不清除記錄于處理器中的調(diào)試信息。

在本發(fā)明的一實(shí)施例中,上述的調(diào)試接口模塊解析控制指令,以根據(jù)控制指令當(dāng)中的第一位元數(shù)據(jù)而決定控制信號的準(zhǔn)位,并根據(jù)控制指令當(dāng)中的第二位元數(shù)據(jù)而決定重置信號的準(zhǔn)位。

在本發(fā)明的一實(shí)施例中,上述的程序記錄與選擇模塊包括存儲器模塊以及系統(tǒng)暫存器。存儲器模塊記錄有正常啟動程序與無窮循環(huán)程序。系統(tǒng)暫存器記錄一旗標(biāo),響應(yīng)于接收控制信號而依據(jù)控制信號的準(zhǔn)位設(shè)定旗標(biāo)的位元值。處理器于系統(tǒng)重啟時(shí)檢查旗標(biāo),并依據(jù)旗標(biāo)的位元值運(yùn)行存儲器模塊中的正常啟動程序或無窮循環(huán)程序。

在本發(fā)明的一實(shí)施例中,在上述的調(diào)試接口模塊產(chǎn)生控制信號而致使旗標(biāo)的位元值被設(shè)置之后,調(diào)試接口模塊再發(fā)出重置信號而驅(qū)動重置模塊發(fā)出系統(tǒng)重置信號。

在本發(fā)明的一實(shí)施例中,上述的存儲器模塊包括一啟動只讀存儲器(bootrom),該啟動只讀存儲器記錄有一狀態(tài)指令。處理器于系統(tǒng)重啟時(shí)執(zhí)行存儲器模塊中的狀態(tài)指令以檢查旗標(biāo)。

在本發(fā)明的一實(shí)施例中,上述的程序記錄與選擇模塊包括第一存儲器模塊、第二存儲器模塊,以及切換裝置。第一存儲器模塊記錄有正常啟動程序,而第二存儲器模塊記錄有無窮循環(huán)程序。切換裝置耦接第一存儲器模塊、第二存儲器模塊以及處理器。切換裝置的控制端耦接調(diào)試接口模塊以接收控制信號。切換裝置根據(jù)控制信號的準(zhǔn)位選擇連接處理器與第一存儲器模塊或選擇連接處理器與第二存儲器模塊,致使處理器響應(yīng)于接收系統(tǒng)重置信號而運(yùn)行第一存儲器模塊中的正常啟動程序或第二存儲器模塊中的無窮循環(huán)程序。

從另一觀點(diǎn)來看,本發(fā)明提出一種可保留調(diào)試信息的系統(tǒng)芯片,其包括、調(diào)試接口模塊、重置模塊、程序記錄與選擇模塊,以及處理器。調(diào)試接口模塊連接調(diào)試器以接收控制命令,接收該控制命令而產(chǎn)生控制信號與重置信號。重置模塊耦接調(diào)試接口模塊,響應(yīng)于接收所述重置信號而產(chǎn)生系統(tǒng)重置信號。程序記錄與選擇模塊耦接調(diào)試接口模塊,以接收控制信號并根據(jù)控制信號調(diào)整其工作狀態(tài)。處理器耦接重置模塊,響應(yīng)于接收到系統(tǒng)重置信號而進(jìn)行系統(tǒng)重啟,以依據(jù)程序記錄與選擇模塊的工作狀態(tài)而運(yùn)行無窮循環(huán)程序或正常啟動程序。

從再一觀點(diǎn)來看,本發(fā)明提出一種可保留調(diào)試信息的芯片調(diào)試方法,適用于處于異常狀態(tài)下的系統(tǒng)芯片。所述芯片調(diào)試方法包括下列步驟。從調(diào)試器接收控制命令。依據(jù)控制命令產(chǎn)生控制信號與重置信號。響應(yīng)于接收控制信號而根據(jù)控制信號調(diào)整工作狀態(tài),再響應(yīng)于接收重置信號而產(chǎn)生系統(tǒng)重置信號。響應(yīng)于接收到系統(tǒng)重置信號而進(jìn)行系統(tǒng)重啟,以依據(jù)工作狀態(tài)而運(yùn)行無窮循環(huán)程序或正常啟動程序。

基于上述,在本發(fā)明的芯片調(diào)試系統(tǒng)中,系統(tǒng)芯片中的調(diào)試接口模塊可以解析調(diào)試器所發(fā)出的自定義控制指令而決定控制信號與重置信號的準(zhǔn)位。如此,系統(tǒng)芯片中的程序記錄與選擇模塊可根據(jù)控制信號而調(diào)整其工作狀態(tài),而處理器可響應(yīng)于重置信號的控制而依據(jù)程序記錄與選擇模塊的工作狀態(tài)而執(zhí)行正常啟動或無窮循環(huán)程序。如此,系統(tǒng)芯片可依據(jù)控制指令而進(jìn)行系統(tǒng)復(fù)位,而處理器可于系統(tǒng)重啟時(shí)執(zhí)行無窮循環(huán)程序而避免處理器內(nèi)的調(diào)試信息被清除。本發(fā)明可提高對系統(tǒng)芯片進(jìn)行軟件調(diào)試的便利性,以及避免因處理器當(dāng)機(jī)而導(dǎo)致調(diào)試信息丟失的狀況,從而大幅提高芯片開發(fā)的速度與效率。

為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合所附圖式作詳細(xì)說明如下。

附圖說明

圖1是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試系統(tǒng)的方塊示意圖。

圖2是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試方法的流程圖。

圖3是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試系統(tǒng)的方塊示意圖。

圖4是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試方法的流程圖。

圖5是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試系統(tǒng)的方塊示意圖。

附圖標(biāo)記說明

10:芯片調(diào)試系統(tǒng)

100:調(diào)試器

200:系統(tǒng)芯片

210:調(diào)試接口模塊

220:重置模塊

230:程序記錄與選擇模塊

240:處理器

230a:正常啟動程序

230b:無窮循環(huán)程序

240a:調(diào)試信息

cmd:控制指令

Ctr:控制信號

rst_1:重置信號

rst_2:系統(tǒng)重置信號

231:系統(tǒng)暫存器

232:存儲器模塊

233:切換裝置

234:第一存儲器模塊

235:第二存儲器模塊

230c:狀態(tài)指令

231a:旗標(biāo)

S201~S206、S401~S406:步驟

具體實(shí)施方式

為了使本發(fā)明的內(nèi)容更為明了,以下列舉實(shí)施例作為本發(fā)明確實(shí)能夠據(jù)以實(shí)施的范例。另外,凡可能之處,在圖式及實(shí)施方式中使用相同標(biāo)號的元件/構(gòu)件/步驟代表相同或類似部分。不同實(shí)施例中使用相同標(biāo)號或使用相同用語的元件/構(gòu)件/步驟可以相互參照相關(guān)說明。

圖1是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試系統(tǒng)的方塊示意圖。請參照圖1,芯片調(diào)試系統(tǒng)10包括調(diào)試器100以及系統(tǒng)芯片200。系統(tǒng)芯片100是透過在單一芯片上建構(gòu)了許多種類且具有不同功能的電路模塊而成。舉例來說,系統(tǒng)芯片100可能包括處理器、數(shù)位信號處理器或存儲器等元件。調(diào)試器100為一種用于調(diào)試(debug)其它程序的電腦程序及工具,其能夠讓程序碼在指令組模擬器中可以檢查運(yùn)行狀況以及選擇性地運(yùn)行,以便偵錯與除錯。舉例而言,調(diào)試器212可以是GDB(Gun Debugger)調(diào)試器,其具有針對多種不同處理器核心架構(gòu)上所執(zhí)行的軟件進(jìn)行調(diào)試與偵錯的能力。

系統(tǒng)芯片200包括調(diào)試接口模塊210、重置模塊220、程序記錄與選擇模塊230,以及處理器240。于一實(shí)施例中,調(diào)試接口210模塊可包括用以調(diào)試處理器240所需的硬件元件(例如,特定電路或儲存單元等)及/或軟件元件(例如,專門用以實(shí)現(xiàn)特定功能的軟件模塊或函式等)。處理器240例如是封裝成單一芯片的嵌入式微處理器或微控制器等,在此并不限制其范圍。處理器240的核心架構(gòu)例如是ARM公司開發(fā)的ARM、IBM公司開發(fā)的System/370、Intel公司開發(fā)的X86及X86-64、MIPS公司開發(fā)的MIPS等等,在此并不限制其范圍。處理器240可包括暫存器列或其他存儲元件,其用來記錄軟件執(zhí)行時(shí)的相關(guān)信息。舉例來說,處理器240的暫存器列可包括位址暫存器、指令暫存器、程序計(jì)數(shù)器或旗標(biāo)暫存器等等,本發(fā)明對此不限制。于本范例實(shí)施例中,調(diào)試信息240a為處理器240執(zhí)行軟件而記錄于暫存器列或其他存儲元件中的相關(guān)數(shù)據(jù)。

調(diào)試器100可經(jīng)由調(diào)試接口模塊210連接至處理器240,致使處理器240接受調(diào)試器100所下達(dá)的調(diào)試指令并將調(diào)試結(jié)果回傳至調(diào)試器100。上述調(diào)試指令例如是開始調(diào)試指令、結(jié)束調(diào)試指令、設(shè)定中斷點(diǎn)(breakpoint)指令或設(shè)定監(jiān)視點(diǎn)(watch point)指令等。調(diào)試接口模塊210例如是支援JTAG協(xié)議(IEEE1149.1)的信號傳輸接口,但本發(fā)明并不限制調(diào)試接口模塊210的種類。舉例來說,調(diào)試接口模塊210也可以是支援高速數(shù)位電路邊界掃描測試協(xié)議(IEEE1149.6)的信號傳輸接口。

于本范例實(shí)施例中,調(diào)試接口模塊210連接調(diào)試器100以接收控制命令cmd,并依據(jù)控制命令cmd而產(chǎn)生控制信號Ctr與重置信號rst_1。重置模塊220可響應(yīng)于重置信號rst_1的準(zhǔn)位而發(fā)出系統(tǒng)重置信號到系統(tǒng)芯片內(nèi)的大部分功能模塊,使大部分的功能模塊可以復(fù)位為預(yù)設(shè)狀態(tài)。于本實(shí)施例中,重置模塊220可響應(yīng)于重置信號rst_1的準(zhǔn)位而發(fā)出系統(tǒng)重置信號rst_2至處理器240。需說明的是,重置模塊220并不會發(fā) 送模塊重置信號至系統(tǒng)芯片200內(nèi)的時(shí)脈產(chǎn)生模塊(clock generator module)(未繪示)、接腳模塊(strap pin module)(未繪示),以及調(diào)試接口模塊210。

程序記錄與選擇模塊230耦接調(diào)試接口模塊210與處理器240,其包括用以記錄正常啟動程序230a以及無窮循環(huán)程序230b的程序存儲元件。處理器240耦接至程序記錄與選擇模塊230,以執(zhí)行程序記錄與選擇模塊230所儲存的正常啟動程序230a或無窮循環(huán)程序230b。需說明的是,當(dāng)處理器240執(zhí)行正常啟動程序230a時(shí),處理器240將進(jìn)行初始化的設(shè)定,致使處理器240將其暫存器列中的數(shù)據(jù)清除或?qū)⒍鄠€(gè)控制參數(shù)恢復(fù)成預(yù)設(shè)值。無窮循環(huán)程序230b為一程序碼段,當(dāng)處理器240執(zhí)行無窮循環(huán)程序230b時(shí),處理器240不會進(jìn)行初始化的設(shè)定而是不中斷地反復(fù)執(zhí)行相同的設(shè)定動作。

也就是說,當(dāng)處理器240進(jìn)行系統(tǒng)重啟時(shí),處理器240將因?yàn)閳?zhí)行正常啟動程序230a或無窮循環(huán)程序230b而相對應(yīng)地清除或不清除調(diào)試信息240a。于本范例實(shí)施例中,程序記錄與選擇模塊230接收控制信號Ctr并根據(jù)控制信號Ctr調(diào)整其工作狀態(tài)。于是,處理器240將響應(yīng)于接收到系統(tǒng)重置信號rst_2而進(jìn)行系統(tǒng)重置(reboot),以依據(jù)程序記錄與選擇模塊230的工作狀態(tài)而運(yùn)行無窮循環(huán)程序230b或正常啟動程序230a。

圖2是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試方法的流程圖。本實(shí)施例的方法適用于圖1所示的芯片調(diào)試系統(tǒng)10,以下即搭配圖1所示的各模塊與元件來說明本實(shí)施例的詳細(xì)步驟。

于步驟S201,調(diào)試接口模塊210從調(diào)試器100接收控制命令cmd。于步驟S202,調(diào)試接口模塊210依據(jù)控制命令cmd而產(chǎn)生控制信號Ctr與重置信號rst_1。進(jìn)一步來說,調(diào)試接口模塊210解析控制指令cmd,以根據(jù)控制指令cmd當(dāng)中的第一位元數(shù)據(jù)而決定控制信號Ctr的準(zhǔn)位,并根據(jù)控制指令cmd當(dāng)中的第二位元數(shù)據(jù)而決定重置信號rst_1的準(zhǔn)位。詳言之,調(diào)試接口模塊210可依據(jù)其接口協(xié)議解析控制指令cmd并獲取一個(gè)二進(jìn)位的位元序列,調(diào)試接口模塊210可從所述位元序列中的第一/二位元數(shù)據(jù)而決定控制信號Ctr/重置信號rst_1的準(zhǔn)位。舉例而言,當(dāng)?shù)谝晃辉獢?shù)據(jù)判讀為‘0’時(shí),調(diào)試接口模塊210可控制控制信號Ctr維持為低準(zhǔn)位。相反地,當(dāng)?shù)谝晃辉獢?shù)據(jù)判讀為‘1’時(shí),調(diào)試接口模塊210可控制控制信號Ctr產(chǎn)生一脈沖或是維持為高準(zhǔn)位,本發(fā)明對此并不限制。另外,本實(shí)施例中的第一位元數(shù)據(jù)及第二位元數(shù)據(jù)僅用以表達(dá)控制指令cmd具有多個(gè)位元數(shù)據(jù),分別可關(guān)聯(lián)于控制信號Ctr及重置信號rst_1,而非限制控制信號Ctr與重置信號rst_1對應(yīng)的位元順序。

于步驟S203,程序記錄與選擇模塊230響應(yīng)于接收控制信號Ctr而根據(jù)控制信號Ctr調(diào)整工作狀態(tài),再響應(yīng)于接收重置信號rst_1而產(chǎn)生系統(tǒng)重置信號rst_2。具體來說,程序記錄與選擇模塊230可根據(jù)控制信號Ctr的準(zhǔn)位而將其工作狀態(tài)調(diào)整為相異的第一狀態(tài)或第二狀態(tài)。于步驟S204,處理器240響應(yīng)于接收到系統(tǒng)重置信號rst_2而進(jìn)行系統(tǒng)重置,以便在重置后依據(jù)程序記錄與選擇模塊230的工作狀態(tài)而運(yùn)行正常啟動程序230a(步驟S205)或無窮循環(huán)程序230b(步驟S206)。于步驟S205,當(dāng)處理器240運(yùn)行正常啟動程序230a,處理器240進(jìn)行初始化的設(shè)定,并據(jù)以清除調(diào)試信息240a。于步驟S206,當(dāng)處理器240運(yùn)行無窮循環(huán)程序230b,處理器240并未進(jìn)行初始化設(shè)定,因此不會清除記錄于處理器240內(nèi)的調(diào)試信息240a。如此一來,系統(tǒng)芯片200可在成功重置的條件下不丟失調(diào)試信息240a,此時(shí),就可以方便開發(fā)人員利用調(diào)試工器100重新連接到處理器240讀取試調(diào)信息240a,以快速定位程序錯誤點(diǎn)并進(jìn)行調(diào)試。

然而,需特別說明的是,所述調(diào)整程序記錄與選擇模塊230的工作狀態(tài)可以是調(diào)整一個(gè)切換裝置的連結(jié)狀態(tài)或設(shè)置一旗標(biāo)的二進(jìn)位位元值。以下將分別列舉實(shí)施例以詳細(xì)說明之。

圖3是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試系統(tǒng)的方塊示意圖。請參照圖3,于本范例實(shí)施例中,程序記錄與選擇模塊230包括系統(tǒng)暫存器231以及存儲器模塊232。存儲器模塊232記錄有正常啟動程序230a、無窮循環(huán)程序230b以及狀態(tài)指令230c。系統(tǒng)暫存器231記錄一旗標(biāo)231a,并響應(yīng)于接收控制信號Ctr而依據(jù)控制信號Ctr的準(zhǔn)位設(shè)定旗標(biāo)231a的位元值。處理器240于系統(tǒng)重啟時(shí)檢查旗標(biāo)231a,并依據(jù)旗標(biāo)231a的位元值來決定運(yùn)行存儲器模塊232中的正常啟動程序230a或無窮循環(huán)程序230b。于一實(shí)施例中,存儲器模塊232例如是啟動只讀存儲器(bootrom),當(dāng)處理器240于系統(tǒng)重啟時(shí)將自行載入啟動只讀存儲器中的程序。于本范例實(shí)施例中,啟動只讀存儲器記錄有狀態(tài)指令230c,且處理器240將于系統(tǒng)重啟時(shí)率先執(zhí)行啟動只讀存儲器中的狀態(tài)指令230c,以于執(zhí)行正常啟動程序230a或無窮循環(huán)程序230b之前先檢查旗標(biāo)231a。

圖4是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試方法的流程圖。本實(shí)施例的方法適用于圖3所示的芯片調(diào)試系統(tǒng)10,以下即搭配圖3所示的各模塊與元件來說明本實(shí)施例的詳細(xì)步驟。

于步驟S401,調(diào)試接口模塊210從調(diào)試器100接收控制命令cmd。于步驟S402,調(diào)試接口模塊210依據(jù)控制命令cmd而產(chǎn)生控制信號Ctr與重置信號rst_1。需說明的 是,于本范例實(shí)施例中,調(diào)試接口模塊210先產(chǎn)生控制信號Ctr而致使旗標(biāo)231a的位元值被設(shè)置之后,調(diào)試接口模塊210再發(fā)出重置信號rst_1而驅(qū)動重置模塊220發(fā)出系統(tǒng)重置信號rst_2。

于是,于步驟S403,程序記錄與選擇模塊230響應(yīng)于接收控制信號Ctr設(shè)定系統(tǒng)暫存器231中的旗標(biāo)231a的位元值,重置模塊220再響應(yīng)于接收重置信號rst_1而產(chǎn)生系統(tǒng)重置信號rst_2并據(jù)以進(jìn)行系統(tǒng)重置。舉例而言,當(dāng)控制信號Ctr被調(diào)試接口模塊210控制為高準(zhǔn)位時(shí),系統(tǒng)暫存器231中的旗標(biāo)231a的位元值被設(shè)置為‘1’。相反地,當(dāng)控制信號Ctr被調(diào)試接口模塊210控制為低準(zhǔn)位時(shí),系統(tǒng)暫存器231中的旗標(biāo)231a的位元值被設(shè)置為‘0’。然而,控制信號Ctr的準(zhǔn)位與旗標(biāo)231a的位元值之間的對應(yīng)關(guān)系可視實(shí)際應(yīng)用而設(shè)計(jì)之,本發(fā)明對此不限制。

于步驟S404,處理器240響應(yīng)于接收到系統(tǒng)重置信號rst_2而執(zhí)行存儲器模塊232中的狀態(tài)指令230c,從而查看設(shè)定后的旗標(biāo)231a,并依據(jù)旗標(biāo)231a的位元值決定運(yùn)行正常啟動程序230a或無窮循環(huán)程序230b。于步驟S405,當(dāng)處理器240運(yùn)行正常啟動程序230a,處理器240進(jìn)行初始化的設(shè)定,并據(jù)以清除調(diào)試信息240a。于步驟S406,當(dāng)處理器240運(yùn)行無窮循環(huán)程序230b,處理器240不會清除記錄于處理器240內(nèi)的調(diào)試信息240a。

圖5是依據(jù)本發(fā)明一實(shí)施例所繪示的芯片調(diào)試系統(tǒng)的方塊示意圖。請參照圖5,于本范例實(shí)施中,程序記錄與選擇模塊230包括第一存儲器模塊234、第二存儲器模塊235,以及切換裝置233。第一存儲器模塊234記錄有正常啟動程序230a,而第二存儲器模塊235記錄有無窮循環(huán)程序230b。第一存儲器模塊234例如是啟動只讀存儲器。此外,于本實(shí)施例中,北橋芯片250耦接于處理器240以及程序記錄與選擇模塊230之間。北橋芯片250是處理器240與系統(tǒng)芯片200內(nèi)其他功能模塊之間的連接橋梁,北橋芯片250與處理器240皆可響應(yīng)于系統(tǒng)重置信號rst_2的準(zhǔn)位而回復(fù)為預(yù)設(shè)狀態(tài)。

切換裝置233耦接第一存儲器模塊234、第二存儲器模塊235以及處理器240。切換裝置233可以是開關(guān)、多工器、邏輯電路,或由其組合所組成的元件,本發(fā)明對此不限制。切換裝置233的控制端耦接調(diào)試接口模塊210以接收控制信號Ctr。于是,根據(jù)控制信號Ctr的準(zhǔn)位,切換裝置233選擇連接處理器240與第一存儲器模塊234或者選擇連接處理器240與第二存儲器模塊235,致使處理器240響應(yīng)于接收系統(tǒng)重置信號rst_2而運(yùn)行第一存儲器模塊234中的正常啟動程序230a或第二存儲器模塊235 中的無窮循環(huán)程序230b。當(dāng)處理器240運(yùn)行第一存儲器模塊234中的正常啟動程序230a時(shí),處理器240進(jìn)行初始化的設(shè)定,并且清除調(diào)試信息240a。另一方面,當(dāng)處理器240運(yùn)行第二存儲器模塊235中的無窮循環(huán)程序230b時(shí),處理器240不清除調(diào)試信息240a。也就是說,于圖5所示的實(shí)施例中,系藉由硬件實(shí)現(xiàn)的方式來控制處理器240于系統(tǒng)啟時(shí)執(zhí)行正常啟動程序230a或無窮循環(huán)程序230b。

進(jìn)一步說明,在上述各個(gè)實(shí)施例中,當(dāng)調(diào)試器100成功連接到處理器240并取得保留在處理器240內(nèi)的調(diào)試信息240a后,調(diào)試器100可再發(fā)出另一控制指令cmd,并使得調(diào)試接口模塊210根據(jù)控制指令cmd產(chǎn)生新的控制信號Ctr及重置信號rst_1。此時(shí)的控制信號Ctr改變系統(tǒng)暫存器231中的旗標(biāo)231a位元值,而重置信號rst_1同樣用以驅(qū)動重置模塊230發(fā)出系統(tǒng)重置信號rst_2,以使得系統(tǒng)因?yàn)轫憫?yīng)系統(tǒng)重置信號rst_2重置而離開無限回圈程序230b,并且在重新啟動后根據(jù)旗標(biāo)231a的位元值而運(yùn)行正常啟動程序230a。

綜上所述,于本發(fā)明的實(shí)施例中,透過解析自定義的控制指令,調(diào)試接口模塊可分別輸出重置信號與控制信號至重置模塊與程序記錄與選擇模塊。在處理器進(jìn)行系統(tǒng)重啟之前,程序記錄與選擇模塊可依據(jù)控制信號而調(diào)整其工作狀態(tài)。如此,當(dāng)處理器接收到重置模塊產(chǎn)生的系統(tǒng)重置信號時(shí),處理器可進(jìn)行系統(tǒng)重啟并依據(jù)程序記錄與選擇模塊的工作狀態(tài)而執(zhí)行正常啟動程序或無窮循環(huán)程序,并據(jù)以保留或清除處理器中的調(diào)試信息。如此一來,即便系統(tǒng)芯片發(fā)生操作異?;蜻M(jìn)入當(dāng)機(jī)狀態(tài),透過控制指令的下達(dá),還是可將系統(tǒng)重置以便讓調(diào)試器重新連接至處理器,并且同時(shí)將調(diào)試信息保留于處理器內(nèi)。基此,本發(fā)明可提高芯片調(diào)試系統(tǒng)的便利性,以及避免因系統(tǒng)芯片的重置而導(dǎo)致調(diào)試信息丟失的現(xiàn)象,從而大幅提高芯片開發(fā)的速度與效率。

雖然本發(fā)明已以實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動與潤飾,故本發(fā)明的保護(hù)范圍當(dāng)視后附的申請專利范圍所界定者為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
安塞县| 海淀区| 景洪市| 承德市| 长治市| 万源市| 成安县| 夏河县| 出国| 大兴区| 垫江县| 长海县| 胶南市| 黑山县| 布拖县| 丰原市| 新巴尔虎左旗| 柘荣县| 元谋县| 兰州市| 疏附县| 望城县| 怀来县| 敖汉旗| 柯坪县| 楚雄市| 唐河县| 甘肃省| 广水市| 淮南市| 仁怀市| 宜城市| 新乐市| 开化县| 南京市| 龙川县| 留坝县| 白银市| 临沧市| 尉氏县| 大悟县|