TWI769399B - 具有除錯記憶體介面之晶片及其除錯方法 - Google Patents
具有除錯記憶體介面之晶片及其除錯方法 Download PDFInfo
- Publication number
- TWI769399B TWI769399B TW108134486A TW108134486A TWI769399B TW I769399 B TWI769399 B TW I769399B TW 108134486 A TW108134486 A TW 108134486A TW 108134486 A TW108134486 A TW 108134486A TW I769399 B TWI769399 B TW I769399B
- Authority
- TW
- Taiwan
- Prior art keywords
- debug
- chip
- processing unit
- external memory
- memory interface
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims description 13
- 238000001514 detection method Methods 0.000 claims abstract description 67
- 230000002093 peripheral effect Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 235000012431 wafers Nutrition 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 235000015429 Mirabilis expansa Nutrition 0.000 description 1
- 244000294411 Mirabilis expansa Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013536 miso Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本發明提供一種具有除錯記憶體介面之晶片,其包含一處理單元、一內部儲存單元、一除錯記憶體介面以及一偵測單元。內部儲存單元係用以紀錄處理單元運行時產生的狀態資料。偵測單元用以偵測是否有一外部記憶裝置電性連接除錯記憶體介面。當偵測單元偵測到外部記憶裝置電性連接除錯記憶體介面,則偵測單元產生並輸出一控制訊號至處理單元,以觸發處理單元從外部記憶裝置讀取一除錯程式,並執行除錯程式,以根據狀態資料進行一除錯模式。
Description
本發明係有關於一種晶片除錯技術,特別是有關於一種可透過記憶體介面直接進行除錯的晶片。
傳統的晶片進行除錯功能時,需要使用專用的除錯工具,例如聯合測試工作群組(JTAG)工具或是線上仿真器(ICE),而且晶片需要配置除錯工具專用的接腳。然而,對於電路結構較簡單且接腳數量少的小型晶片的,目前市場上並沒有發展出可用於小型晶片的除錯工具。
此外,目前的除錯工具的運作機制是模擬成晶片內的處理器,並且具有權限存取晶片內所有的元件。但是上述除錯工具的運作機制也造成晶片安全的疑慮。
本發明之一目的在於提供一種具有除錯記憶體介面之晶片,使得小型晶片能不增加過多接腳以及除錯電路而進行除錯,以解決上述習知技術問題。
為了達成上述目的,本發明提供一種具有除錯記憶體介面之晶片,其包含一處理單元、一內部儲存單元、一除錯記憶體介面以及一偵測單元。內部儲存單元係用以紀錄處理單元運行時產生的狀態資料。偵測單元用以偵測是否有一外部記憶裝置電性連接除錯記憶體介面。當偵測單元偵測到外部記憶裝置電性連接除錯記憶體介面,則偵測單元產生並輸出一控制訊號至處理單元,以觸發處理單元從外部記憶裝置讀取一除錯程式,並執行除錯程式,以根據狀態資料進行一除錯模式。
根據一實施例,本發明之晶片更包含一記憶體介面管理單元,其電性連接記憶體介面管理單元,且處理單元係透過記憶體介面管理單元從外部記憶裝置讀取除錯程式。
根據一實施例,除錯記憶體介面係為一串列周邊介面,偵測單元係偵測串列周邊介面中的一晶片選擇接腳的電壓位準是否為高位準,當偵測單元判斷晶片選擇接腳的電壓位準為高位準時,偵測單元判斷外部記憶裝置電性連接串列周邊介面,並輸出控制訊號至處理單元。
根據一實施例,本發明之晶片更包含一多工器,多工器之複數個輸入端係分別電性連接一功能線路組以及一記憶體介面線路組,當偵測單元未偵測到外部記憶裝置,多工器係電性連接串列周邊介面中除了晶片選擇接腳以外的複數接腳以及功能線路組,當偵測單元偵測到外部記憶裝置,多工器係電性連接記憶體介面線路組以及串列周邊介面。
根據一實施例,本發明之晶片更包含一開關,晶片選擇接腳係透過開關選擇性電性連接偵測單元以及該多工器。
根據一實施例,控制訊號係為一中斷訊號或一重置訊號。
根據一實施例,本發明之晶片更包含一電源管理單元,偵測單元係通知電源管理單元,控制處理單元維持在一活動狀態,使得處理單元從外部記憶裝置讀取除錯程式。
根據一實施例,除錯模式包含該處理單元將狀態資料儲存在外部記憶裝置。
根據一實施例,本發明之晶片更包含一輸出單元,除錯模式包含處理單元將狀態資料傳送至輸出單元。
為了達到上述目的,本發明係提出一種除錯方法,適用於一晶片,晶片包含一處理單元以及一內部儲存單元,內部儲存單元用以儲存處理單元運行時產生的狀態資料。除錯方法包含下列步驟:提供一除錯記憶體介面以及一偵測單元,並使用偵測單元偵測是否有一外部記憶裝置電性連接除錯記憶體介面;當偵測單元偵測到有外部記憶裝置電性連接除錯記憶體介面,則產生並輸出一控制訊號至處理單元,以觸發處理單元從外部記憶裝置讀取一除錯程式;使用處理單元執行除錯程式,以根據狀態資料進行一除錯模式。
根據一實施例,除錯記憶體介面係為一串列周邊介面,使用該偵測單元偵測是否該外部記憶裝置電性連接該除錯記憶體介面之步驟更包含:使用偵測單元係偵測串列周邊介面中的一晶片選擇接腳的電壓位準是否為高位準,當偵測單元判斷晶片選擇接腳的電壓位準為高位準時,偵測單元判斷外部記憶裝置電性連接串列周邊介面,並輸出控制訊號至處理單元。
根據一實施例,控制訊號係為一中斷訊號或一重置訊號。
根據一實施例,晶片更包含一電源管理單元,當偵測到有該外部記憶裝置電性連接該除錯記憶體介面,該除錯方法更包含:通知該電源管理單
元,以控制該處理單元維持在一活動狀態,使得該處理單元從該外部記憶裝置讀取該除錯程式。
根據一實施例,除錯模式包含該處理單元將狀態資料儲存在外部記憶裝置。
根據一實施例,晶片更包含一輸出單元,除錯模式包含該處理單元將狀態資料傳送至輸出單元,輸出單元可包含一通用型輸入輸出接腳或是一燈號驅動接腳,一外部裝置可透過通用型輸入輸出接腳或是燈號驅動接腳接收狀態資料,並顯示狀態資料。
10:處理單元
20:內部儲存單元
21:狀態資料
30:除錯記憶體介面
31:晶片選擇接腳
32:常規記憶體介面
41:第一外部記憶體
42:第二外部記憶體
421:除錯程式
422:SPI介面
50:記憶體介面管理單元
51、59:多工器
52:第一記憶體介面線路組
53:第二記憶體介面線路組
54:功能線路組
55:輸出單元
56:電源管理單元
561:喚醒訊號
57:匯流排
60:偵測單元
601:第一控制訊號
602:選擇訊號
603:第二控制訊號
R1、R2:電阻
SCLK、MISD、MOSI:接腳
第1圖係為本發明之具有除錯機制之晶片之第一實施例之方塊示意圖。
第2圖係為本發明之具有除錯機制之晶片之第一實施例之進入除錯模式之操作示意圖。
第3圖係為本發明之用於晶片的除錯機制之第二實施例之多工器之方塊示意圖。
第4圖係為本發明之除錯方法之步驟流程圖。
第5圖係為本發明之除錯方法之一實施例之步驟流程圖。
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
請參閱第1至2圖,其係為本發明之具有除錯機制之晶片之第一實施例之方塊示意圖,以及啟動晶片進入除錯模式之操作示意圖。如第1圖所示,晶片可包含一處理單元10、一內部儲存單元20、一除錯記憶體介面30、一常規記憶體介面32、一記憶體介面管理單元50、一輸出單元55、一偵測單元60、一電源管理單元56、一多工器51、一開關61、以及一匯流排57。處理單元10、內部儲存單元20、記憶體介面管理單元50以及輸出單元55係透過匯流排57相互電性連接。
處理單元10可運行以執行一程式,而內部儲存單元20係用以紀錄處理單元10運行時產生的狀態資料21,例如與執行程式相關的狀態資料21。較佳地,內部儲存單元20可包含至少一暫存器(register)、或是內部記憶體。
除錯記憶體介面30與常規記憶體介面32可為串列周邊介面(SPI)。處理單元10在一正常操作模式時,係透過記憶體介面管理單元50以及常規記憶體介面32,對一第一外部記憶體41存取資料;處理單元10在一除錯模式時,係透過記憶體介面管理單元50以及除錯記憶體介面30,對一第二外部記憶體42存取資料。記憶體介面管理單元50係透過第一記憶體介面線路組52以及第二記憶體介面線路組53分別電性連接常規記憶體介面32以及除錯記憶體介面30。
在另一實施例中,晶片也可不配置記憶體介面管理單元50,而處理單元10可分別直接透過除錯記憶體介面30與常規記憶體介面32,對第一外部記憶體41與第二外部記憶體42存取資料。
偵測單元60係電性連接處理單元10、電源管理單元56、多工器51、除錯記憶體介面30以及開關61。偵測單元60係透過除錯記憶體介面30之一特定接腳,偵測是否有外部記憶裝置(例如第二外部記憶體42)電性連接除錯記
憶體介面30。當偵測單元60偵測到外部記憶裝置(例如第二外部記憶體42)電性連接除錯記憶體介面30時,偵測單元60可觸發處理單元10進入除錯模式。
以下將搭配第1圖以及第2圖詳細描述正常操作模式以及除錯模式之操作,且除錯記憶體介面30與常規記憶體介面32係以串列周邊介面(SPI)作為舉例說明。
除錯記憶體介面30包含多個接腳,其中一接腳為晶片選擇接腳31。在正常操作模式下,晶片選擇接腳31的電壓位準維持在低位準。在一實際應用,晶片選擇接腳31可透過一電阻R2接地,使晶片選擇接腳31的電壓位準維持在0V,如第2圖所示。為了啟動晶片的除錯模式,使用者可使用一電阻R1電性連接晶片選擇接腳31電性連接一電源端VCC,電阻R1的電阻值遠小於電阻R2的電阻值,因此,當使用者在電源端VCC與晶片選擇接腳31之間電性連接電阻R1時,電阻R1的跨壓遠小於電阻R2的跨壓,致使晶片選擇接腳31的電壓位準改變成高位準,如第2圖所示。
在晶片內,晶片選擇接腳31係透過開關61選擇性電性連接偵測單元60與多工器51。在正常操作模式下,晶片選擇接腳31係透過開關61電性連接偵測單元60,因此偵測單元60可偵測晶片選擇接腳31的電壓位準。當偵測單元60偵測到晶片選擇接腳31的電壓位準為高位準,表示有外部記憶裝置(例如第二外部記憶體42)電性連接除錯記憶體介面30。反應於晶片選擇接腳31的電壓位準改變成高位準,偵測單元60產生並輸出第一控制訊號601至處理單元10,或是產生並輸出第二控制訊號603至電源管理單元56,或是同時輸出第一控制訊號601至處理單元10以及輸出第二控制訊號603至電源管理單元56,藉以觸發處理單元10透過除錯記憶體介面30從第二外部記憶體42讀取除錯程式421,並接著執行除錯程式421,以根據狀態資料21進行除錯模式。
第一控制訊號601或是第二控制訊號603可為一中斷訊號(interrupt)、一重置訊號或是其他控制訊號。在處理單元仍在運行中而使用者欲啟動除錯模式的情況下,使用者可將第二外部記憶體42電性連接除錯記憶體介面30,並將晶片選擇接腳31的電壓位準改變成高位準,例如使用者可將一小電阻值的電阻R1電性連接晶片選擇接腳31以及電源端VCC,則偵測單元60可發出一中斷訊號至處理單元10,使處理單元10中斷目前正在執行的程式,並接著執行對應所接收的中斷訊號的預設動作,例如,透過除錯記憶體介面30從第二外部記憶體42讀取除錯程式421,並執行除錯程式421。
在處理單元10當機(hang)中而使用者欲啟動除錯模式以找出處理單元10當機原因的情況下,使用者可將第二外部記憶體42電性連接除錯記憶體介面30,並將晶片選擇接腳31的電壓位準改變成高位準,當偵測單元60偵測到處理單元10當機,且處理單元10對中斷訊號沒有反應,則偵測單元60可傳送重置訊號至處理單元10,觸發處理單元10重新啟動。處理單元10重新啟動後,透過除錯記憶體介面30從第二外部記憶體42讀取除錯程式421,並執行除錯程式421。
在處理單元10處於休眠狀態而使用者欲啟動除錯模式的情況下,使用者可將第二外部記憶體42電性連接除錯記憶體介面30,並將晶片選擇接腳31的電壓位準改變成高位準,當偵測單元60偵測到處理單元10處於休眠狀態,偵測單元60可傳送第二控制訊號603至電源管理單元56,以觸發電源管理單元56輸出一喚醒訊號561至處理單元10,將處理單元10喚醒以維持在一活動狀態。被喚醒後,處理單元10透過除錯記憶體介面30從第二外部記憶體42讀取除錯程式421,並執行除錯程式421。
在一實際應用中,由於記憶體介面管理單元50直接電性連接第一外部記憶體41以及第二外部記憶體42,所以當使用者欲啟動除錯模式而將第
二外部記憶體42電性連接除錯記憶體介面30時,同時也要將第一外部記憶體41從常規記憶體介面32移除,因此在除錯模式下處理單元10只會從第二外部記憶體42存取資料。然而,上述僅為舉例而非為限制本發明,在後續內容將描述其他的實施方式。
為了避免在正常操作模式下除錯記憶體介面30的接腳閒置造成晶片資源浪費,本發明之晶片可包含多工器51,將除錯記憶體介面30之大部分接腳在正常操作模式下能提供其他功能。
多工器51之複數個輸入端係分別電性連接一功能線路組54以及一第二記憶體介面線路組53,當偵測單元60未偵測到外部記憶裝置,多工器51係電性連接除錯記憶體介面30中除了晶片選擇接腳31以外的其他接腳(例如三個接腳SCLK、MISO、MOSI)以及功能線路組54,且偵測單元60透過開關61電性連接晶片選擇接腳31。因此,在正常操作模式下,除錯記憶體介面30之一特定接腳(例如晶片選擇接腳31)係專用於偵測外部記憶裝置,而除錯記憶體介面30之其他接腳可作為其他功能接腳,例如作為GPIO接腳。藉此,可有效地避免晶片資源浪費。
當偵測單元60透過晶片選擇接腳31偵測到外部記憶裝置,偵測單元60輸出選擇訊號602至多工器51與開關61,使得多工器51電性連接第二記憶體介面線路組53以及除錯記憶體介面30,且晶片選擇接腳31也電性連接第二記憶體介面線路組53。因此,在除錯模式下,除錯記憶體介面30之接腳皆用於電性連接外部記憶裝置,處理單元10可透過除錯記憶體介面30存取外部記憶裝置。
處理單元10執行除錯程式421後,處理單元10會根據狀態資料21進行除錯模式。例如,在除錯模式下,處理單元10可將狀態資料21儲存在外部記憶裝置,或是傳送到輸出單元55。例如,處理單元10當機後,使用者可啟動
除錯模式,將處理單元10當機時暫存器內的資料儲存到外部記憶裝置,使用者可分析此些資料以判斷處理單元10當機的原因。
在另一實施例中,如果晶片配置有輸出單元55,例如燈號驅動接腳或是通用型輸入輸出(GPIO)接腳,則當使用者啟動除錯模式,暫存器內的資料可透過燈號驅動接腳傳送到一燈號裝置,提供使用者分析燈號裝置的發光訊號以進行除錯。或者,當使用者啟動除錯模式,暫存器內的資料可透過GPIO接腳傳送到一顯示裝置或其他除錯裝置,提供使用者分析顯示裝置或其他除錯裝置的顯示內容以進行除錯。
在一實施例中,除錯程式421可包含加解密功能。當內部儲存單元20儲存的資料都是加密過的資料時,處理單元10運行除錯程式421可同時執行解密功能,讓傳送到外部記憶裝置或是輸出單元55的資料是已解密的資料,以便於使用者進行除錯。或者,當此晶片是一安全晶片,在匯流排上傳送的資料或是輸出到外部記憶裝置或是輸出單元55的資料都必須是已加密的資料,則處理單元10運行除錯程式421可同時執行加密功能,讓傳送到外部記憶裝置或是輸出單元55的資料是已加密的資料。
第3圖係為本發明之用於晶片的除錯機制之第二實施例之多工器之方塊示意圖。如第3圖所示,第二實施例與第一實施例不同之處在於第二實施例更包含一多工器59,而第二實施例之其他元件的運作原理與連接結構與第一實施例大致相同,故在此不再贅述。
多工器59包含多個輸出端電性連接記憶體介面管理單元50、多個輸入端電性連接第一記憶體介面線路組52以及第二記憶體介面線路組53、以及一控制端係接收偵測單元60的選擇訊號602。在一正常操作模式,多工器51電性連接第一記憶體介面線路組52以及記憶體介面管理單元50,使得處理單元10能透過記憶體介面管理單元50以及常規記憶體介面32,對一第一外部記憶體
41存取資料。當偵測單元60透過晶片選擇接腳31偵測到外部記憶裝置,偵測單元60輸出選擇訊號602至多工器59,致使多工器51電性連接第二記憶體介面線路組53以及記憶體介面管理單元50,使得處理單元10能透過記憶體介面管理單元50以及除錯記憶體介面30,對第二外部記憶體42存取資料。
請參閱第4圖,其為本發明之除錯方法之步驟流程圖。如第4圖所示,本發明之除錯方法適用於一晶片,例如第1圖所示之晶片。晶片包含一處理單元以及一內部儲存單元,內部儲存單元用以儲存處理單元運行時產生的狀態資料。以下將搭配第1圖以詳細說明本發明之除錯方法之步驟S40至S42。在步驟S40,在晶片中,提供一除錯記憶體介面30以及一偵測單元60,並使用偵測單元60偵測是否有一外部記憶裝置電性連接除錯記憶體介面30。
在步驟S41,當偵測單元60偵測到有外部記憶裝置電性連接除錯記憶體介面30,則產生並輸出一控制訊號至處理單元10,以觸發處理單元10從外部記憶裝置讀取一除錯程式421。在一實施例中,控制訊號可為一中斷訊號或一重置訊號。
在一實施例中,除錯記憶體介面30可為一串列周邊介面,而步驟S41更包含:使用偵測單元60偵測串列周邊介面中的一晶片選擇接腳31的電壓位準是否為高位準,當偵測單元60判斷晶片選擇接腳31的電壓位準為高位準時,偵測單元60可判斷有外部記憶裝置電性連接串列周邊介面,並輸出控制訊號至處理單元10。
在步驟S42,使用處理單元10執行除錯程式421,以根據狀態資料21進行一除錯模式。在一實施例中,在除錯模式下,處理單元10可將狀態資料21儲存在外部記憶裝置。或者,當晶片包含一輸出單元55時,例如燈號驅動接腳或是通用型輸入輸出(GPIO)接腳,則在除錯模式下,狀態資料21可透過燈
號驅動接腳傳送到一燈號裝置,提供使用者分析燈號裝置的發光訊號以進行除錯。或者,狀態資料21可透過GPIO接腳傳送到一顯示裝置或其他除錯裝置,提供使用者分析顯示裝置或其他除錯裝置的顯示內容以進行除錯。
請參閱第5圖,其為本發明之除錯方法之一實施例之步驟流程圖。如第5圖所示,
S411:當偵測單元60偵測到晶片選擇接腳31的電壓位準為高位準,表示有外部記憶裝置(例如第二外部記憶體42)電性連接除錯記憶體介面30,接著在步驟S412,偵測處理單元10是否處於休眠狀態。當處理單元10處於休眠狀態,則進行步驟S413;當處理單元10沒有處於休眠狀態,則進行步驟S414。
在步驟S413,偵測單元60傳送第二控制訊號603至電源管理單元56,以觸發電源管理單元56輸出一喚醒訊號561至處理單元10,將處理單元10喚醒以維持在一活動狀態。接著進行步驟S42。
在步驟S414,判斷處理單元10是否能反應中斷訊號,當處理單元10能反應中斷訊號,則進行步驟S415;反之,當處理單元10不能反應中斷訊號,則進行步驟S416。
在步驟S415,偵測單元60發出一中斷訊號至處理單元10,使處理單元10中斷目前正在執行的程式,接著執行步驟S42,以執行對應所接收的中斷訊號的預設動作,例如,透過除錯記憶體介面30從第二外部記憶體42讀取除錯程式421,並執行除錯程式421。
在步驟S416,偵測單元60可發出重置訊號至處理單元10,觸發處理單元10重新啟動,接著進行步驟S42;例如,處理單元10重新啟動後,透過除錯記憶體介面30從第二外部記憶體42讀取除錯程式421,並執行除錯程式421。
綜上所述,本發明之具有除錯記憶體介面之晶片,可讓使用者便利地直接透過除錯記憶體介面取得處理單元運行的狀態資料,以進行除錯。因此,不須專用的除錯工具,例如聯合測試工作群組(JTAG)工具或是線上仿真器(ICE),電路結構較簡單且接腳數量少的小型晶片也可進行除錯。此外,除錯記憶體介面中,只需保留至少一接腳作為偵測用,而除錯記憶體介面的大部分接腳可以有多種功能,因此,本發明提出的晶片架構不會占用太多接腳,也很適合接腳數量少的小型晶片。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
10:處理單元
20:內部儲存單元
421:除錯程式
50:記憶體介面管理單元
51:多工器
55:輸出單元
56:電源管理單元
Claims (9)
- 一種具有除錯記憶體介面之晶片,包含:一處理單元;一內部儲存單元,用以紀錄該處理單元運行時產生的狀態資料;一除錯記憶體介面,包括一晶片選擇接腳以及複數個接腳,透過該晶片選擇接腳電性連接一外部記憶裝置;以及一偵測單元,透過一開關電性連接該晶片選擇接腳,以偵測並根據該晶片選擇接腳之電壓位準,判斷該晶片選擇接腳是否與該外部記憶裝置電性連接,其中,當該偵測單元偵測到該外部記憶裝置電性連接該晶片選擇接腳,該偵測單元產生並輸出一控制訊號至該處理單元,以觸發該處理單元從該外部記憶裝置讀取一除錯程式,並執行該除錯程式,以根據該狀態資料進行一除錯模式;當該偵測單元判斷該晶片選擇接腳未與該外部記憶裝置電性連接時,該複數個接腳係用於該除錯模式以外的功能。
- 如請求項1所述之晶片,更包含一記憶體介面管理單元,該除錯記憶體介面係電性連接該記憶體介面管理單元,該處理單元係透過該記憶體介面管理單元從該外部記憶裝置讀取該除錯程式。
- 如請求項2所述之晶片,更包含一多工器,該多工器之複數個輸入端係分別電性連接一功能線路組以及一記憶體介面線路組,當該偵測單元未偵測到該外部記憶裝置,該多工器係電性連接該串列周邊介面中除了該晶片選擇接腳以外的 該複數接腳以及該功能線路組,當該偵測單元偵測到該外部記憶裝置,該多工器係電性連接該記憶體介面線路組以及該串列周邊介面。
- 如請求項3所述之晶片,更包含一開關,該晶片選擇接腳係透過該開關選擇性電性連接該偵測單元以及該多工器。
- 如請求項3所述之晶片,其中該控制訊號係為一中斷訊號或一重置訊號。
- 如請求項3所述之晶片,更包含一電源管理單元,該偵測單元係通知該電源管理單元,控制該處理單元維持在一活動狀態,使得該處理單元從該外部記憶裝置讀取該除錯程式。
- 如請求項3所述之晶片,其中該除錯模式包含該處理單元將該狀態資料儲存在該外部記憶裝置。
- 如請求項3所述之晶片,更包含一輸出單元,該除錯模式包含該處理單元將該狀態資料傳送至該輸出單元,該輸出單元包含一通用型輸入輸出接腳或是一顯示元件,該顯示元件可顯示該狀態資料,該通用型輸入輸出接腳可傳送該狀態資料至一外部裝置。
- 一種除錯方法,適用於一晶片,該晶片包含一處理單元以及一內部儲存單元,該內部儲存單元用以儲存該處理單元運行時產生的狀態資料,該除錯方法包含:提供一除錯記憶體介面以及一偵測單元,該除錯記憶體介面包括一晶片選擇接腳與複數個接腳,以透過該晶片選擇接腳電性連接一外部記憶裝置;使用該偵測單元偵測該晶片選擇接腳之電壓位準,以判斷該 除錯記憶體介面是否與該外部記憶裝置電性連接;當該偵測單元偵測到有該外部記憶裝置電性連接該晶片選擇接腳,則產生並輸出一控制訊號至該處理單元,以觸發該處理單元從該外部記憶裝置讀取一除錯程式;使用該處理單元執行該除錯程式,以根據該狀態資料進行一除錯模式;以及當該偵測單元判斷該晶片選擇接腳未與該外部記憶裝置電性連接時,該複數個接腳係用於該除錯模式以外的功能。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108134486A TWI769399B (zh) | 2019-09-24 | 2019-09-24 | 具有除錯記憶體介面之晶片及其除錯方法 |
CN202010090014.2A CN112634977B (zh) | 2019-09-24 | 2020-02-13 | 具有除错存储器接口的芯片及其除错方法 |
US17/028,414 US12007875B2 (en) | 2019-09-24 | 2020-09-22 | Chip having debug memory interface and debug method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108134486A TWI769399B (zh) | 2019-09-24 | 2019-09-24 | 具有除錯記憶體介面之晶片及其除錯方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202113866A TW202113866A (zh) | 2021-04-01 |
TWI769399B true TWI769399B (zh) | 2022-07-01 |
Family
ID=74880142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108134486A TWI769399B (zh) | 2019-09-24 | 2019-09-24 | 具有除錯記憶體介面之晶片及其除錯方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12007875B2 (zh) |
CN (1) | CN112634977B (zh) |
TW (1) | TWI769399B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257399A (zh) * | 2021-12-09 | 2023-06-13 | 瑞昱半导体股份有限公司 | 具有调试功能的芯片与芯片调试方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160330094A1 (en) * | 2015-05-06 | 2016-11-10 | Marvell World Trade Ltd. | Apparatus and method for remotely testing memory-mapped devices of a system-on-chip via an ethernet interface |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1519729A (zh) * | 2003-01-22 | 2004-08-11 | 捷诚科技股份有限公司 | 具有除错模式的存储装置、设有该存储装置的电子装置,以及其除错方法 |
US7882395B2 (en) * | 2008-02-26 | 2011-02-01 | Universal Scientific Industrial Co., Ltd. | Debug device for embedded systems and method thereof |
US9858236B2 (en) * | 2012-12-04 | 2018-01-02 | Nokia Technologies Oy | Serial protocol over data interface |
CN104182290A (zh) * | 2013-05-23 | 2014-12-03 | 英业达科技有限公司 | 除错装置及除错方法 |
CN105893163A (zh) * | 2015-01-26 | 2016-08-24 | 国基电子(上海)有限公司 | 除错电路、除错请求电路及除错系统 |
-
2019
- 2019-09-24 TW TW108134486A patent/TWI769399B/zh active
-
2020
- 2020-02-13 CN CN202010090014.2A patent/CN112634977B/zh active Active
- 2020-09-22 US US17/028,414 patent/US12007875B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160330094A1 (en) * | 2015-05-06 | 2016-11-10 | Marvell World Trade Ltd. | Apparatus and method for remotely testing memory-mapped devices of a system-on-chip via an ethernet interface |
Also Published As
Publication number | Publication date |
---|---|
CN112634977A (zh) | 2021-04-09 |
TW202113866A (zh) | 2021-04-01 |
CN112634977B (zh) | 2023-11-17 |
US20210089430A1 (en) | 2021-03-25 |
US12007875B2 (en) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2651916B2 (ja) | インサーキット・エミュレータ | |
EP2847681B1 (en) | Device having configurable breakpoint based on interrupt status | |
US7506205B2 (en) | Debugging system and method for use with software breakpoint | |
EP0702297B1 (en) | A data processor with breakpoint circuit | |
JPH011039A (ja) | インサーキット・エミュレータ | |
JP2001147836A (ja) | マイクロコンピュータデバッグアーキテクチャ及び方法 | |
EP0902367B1 (en) | Data processing unit with debug capabilities | |
US5539901A (en) | Method and apparatus for system management mode support for in-circuit emulators | |
US20040039967A1 (en) | Embedded controller for real-time backup of operation states of peripheral devices | |
JP4865943B2 (ja) | コンピュータシステム | |
JP2001154876A (ja) | マイクロコンピュータデバッグアーキテクチャ及び方法 | |
TWI769399B (zh) | 具有除錯記憶體介面之晶片及其除錯方法 | |
CN114077511A (zh) | 显示屏异常恢复方法、装置、计算机设备和存储介质 | |
JP2004302731A (ja) | 情報処理装置および障害診断方法 | |
US20050192791A1 (en) | Method for emulating an integrated circuit and semiconductor chip for practicing the method | |
JP2006293824A (ja) | 半導体装置 | |
WO2019169615A1 (zh) | 访问指令sram的方法和电子设备 | |
JP4479002B2 (ja) | Cpuの省電力機能を有する機器のデバッグシステム及び方法 | |
JP2004094451A (ja) | オンチップjtagインタフェース回路およびシステムlsi | |
JP2001084161A (ja) | データ処理装置 | |
US20240219462A1 (en) | Techniques for debug, survivability, and infield testing of a system-on-a-chip or a system-on-a-package | |
KR100270263B1 (ko) | 시스템 오류 발생시에도 동작가능한 에러 로깅 회로 | |
JPH1185559A (ja) | エミュレータ | |
JP6318875B2 (ja) | 障害情報取得方法および情報処理装置 | |
JP2000020498A (ja) | マイクロコンピュータおよびその復帰方法 |