TWI546660B - 除錯系統與方法 - Google Patents

除錯系統與方法 Download PDF

Info

Publication number
TWI546660B
TWI546660B TW104131294A TW104131294A TWI546660B TW I546660 B TWI546660 B TW I546660B TW 104131294 A TW104131294 A TW 104131294A TW 104131294 A TW104131294 A TW 104131294A TW I546660 B TWI546660 B TW I546660B
Authority
TW
Taiwan
Prior art keywords
buffer block
embedded device
debugging
information
interface
Prior art date
Application number
TW104131294A
Other languages
English (en)
Other versions
TW201712538A (zh
Inventor
許詠慶
李新洲
Original Assignee
新唐科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Priority to TW104131294A priority Critical patent/TWI546660B/zh
Priority to CN201610264076.4A priority patent/CN106547636B/zh
Priority to US15/176,134 priority patent/US9835682B2/en
Application granted granted Critical
Publication of TWI546660B publication Critical patent/TWI546660B/zh
Publication of TW201712538A publication Critical patent/TW201712538A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

除錯系統與方法
本揭示內容是有關於一種除錯系統與方法,特別是一種有關於嵌入式裝置的除錯系統與方法。
嵌入式裝置具備小型化、輕量化、低功耗和低成本等特性,因此在消費性電子產品等市場十分流行,由於大多數嵌入式裝置缺乏鍵盤、螢幕以及硬碟等元件,因此開發人員在開發嵌入式裝置(例如微控制器或晶片等)的內部應用程式過程中,常需將程式運行時產生的除錯資訊輸出顯示至具備上述元件的除錯端,以方便除錯工作的進行。
輸出除錯資訊的常見方式有兩種,其一是嵌入式裝置透過通用非同步接收發送器(universal asynchronous receiver/transmitter)將除錯資訊即時傳送至開發人員之除錯端,然而,由於成本考量,許多開發中的嵌入式裝置並不具有通用非同步接收發送器。
因此,另外一種輸出除錯資訊的方式乃是透過一般的嵌入式裝置輸出入接腳,以Semihosting機制將除錯資訊傳送回除錯端。Semihosting機制乃是一種軟體除錯機制,嵌入式裝置透過軟體中斷暫停程式運行,接著除錯端會 收到中斷通知,並取得嵌入式裝置中的除錯資訊,在除錯端取得資訊後,嵌入式裝置才會結束中斷恢復運行,此方法雖無需另增通用非同步接收發送器,但每次取得除錯資訊時程式運行都會受到干擾,降低除錯的效率。
本揭示內容之一態樣為一種除錯系統,除錯系統包含一嵌入式裝置與一終端計算機。嵌入式裝置包含記憶體單元,且記憶體單元包含一第一緩衝區塊,嵌入式裝置用以執行至少一指令並產生至少一筆即時除錯資訊,且將即時除錯資訊寫入第一緩衝區塊中。終端計算機透過第一介面連接至內電路仿真器,而內電路仿真器透過一第二介面連接至嵌入式裝置。終端計算機用以採輪詢(polling)方式透過內電路仿真器讀取第一緩衝區塊內之即時除錯資訊,並於讀取完成後刪除第一緩衝區塊所儲存之即時除錯資訊。
於一實施例中,第一介面為通用序列匯流排(USB)介面。
於一實施例中,第二介面為有線測試(JTAG)介面。
於一實施例中,記憶體單元係用以紀錄第一緩衝區塊之起始位址與大小。
於一實施例中,嵌入式裝置於第一緩衝區塊之剩餘空間不足以寫入至少一筆即時除錯資訊時,嵌入式裝置等待第一緩衝區塊清空後再進行寫入。
於一實施例中,記憶體單元更包含第二緩衝區塊,終端計算機透過內電路仿真器寫入至少一筆遠端資訊至第二緩衝區塊,嵌入式裝置以輪詢方式讀取第二緩衝區塊以取得遠端資訊。
本揭示內容之一態樣為一種除錯方法,除錯方法包含下列步驟:藉由終端計算機採輪詢方式透過內電路仿真器自嵌入式裝置讀取至少一筆即時除錯資訊,且嵌入式裝置係用以將執行至少一指令時所產生之即時除錯資訊寫入嵌入式裝置內之第一緩衝區塊;在讀取即時除錯資訊後,刪除第一緩衝區塊所儲存之即時除錯資訊。
於一實施例中,除錯方法更包含讀取記憶體單元中所紀錄之第一緩衝區塊的起始位址與大小。
於一實施例中,除錯方法更包含藉由終端計算機透過內電路仿真器寫入至少一筆遠端資訊至嵌入式裝置內之一第二緩衝區塊,且嵌入式裝置以輪詢方式讀取第二緩衝區塊以取得遠端資訊。
本揭示內容提供之除錯系統與方法能夠降低嵌入式裝置之開發成本,在不增加多餘硬體介面的前提下,採用嵌入式裝置原本具有之接腳進行除錯資訊之傳遞,同時嵌入式裝置在輸出除錯資訊時,可將除錯資訊儲存於記憶體單元中,待終端計算機讀取後刪除除錯資訊以容納新的除錯資訊。如此一來,嵌入式裝置無須因輸出除錯資訊而中斷運行,在持續執行程式情況下進行除錯可大幅縮短除錯時間,增進開發效率。另外,嵌入式裝置亦包含一第二緩衝區塊, 供終端計算機儲存遠端資訊,省去設置多餘介面的麻煩,近一步降低開發成本。
100‧‧‧除錯系統
110‧‧‧嵌入式裝置
112‧‧‧處理單元
114‧‧‧記憶體單元
1142‧‧‧第一緩衝區塊
1144‧‧‧第二緩衝區塊
120‧‧‧終端計算機
122‧‧‧處理單元
124‧‧‧記憶體單元
126‧‧‧顯示單元
128‧‧‧輸出入單元
130‧‧‧內電路仿真器
140‧‧‧第一介面
150‧‧‧第二介面
200‧‧‧除錯方法
S210~S230‧‧‧步驟
第1圖係依照本揭示內容實施例繪示一種除錯系統的方塊示意圖;以及第2圖係依照本揭示內容實施例繪示之除錯方法的流程圖。
為了使本揭示內容之敘述更加詳盡與完備,可參照所附之圖式及以下所述各種實施例,圖式中相同之號碼代表相同或相似之元件。另一方面,眾所週知的元件與步驟並未描述於實施例中,以避免對本揭示內容造成不必要的限制。此外,圖式僅以說明為目的,並未依照原尺寸作圖。
關於本文中所使用之『第一』、『第二』、...等,並非特別指稱次序或順位的意思,亦非用以限定本揭示內容,其僅僅是為了區別以相同技術用語描述的元件或操作而已。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,而『耦接』還可指二或多個元件相互操作或動作。
第1圖係依照本揭示內容實施例繪示一種除錯 系統的方塊示意圖。除錯系統100用於開發嵌入式裝置110所執行軟體程式,由於嵌入式裝置110缺乏鍵盤、螢幕以及硬碟等元件,且開發時硬體往往也尚未開發完成,因此開發人員需要將嵌入式裝置110在程式運行時產生的除錯資訊輸出至具備顯示裝置之終端計算機120。
第1圖所示之除錯系統100包含嵌入式裝置110、終端計算機120以及內電路仿真器(in-circuit emulator)130。嵌入式裝置110包含處理單元112和記憶體單元114,且記憶體單元114包含第一緩衝區塊1142,嵌入式裝置110用以透過處理單元112執行至少一指令,執行指令時產生至少一筆即時除錯資訊,且將即時除錯資訊寫入記憶體單元114內的第一緩衝區塊1142中。終端計算機120透過第一介面140連接至內電路仿真器130,而內電路仿真器130透過一第二介面150連接至嵌入式裝置110。終端計算機120用以採輪詢(polling)方式透過內電路仿真器130讀取第一緩衝區塊1142內之即時除錯資訊,並於讀取完成後刪除第一緩衝區塊1142所儲存之即時除錯資訊。即時除錯資訊例如是程式或指令中所使用變數之數值,或記憶體單元114中固定位址所儲存之數值,或任何其他對瞭解程式運行狀態有關之資訊。
於一些實施例中,嵌入式裝置110之處理單元112為一ARM架構的中央處理器,記憶體單元114為靜態隨機存取記憶體(static random access memory,SRAM)。於另一些實施例中,嵌入式裝置110之處理單元112為一 MIPS架構的中央處理器,記憶體單元114為動態隨機存取記憶體(dynamic random access memory,DRAM)。於其他實施例中,嵌入式裝置110之處理單元112可為其他類型處理器,而記憶體單元114可為快閃記憶體(flash memory)、或任何其他適用之記憶體種類,並不限於本揭示內容所舉示例。
於一實施例中,終端計算機120為一個人電腦,處理單元122為中央處理器(CPU),記憶體單元124為動態隨機存取記憶體(DRAM)與硬碟(hard disk),顯示單元126為液晶螢幕(LCD),輸出入單元128為鍵盤滑鼠組。於另一實施例中,終端計算機120為一平板電腦(tablet),處理單元122為ARM架構處理器或MIPS架構處理器,記憶體單元124為動態隨機存取記憶體(DRAM)、快閃記憶體(flash memory)、SD記憶卡以及固態硬碟(SSD)等,顯示單元126為觸控螢幕(touch Panel)或AMOLED螢幕,輸出入單元128為光學感測器(optical cursor)或實體鍵盤(keyboard)。在其他實施例中,終端計算機120可為其他種硬體實施方式,並不限於上述所舉示例。
於一實施例中,終端計算機120之輪詢周期為10毫秒(ms),於另一實施例中,終端計算機120之輪詢周期為15毫秒(ms)。本領域具通常知識者在閱讀本揭示內容後,可依應用需求設計輪詢之周期長度,並不限於上述所舉示例。
於一實施例中,終端計算機120在透過內電路 仿真器130讀取即時除錯資訊後,可刪除第一緩衝區塊1142內所儲存之即時除錯資訊,使嵌入式裝置110繼續將新產生的即時除錯資訊寫入第一緩衝區塊1142。於另一實施例中,終端計算機120在透過內電路仿真器130讀取即時除錯資訊後,設定記憶體單元114內之一旗標,處理單元112讀取該旗標之值以確認第一緩衝區塊1142內之即時除錯資訊是否已被讀取,若均已被讀取則可複寫第一緩衝區塊1142內之即時除錯資訊。
透過上述之技術內容,嵌入式裝置110將即時除錯資訊寫入第一緩衝區塊1142,而終端計算機120則以輪詢方式定時檢查第一緩衝區塊1142,並在第一緩衝區塊1142中包含即時除錯資訊時,讀取即時除錯資訊並顯示於顯示單元126,開發人員便可得知程式運行之狀況並加以除錯。如此一來,除錯系統100既無需於嵌入式裝置110增加額外的硬體介面專門用以傳送即時除錯資訊,嵌入式裝置110也不用因輸出即時除錯資訊而暫停程式運行,可大幅提高除錯效率,縮短產品開發周期。
於一實施例中,連接終端計算機120與內電路仿真器130之第一介面140為通用序列匯流排(USB)介面,而連接內電路仿真器130與嵌入式裝置110之第二介面150為有線測試(JTAG)介面。於其他實施例中,第一介面140為通用序列匯流排人機介面裝置(USB human interface device,USB HID)介面,而第二介面150為背景除錯模式(background debug mode,BDM)介面。於其他實施例 中,第一介面140與第二介面150為其他介面,並不限於本揭示內容所舉示例。
當第一緩衝區塊1142之剩餘空間不足以寫入所產生即時除錯資訊時,嵌入式裝置110等待終端計算機120讀取並清空第一緩衝區塊1142中的即時除錯資訊後,再將新的即時除錯資訊寫入第一緩衝區塊1142。於一實施例中,嵌入式裝置110進行忙碌等待(busy waiting)以持續確認第一緩衝區塊1142已儲存之資訊是否被清空,並在第一緩衝區塊1142清空後,寫入新產生之即時偵錯資訊,並結束等待並繼續執行指令。
多種因素影響記憶體單元114中之第一緩衝區塊1142之起始位址與大小的訂定。第一緩衝區塊1142之空間越大,則越能縮短或避免嵌入式裝置110之等候時間,然而,若第一緩衝區塊1142之空間過大,則嵌入式裝置110運行程式或指令時所使用的記憶體空間則會受到限制。另外,第一介面140與第二介面150之傳輸速率越快,或是終端計算機120輪詢之周期越短,皆能提升第一緩衝區塊1142被清空的速度,降低所需第一緩衝區塊1142之空間大小。於一實施例中,第一緩衝區塊1142之空間大小為256字節(byte),於另一實施例中,第一緩衝區塊1142之空間大小為512字節(byte)。本領域具通常知識者可根據本揭示內容,視實際應用情況調整第一緩衝區塊1142之起始位址與大小,並不限於所舉示例。
於一實施例中,記憶體單元114用以記錄第一 緩衝區塊1142之起始位址與大小,處理單元112與終端計算機120讀取所記錄之起始位置與大小,以寫入或讀取即時除錯資訊於記憶體單元114中對應之記憶體位址。於另一實施例中,記憶體單元114所包含之非揮發性記憶體中記錄第一緩衝區塊1142之起始位址與大小,開發人員視需求改變記憶體單元114所記錄之第一緩衝區塊1142之起始位址與大小。
於另一實施例中,記憶體單元114更包含第二緩衝區塊1144,終端計算機120透過內電路仿真器130寫入至少一筆遠端資訊至第二緩衝區塊1144,嵌入式裝置110以輪詢方式讀取第二緩衝區塊1144以取得遠端資訊。亦即,開發人員根據程式指令執行狀況輸入遠端資訊,嵌入式裝置110透過內電路仿真器130取得遠端資訊,並根據遠端資訊繼續執行程式指令,開發人員再根據嵌入式裝置110所產生的即時除錯資訊找出錯誤。如此一來,嵌入式裝置110與終端計算機120即可透過內電路仿真器130達到雙向溝通,使除錯過程更加流暢,降低開發成本。
應注意到,終端計算機120欲在第二緩衝區塊1144中寫入遠端資訊時,需先行確認第二緩衝區塊1144中剩餘空間是否足夠,當第二緩衝區塊1144之空間不足時,終端計算機120進入等待狀態,待嵌入式裝置110讀取並清空第二緩衝區塊1144後,終端計算機120再行寫入遠端資訊。
第二緩衝區塊1144之記憶體空間與起始位置 亦如同第一緩衝區塊1142,記錄於記憶體單元114中,供處理單元112與終端計算機120讀取,並於記憶體單元114之對應位址讀取或寫入遠端資訊。於一實施例中,由於嵌入式裝置110於指令執行過程中所需之遠端資訊之資料量通常小於即時除錯資訊之資料量,故第二緩衝區塊1144之記憶體空間較第二緩衝區塊1144之記憶體空間小,例如64字節(byte)或128字節(byte)。本領域具通常知識者於閱讀本揭示內容後,可根據應用需求設計第二緩衝區塊1144之記憶體空間大小與起始位址,並不限於上述所舉示例。
第2圖係依照本揭示內容實施例繪示之除錯方法的流程圖。應瞭解到,雖然流程圖中對於除錯方法200係以特定順序的步驟來做描述,然此並不限制本揭示內容所提及步驟的前後順序,另外在實作中可增加或減少所述步驟。於此實施例中,為了方便及清楚說明,以第1圖所示的除錯系統100為例來進行闡述,但本揭示內容並不以此為限。
於除錯方法200之步驟S210中,藉由終端計算機120採輪詢方式透過內電路仿真器130自嵌入式裝置110讀取至少一筆即時除錯資訊。在一些實施例中,於步驟S210之前,嵌入式裝置110係預設將執行指令時所產生之即時除錯資訊寫入嵌入式裝置110內之第一緩衝區塊1142。於一實施例中,終端計算機120讀取記憶體單元114中所紀錄之第一緩衝區塊1142的起始位址與大小,以在記憶體單元114中對應位置讀取即時除錯資訊。終端計算機120所採用之輪詢方式以及即時除錯資訊等技術細節如上所述,於此不再贅 述。
終端計算機120在讀取即時除錯資訊後,刪除第一緩衝區塊1142所儲存之即時除錯資訊(步驟S220)。於一實施例中,嵌入式裝置110欲寫入新產生之即時除錯資訊,然而第一緩衝區塊1142仍保留未被終端計算機120讀取之即時除錯資訊,嵌入式裝置110便進入等待狀態,在終端計算機120讀取並清空第一緩衝區塊1142後再行寫入。嵌入式裝置110寫入第一緩衝區塊1142與終端計算機120讀取並清空第一緩衝區塊1142之技術細節如上所述,於此不再贅述。
於一實施例中,於步驟S220之後,藉由終端計算機120透過內電路仿真器130寫入至少一筆遠端資訊至嵌入式裝置110內之第二緩衝區塊1144(步驟S230),使得嵌入式裝置110可以讀取第二緩衝區塊1144內的資料,例如:嵌入式裝置110以輪詢方式讀取第二緩衝區塊1144以取得遠端資訊。終端計算機120寫入遠端資訊與嵌入式裝置110讀取遠端資訊之技術細節如上所述,於此不再贅述。
綜上所述,本揭示內容提供之除錯系統與方法能夠降低嵌入式裝置之開發成本,在不增加多餘硬體介面的前提下,透過嵌入式裝置原本具有之接腳或介面傳送除錯資訊或遠端資訊,同時嵌入式裝置在輸出除錯資訊時,可將除錯資訊儲存於記憶體單元中,待終端計算機讀取後刪除除錯資訊以容納新的除錯資訊。如此一來,嵌入式裝置無須在每次輸出除錯資訊時均中斷運行,而是由終端計算機採輪詢方 式檢查記憶體單元中是否儲存有除錯資訊,而可在嵌入式裝置持續執行程式情況下進行除錯,大幅縮短了除錯時間,並增進開發效率。
雖然本揭示內容已以實施方式揭露如上,然其並非用以限定本揭示內容,任何熟習此技藝者,在不脫離本揭示內容之精神和範圍內,當可做各種之更動與潤飾,因此本揭示內容之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧除錯系統
110‧‧‧嵌入式裝置
112‧‧‧處理單元
114‧‧‧記憶體單元
1142‧‧‧第一緩衝區塊
1144‧‧‧第二緩衝區塊
120‧‧‧終端計算機
122‧‧‧處理單元
124‧‧‧記憶體單元
126‧‧‧顯示單元
128‧‧‧輸出入單元
130‧‧‧內電路仿真器
140‧‧‧第一介面
150‧‧‧第二介面

Claims (12)

  1. 一種除錯系統,包含:一嵌入式裝置,包含一記憶體單元,其中該記憶體單元包含一第一緩衝區塊,該嵌入式裝置用以執行至少一指令並產生至少一筆即時除錯資訊,且將該至少一筆即時除錯資訊寫入該第一緩衝區塊中;以及一終端計算機,透過一第一介面連接至一內電路仿真器,用以採輪詢(polling)方式透過該內電路仿真器讀取該第一緩衝區塊內之該至少一筆即時除錯資訊,並於讀取完成後刪除該第一緩衝區塊所儲存之該至少一筆即時除錯資訊,其中該內電路仿真器透過一第二介面連接至該嵌入式裝置。
  2. 如請求項第1項所述之除錯系統,其中該第一介面為通用序列匯流排(USB)介面。
  3. 如請求項第1項所述之除錯系統,其中該第二介面為有線測試(JTAG)介面。
  4. 如請求項第1項所述之除錯系統,其中該記憶體單元係用以紀錄該第一緩衝區塊之起始位址與大小。
  5. 如請求項第1項所述之除錯系統,其中當該嵌入式裝置於該第一緩衝區塊之剩餘空間不足以寫入該至少一筆即時除錯資訊時,該嵌入式裝置等待該第一緩衝區塊清空後再進行寫入。
  6. 如請求項第1項所述之除錯系統,其中該記憶體單元更包含一第二緩衝區塊,該終端計算機透過該 內電路仿真器寫入至少一筆遠端資訊至該第二緩衝區塊,該嵌入式裝置以輪詢方式讀取該第二緩衝區塊以取得該至少一筆遠端資訊。
  7. 一種除錯方法,包含:藉由一終端計算機採輪詢方式透過一內電路仿真器自一嵌入式裝置讀取至少一筆即時除錯資訊,其中該嵌入式裝置係用以將執行至少一指令時所產生之該至少一筆即時除錯資訊寫入該嵌入式裝置內之一第一緩衝區塊;以及在讀取該至少一筆即時除錯資訊後,刪除該第一緩衝區塊所儲存之該至少一筆即時除錯資訊。
  8. 如請求項第7項所述之除錯方法,其中該終端計算機透過一第一介面連接至該內電路仿真器,該第一介面為通用序列匯流排(USB)介面。
  9. 如請求項第7項所述之除錯方法,其中該內電路仿真器透過一第二介面連接至該嵌入式裝置,該第二介面為有線測試(JTAG)介面。
  10. 如請求項第7項所述之除錯方法,更包含:讀取該嵌入式裝置內之該第一緩衝區塊的起始位址與大小。
  11. 如請求項第7項所述之除錯方法,其中當該第一緩衝區塊之剩餘空間不足以寫入該至少一筆即時除錯資訊時,該嵌入式裝置等待該第一緩衝區塊清空再進行寫入。
  12. 如請求項第7項所述之除錯方法,更包 含:藉由該終端計算機透過該內電路仿真器寫入至少一筆遠端資訊至該嵌入式裝置內之一第二緩衝區塊,其中該嵌入式裝置以輪詢方式讀取該第二緩衝區塊以取得該至少一筆遠端資訊。
TW104131294A 2015-09-22 2015-09-22 除錯系統與方法 TWI546660B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW104131294A TWI546660B (zh) 2015-09-22 2015-09-22 除錯系統與方法
CN201610264076.4A CN106547636B (zh) 2015-09-22 2016-04-26 除错***与方法
US15/176,134 US9835682B2 (en) 2015-09-22 2016-06-07 Debugging system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104131294A TWI546660B (zh) 2015-09-22 2015-09-22 除錯系統與方法

Publications (2)

Publication Number Publication Date
TWI546660B true TWI546660B (zh) 2016-08-21
TW201712538A TW201712538A (zh) 2017-04-01

Family

ID=57183807

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104131294A TWI546660B (zh) 2015-09-22 2015-09-22 除錯系統與方法

Country Status (3)

Country Link
US (1) US9835682B2 (zh)
CN (1) CN106547636B (zh)
TW (1) TWI546660B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437706B2 (en) 2017-03-17 2019-10-08 Primax Electronics Ltd. Debugging system and method for embedded device
TWI802792B (zh) * 2020-04-17 2023-05-21 新唐科技股份有限公司 偵錯裝置及其操作方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10504605B2 (en) * 2017-11-02 2019-12-10 National Tsing Hua University Method and system for testing firmware of solid-state storage device, and electronic apparatus
DE102018101028B3 (de) * 2018-01-18 2019-05-29 Infineon Technologies Austria Ag Mikrocontrollersystem mit schaltungsinternem Debugger
KR102536637B1 (ko) * 2018-03-29 2023-05-26 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11138134B2 (en) 2019-05-22 2021-10-05 Nxp Usa, Inc. Non-intrusive semihosting solution for debug using direct memory access implementation-based library

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07333978A (ja) * 1994-06-05 1995-12-22 Ricoh Co Ltd 回転型現像装置
US6154856A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
US20030074650A1 (en) * 2001-10-17 2003-04-17 Tankut Akgul Debugger operating system for embedded systems
CN100342348C (zh) * 2003-10-08 2007-10-10 威盛电子股份有限公司 一种除错装置及其方法
CN100492315C (zh) 2004-12-15 2009-05-27 浙江大学 嵌入式信号处理器模拟器
TWI300524B (en) 2005-04-13 2008-09-01 Via Tech Inc System-on-a-chip and test/debug method thereof
US7533315B2 (en) * 2006-03-06 2009-05-12 Mediatek Inc. Integrated circuit with scan-based debugging and debugging method thereof
TWI318358B (en) 2006-05-29 2009-12-11 Sunplus Technology Co Ltd Configurable multi-interface in-circuit emulator and operating method thereof
JP2008305051A (ja) * 2007-06-06 2008-12-18 Seiko Epson Corp トレース回路及びトレース回路を含む半導体集積回路
CN102096617B (zh) * 2009-12-14 2014-07-02 联想(北京)有限公司 一种检测装置和检测方法
CN202178776U (zh) * 2011-08-23 2012-03-28 杭州朗杰测控技术开发有限公司 一种基于can总线的高速通讯***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437706B2 (en) 2017-03-17 2019-10-08 Primax Electronics Ltd. Debugging system and method for embedded device
TWI802792B (zh) * 2020-04-17 2023-05-21 新唐科技股份有限公司 偵錯裝置及其操作方法

Also Published As

Publication number Publication date
TW201712538A (zh) 2017-04-01
US9835682B2 (en) 2017-12-05
CN106547636B (zh) 2019-12-31
CN106547636A (zh) 2017-03-29
US20170082688A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
TWI546660B (zh) 除錯系統與方法
US9442794B1 (en) Methods and apparatus for accessing device memory via a host bus interface
TWI588837B (zh) 具除錯控制器的系統單晶片及其操作方法
US8495344B2 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
US9268627B2 (en) Processor hang detection and recovery
US20160231376A1 (en) System And Method For Generating Cross-Core Breakpoints In A Multi-Core Microcontroller
WO2022151707A1 (zh) 内存测试方法及装置、可读存储介质、电子设备
US20160299859A1 (en) Apparatus and method for external access to core resources of a processor, semiconductor systems development tool comprising the apparatus, and computer program product and non-transitory computer-readable storage medium associated with the method
US9703748B2 (en) Method and apparatus of emulating interfaces using FIFOs
US8370556B2 (en) Multi-core data processor
JP2002529851A (ja) デバッギングのためのデータ最適化と並行したオブジェクトサイズ情報の維持
CN116701285A (zh) 远程访问控制装置、方法、设备及计算机可读介质
CN106610878B (zh) 双控制器***的故障调试方法
WO2019001320A1 (zh) 追踪方法、装置、设备和机器可读介质
TWI414936B (zh) 電腦系統之除錯方法
CN105068835B (zh) 移动终端及其调试信息显示方法
CN114385524A (zh) 嵌入式固件仿真***及其方法、装置和电子设备
JP2006146412A (ja) マルチコアプロセッサ及びデバッグ方法
TWI794997B (zh) 固態硬碟裝置的除錯方法及裝置以及電腦程式產品
CN111459736A (zh) 视频处理芯片的板极调试方法
JP2005353020A (ja) コンピュータプログラムのシミュレーション方式
TWI779630B (zh) 儲存除錯資訊的系統及方法
TWI801412B (zh) 偵錯方法
CN106598755B (zh) 一种处理器及dcc通信***
TW202405657A (zh) 記憶體控制器與偵錯訊息輸出控制方法