TWI884076B - Real-time active firmware debug method and device under test - Google Patents
Real-time active firmware debug method and device under test Download PDFInfo
- Publication number
- TWI884076B TWI884076B TW113133040A TW113133040A TWI884076B TW I884076 B TWI884076 B TW I884076B TW 113133040 A TW113133040 A TW 113133040A TW 113133040 A TW113133040 A TW 113133040A TW I884076 B TWI884076 B TW I884076B
- Authority
- TW
- Taiwan
- Prior art keywords
- point data
- monitoring point
- device under
- monitoring
- under test
- Prior art date
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本發明是有關於一種韌體除錯技術,且特別是一種主動式即時韌體除錯方法及能夠運行即時韌體除錯方法的受測裝置。The present invention relates to a firmware debugging technology, and in particular to an active real-time firmware debugging method and a device under test capable of running the real-time firmware debugging method.
一個韌體開發者最為苦惱的事,大多是耗在除錯的工作上,但由於現在的微控制器單元的速度越做越快,再加上微控制器單元的運用環境通常都是在很小的載體(ex: low pin count)上運行,所以對韌體開發者而言,除錯工程越來越困難。微控制器單元的技術日新月異,不論在製程、功耗、體積、運用等等都可說一日千里,但對於韌體的除錯支援仍需要業界人士進一步地改善與改良。The most annoying thing for a firmware developer is the time spent on debugging. However, as the speed of microcontroller units is getting faster and faster, and the application environment of microcontroller units is usually running on very small carriers (ex: low pin count), debugging projects are becoming more and more difficult for firmware developers. The technology of microcontroller units is changing with each passing day, whether in process, power consumption, size, application, etc., it can be said that it is advancing by leaps and bounds, but the debugging support for firmware still needs further improvement and improvement by industry professionals.
針對晶片或微控制器單元,現有的除錯工具中的線上仿真器(ICE)或聯合測試工作群組(JTAG),其除錯功能完整,故可以配合整合式開發環境(IDE)工具以實現追蹤與溯源(tracker and backward)的能力,但這類的除錯工具僅適合用於韌體開發階段,非商品化後除錯之用,例如如這般除錯工具往往會改變微控制器單元執行速度,造成接上除錯工具後之後就無法重現問題,亦或使用環境無法讓例如線上仿真器(ICE)或聯合測試工作群組(JTAG)接腳被規劃成通用輸入輸出(GPIO)接腳使用。另外,這類除錯工具利用查詢-回復(query-response)方式來進行除錯,即需要除錯工具發起查詢命令(query command)才會讓微控制器單元回復(response)相關運行數值,使得無法進行即時除錯。For chips or microcontroller units, existing debugging tools such as in-circuit emulators (ICE) or joint test group (JTAG) have complete debugging functions, so they can be used in conjunction with integrated development environment (IDE) tools to achieve tracker and backward capabilities. However, such debugging tools are only suitable for firmware development and are not for debugging after commercialization. For example, such debugging tools often change the execution speed of the microcontroller unit, resulting in the inability to reproduce the problem after the debugging tool is connected, or the use environment does not allow, for example, in-circuit emulator (ICE) or joint test group (JTAG) pins to be planned as general purpose input and output (GPIO) pins. In addition, this type of debugging tool uses a query-response method to perform debugging, that is, the debugging tool needs to issue a query command to allow the microcontroller unit to respond to related operating values, making it impossible to perform real-time debugging.
另一類的除錯工具可以為通用非同步收發傳輸器,其為目前最常見的商品化後的除錯方式,優處就是簡單,因為一個通用非同步收發傳輸器的傳送(TX)接腳就能看到相關的運行數值。然而,此除錯工具首先必須在原碼中埋入大量的文字信息(TXT message),尤其是即時操作系統(RTOS),這些信息列印(message print)反倒改變即時操作系統的任務切換時序,如此,增建非同步收發傳輸器的除錯信息就會有不一樣的問題表現。另一方面,此除錯工具還無法看到極細微的暫態問題,譬如快速進出的中斷服務函式,甚至運行韌體的即時操作系統進入閒置狀態或是韌體當機(dead lock),就會導致無法送出內部狀態資訊。總而言之,此除錯工具只能粗略檢視韌體流程與偵測簡單的問題,對於進行任務切換的即時操作系統來說,幾乎無法用於除錯。Another type of debugging tool can be a universal asynchronous transceiver, which is currently the most common debugging method after commercialization. The advantage is simplicity, because the transmit (TX) pin of a universal asynchronous transceiver can see the relevant operating values. However, this debugging tool must first embed a large amount of text information (TXT message) in the source code, especially for real-time operating systems (RTOS). These message prints (message print) will change the task switching timing of the real-time operating system. In this way, adding debugging information of the asynchronous transceiver will have different problem manifestations. On the other hand, this debugging tool cannot see extremely subtle transient problems, such as interrupt service functions that enter and exit quickly, or even the real-time operating system running the firmware entering an idle state or a firmware dead lock, which will result in the inability to send internal status information. In short, this debugging tool can only roughly check the firmware process and detect simple problems. For real-time operating systems that perform task switching, it is almost useless for debugging.
由上述描述可以理解,本發明的目的是為提供一種簡單且能夠主動且即時進行韌體除錯的主動式即時韌體除錯方法及能夠運行即時韌體除錯方法的受測裝置。It can be understood from the above description that the purpose of the present invention is to provide a simple active real-time firmware debugging method that can actively and instantly perform firmware debugging and a device under test that can run the real-time firmware debugging method.
基於本發明的其中一個目的,本發明實施例一種提供主動式即時韌體除錯方法。主動式即時韌體除錯方法用以主動對受測裝置即時監測以藉此除錯,受測裝置具有複數個測試點,複數個測試點對應有複數個測試點資料暫存器,每一個測試點資料暫存器儲存對應的測試點的複數個運行數值,以及主動式即時韌體除錯方法至少包括以下步驟:依序讀取複數個監測點位址暫存器所儲存的複數個監測點位址;依序讀取複數個監測點位址所對應的複數個測試點資料暫存器所儲存的複數個運行數值;將讀取的複數個運行數值進行暫存於複數個監測點資料暫存器中;以及將複數個監測點資料暫存器中的複數運行數值的至少一部份組合,以產生監測信號,且使受測裝置主動持續地透過其預設的輸出接腳依序輸出監測信號中的複數個運行數值,其中監測點資料暫存器電性連接測試點資料暫存器。Based on one of the purposes of the present invention, an embodiment of the present invention provides an active real-time firmware debugging method. The active real-time firmware debugging method is used to actively monitor a device under test in real time to debug the device under test. The device under test has a plurality of test points, and the plurality of test points correspond to a plurality of test point data registers. Each test point data register stores a plurality of running values of the corresponding test point. The active real-time firmware debugging method at least includes the following steps: sequentially reading a plurality of monitoring point addresses stored in a plurality of monitoring point address registers; sequentially reading a plurality of monitoring point addresses stored in a plurality of monitoring point address registers; The method comprises the steps of: reading a plurality of operating values stored in a plurality of corresponding test point data registers; temporarily storing the read plurality of operating values in a plurality of monitoring point data registers; and combining at least a portion of the plurality of operating values in the plurality of monitoring point data registers to generate a monitoring signal, and enabling the device under test to actively and continuously output the plurality of operating values in the monitoring signal in sequence through its preset output pins, wherein the monitoring point data register is electrically connected to the test point data register.
基於本發明的其中一個目的,本發明實施例提供一種受測裝置,受測裝置包括電性連接的複數個硬體電路,其中複數個硬體電路組態出處理核心、複數個測試點、複數個測試點資料暫存器、複數個監測點位址暫存器與複數個監測點資料暫存器,而且受測裝置能夠執行上述主動式即時韌體除錯方法。Based on one of the purposes of the present invention, an embodiment of the present invention provides a device under test, which includes a plurality of electrically connected hardware circuits, wherein the plurality of hardware circuits are configured with a processing core, a plurality of test points, a plurality of test point data registers, a plurality of monitoring point address registers and a plurality of monitoring point data registers, and the device under test is capable of executing the above-mentioned active real-time firmware debugging method.
承上所述,本發明所提供的主動式即時韌體除錯方法及能夠運行即時韌體除錯方法的受測裝置簡單不需複雜介面,不需增加過多原碼內容,運行速度快,具有彈性,且能以動態量測的方式進行。As mentioned above, the active real-time firmware debugging method and the device under test capable of running the real-time firmware debugging method provided by the present invention are simple and do not require complex interfaces or excessive source code content. They are fast and flexible and can be performed in a dynamic measurement manner.
本發明主要目的是提供一種不需複雜介面、不需增加過多原碼內容、運行速度快、具有彈性且能以動態量測的方式進行的主動式即時韌體除錯方法,以及提供能夠執行主動式即時韌體除錯方法的受測裝置,其中受測裝置可不斷且主動地送出最新的監測信號的複數個運行數值,以供韌體除錯者知悉。以下將配合圖式,將本發明可能之實施方式進行詳細的說明,但要注意的是,下述實施細節非用於限制本發明所主張的申請專利範圍,而僅是方便使所屬技術領域具有通常知識者理解。The main purpose of the present invention is to provide an active real-time firmware debugging method that does not require a complex interface, does not require adding too much source code content, has a fast running speed, is flexible, and can be performed in a dynamic measurement manner, and to provide a device under test that can execute the active real-time firmware debugging method, wherein the device under test can continuously and actively send out multiple running values of the latest monitoring signal for the firmware debugger to know. The following will be accompanied by a diagram to explain in detail the possible implementation methods of the present invention, but it should be noted that the following implementation details are not used to limit the scope of the patent application claimed by the present invention, but are only for the convenience of understanding by those with ordinary knowledge in the relevant technical field.
首先,請參照圖1、圖2、圖3與圖5,圖1是本發明實施例之受測裝置的複數個監測點位址暫存器與複數個遮罩暫存器的示意圖,圖2是本發明實施例之受測裝置的複數個測試點資料暫存器的示意圖,圖3是本發明實施例之受測裝置之預設的輸出接腳輸出的監測信號的示意圖,以及圖5是本發明實施例的主動式即時韌體除錯方法的流程圖。First, please refer to Figures 1, 2, 3 and 5, Figure 1 is a schematic diagram of multiple monitoring point address registers and multiple mask registers of the device under test in an embodiment of the present invention, Figure 2 is a schematic diagram of multiple test point data registers of the device under test in an embodiment of the present invention, Figure 3 is a schematic diagram of the monitoring signal output by the preset output pin of the device under test in an embodiment of the present invention, and Figure 5 is a flow chart of the active real-time firmware debugging method of the embodiment of the present invention.
本發明用於執行主動式即時韌體除錯方法的受測裝置包括電性連接的複數個硬體電路,其中複數個硬體電路組態出處理核心、複數個測試點(圖未繪示)、複數個測試點資料暫存器102a、102b、複數個監測點位址暫存器100a、100b、複數個遮罩暫存器101a、101b、與複數個監測點資料暫存器(圖未繪示)。另外,受測裝置例如可以但不限定為微控制器單元。The device under test for executing the active real-time firmware debugging method of the present invention includes a plurality of electrically connected hardware circuits, wherein the plurality of hardware circuits are configured with a processing core, a plurality of test points (not shown), a plurality of test
複數個測試點為受測裝置的不同類型的複數個元件,例如計時器、類比數位轉器、事件偵測器、任務執行單元,且本發明不以此為限制。複數個測試點對應有複數個測試點資料暫存器102a、102b,每一個測試點資料暫存器102a、102b儲存對應的測試點的複數個運行數值。在其中一個實施例中,複數個硬體電路並未組態出複數個遮罩暫存器101a、101b,亦即複數個遮罩暫存器101a、101b為本發明之受測裝置的可選配置元件。The plurality of test points are a plurality of components of different types of the device under test, such as a timer, an analog-to-digital converter, an event detector, and a task execution unit, and the present invention is not limited thereto. The plurality of test points correspond to a plurality of test
本發明實施例提供的主動式即時韌體除錯方法能用以主動對受測裝置即時監測以藉此除錯,且主動式即時韌體除錯方法的步驟說明如下。首先,在步驟S500中,依序讀取複數個監測點位址暫存器100a、100b所儲存的複數個監測點位址。接著,在步驟S501中,依序讀取複數個監測點位址所對應的複數個測試點資料暫存器102a、102b所儲存的複數個運行數值。以圖1與圖2為例,監測點位址暫存器100a、100b中的位址值0x4000_1000、0x5000_1000依序被讀取,以表示測試點位址之位址值0x4000_1000、0x5000_1000的測試點資料暫存器102a、102b所儲存的複數個運行數值會被讀取。倘若需要觀察監測不同複數個測試點,只要對韌體的代碼修改,使監測點位址暫存器100a、100b儲存的監測點位址改變即可。The active real-time firmware debugging method provided by the embodiment of the present invention can be used to actively monitor the device under test in real time to debug it, and the steps of the active real-time firmware debugging method are described as follows. First, in step S500, a plurality of monitoring point addresses stored in a plurality of monitoring
在步驟S502中,將讀取的複數個運行數值進行暫存於複數個監測點資料暫存器(圖未繪示)中。然後,在步驟S503中,依序讀取對應於複數個監測點資料暫存器(圖未繪示)的複數個遮罩暫存器101a、101b所儲存的複數個遮罩信號,其中遮罩信號具有複數個位元,複數個位元的數值分別用於表示監測點資料暫存器(圖未繪示)的複數個運行數值是否被選擇成為監測信號的一部分。In step S502, the read multiple running values are temporarily stored in multiple monitoring point data registers (not shown). Then, in step S503, multiple mask signals stored in
以圖1與圖2為例,遮罩暫存器101a儲存的遮罩信號為"10010"則表示對應的監測點資料暫存器中儲存的運行數值的第二跟第五個位元的運行數值會被選出作為監測信號的一部分,其中此監測點資料暫存器中儲存的運行數值的第二跟第五個位元的運行數值為測試點資料暫存器102a所儲存的中斷旗標值INT_FLAG與過運行旗標值OVER_RUN;以及遮罩暫存器101a儲存的遮罩信號為"11000"則表示對應的監測點資料暫存器中儲存的運行數值的第四跟第五個位元的運行數值會被選出作為監測信號的一部分,其中監測點資料暫存器中儲存的運行數值的第二跟第五個位元的運行數值為測試點資料暫存器102b所儲存的狀態值STATUS_0、STATUS_1。Taking FIG. 1 and FIG. 2 as examples, the mask signal stored in the
然後,在步驟S504中,將複數個監測點資料暫存器中的複數運行數值的至少一部份組合,以產生監測信號,且使受測裝置主動持續地透過其預設的輸出接腳依序輸出監測信號中的複數個運行數值,其中依據複數個遮罩信號將複數個監測點資料暫存器中的複數運行數值的至少一部份組合,且複數個監測點資料暫存器電性連接測試點資料暫存器102a、102b。以圖1~圖3為例,測試點資料暫存器102a所儲存的中斷旗標值INT_FLAG與過運行旗標值OVER_RUN以及測試點資料暫存器102b所儲存的狀態值STATUS_0、STATUS_1會形成監測信號,且監測信號採用曼徹斯特編碼(Manchester coding),其包括前綴值PRE與依序在前綴值PRE之後的中斷旗標值INT_FLAG、過運行旗標值OVER_RUN與狀態值STATUS_0、STATUS_1。Then, in step S504, at least a portion of the multiple running values in the multiple monitoring point data registers are combined to generate a monitoring signal, and the device under test actively and continuously outputs the multiple running values in the monitoring signal in sequence through its preset output pins, wherein at least a portion of the multiple running values in the multiple monitoring point data registers are combined according to a plurality of mask signals, and the multiple monitoring point data registers are electrically connected to the test
在此請注意,在一些實施例中,主動式即時韌體除錯方法不具有步驟S503,且步驟S504,可以依據特定規則將複數個監測點資料暫存器中的複數運行數值的至少一部份組合,例如特定規則為將全部的複數運行數值進行組合,或將複數個監測點資料暫存器中特定幾個位元的複數運行數值做組合。Please note that in some embodiments, the active real-time firmware debugging method does not have step S503, and step S504 can combine at least a portion of the multiple running values in the multiple monitoring point data registers according to a specific rule, for example, the specific rule is to combine all the multiple running values, or to combine the multiple running values of specific bits in the multiple monitoring point data registers.
在此請注意,受測裝置透過預設的輸出接腳是以取樣時脈信號的取樣頻率依序輸出監測信號中的複數個運行數值。取樣時脈信號來自於受測裝置之外部的時脈信號源,取樣頻率為時脈信號源的時脈信號的時脈頻率的整數倍,且關聯於複數個監測點資料暫存器中的複數運行數值中要組合成該監測信號者的總數量,以圖3為例,取樣頻率為取樣頻率為時脈信號源的時脈信號的時脈頻率的5倍(監測信號包括要監測的中斷旗標值INT_FLAG、過運行旗標值OVER_RUN、狀態值STATUS_0、STATUS_1與前綴值PRE)。Please note that the device under test outputs multiple running values of the monitoring signal in sequence at the sampling frequency of the sampling clock signal through the preset output pin. The sampling clock signal comes from a clock signal source outside the device under test. The sampling frequency is an integer multiple of the clock signal frequency of the clock signal source and is related to the total number of multiple running values in the multiple monitoring point data registers to be combined into the monitoring signal. Taking Figure 3 as an example, the sampling frequency is 5 times the clock signal frequency of the clock signal source (the monitoring signal includes the interrupt flag value INT_FLAG, the over-run flag value OVER_RUN, the status values STATUS_0, STATUS_1 and the prefix value PRE to be monitored).
較佳地,為了減少佔據受測裝置的接腳,受測裝置僅透過預設的一個輸出接腳輸出監測信號,但本發明不以此為限制。然而,若受測裝置能夠使用的接腳數量夠多,受測裝置也可以透過預設的複數個輸出接腳輸出監測信號,以藉此降低取樣頻率。另外一方面,本發明是使受測裝置運行主動式即時韌體除錯方法,且韌體的執行可以交由受測裝置的執行記憶體接取(DMA)裝置,因此即使受測裝置中的處理核心未啟動(例如,盡如休眠或韌體的執行進入死結(dead lock))或不存在,主動式即時韌體除錯方法可使受測裝置仍主動持續不間斷地透過其預設的輸出接腳依序輸出監測信號中的複數個運行數值。另外,由於複數個測試點可為受測裝置的不同類型的複數個元件,因此,監測信號中的複數個運行數值並沒有類型的限制,及不具有特定屬性。Preferably, in order to reduce the pins occupied by the device under test, the device under test only outputs the monitoring signal through a preset output pin, but the present invention is not limited to this. However, if the number of pins that can be used by the device under test is sufficient, the device under test can also output the monitoring signal through a plurality of preset output pins to reduce the sampling frequency. On the other hand, the present invention enables the device under test to run an active real-time firmware debugging method, and the execution of the firmware can be handed over to the execution memory access (DMA) device of the device under test, so even if the processing core in the device under test is not started (for example, in sleep mode or the execution of the firmware enters a deadlock) or does not exist, the active real-time firmware debugging method can enable the device under test to actively and continuously output multiple running values in the monitoring signal in sequence through its preset output pins. In addition, since the multiple test points can be multiple components of different types of the device under test, the multiple running values in the monitoring signal are not limited in type and do not have specific properties.
再者,請參照圖4,圖4是本發明另一實施例之受測裝置的複數個監測點位址暫存器、複數個遮罩暫存器、複數個測試點資料暫存器與預設的輸出接腳輸出的監測信號的示意圖。本發明的主動式即時韌體除錯方法可以針對受測裝置執行多個任務的情況進行除錯。如圖4,監測點位址暫存器100a的監測點位址為位址值CURRENT_TASK_ID,其指向紀錄有目前複數個任務識別ID1~ID3之複數個運行數值的測試點資料暫存器102a,且多個監測點位址暫存器100b的監測點位址為位址值TARGET_i(i例如為1、2或3,表示有3個任務執行),其指向複數個任務識別ID1~ID3對應的複數個任務的複數個測試點資料暫存器的複數個位址。因此,在圖4中的監測信號包括前綴值PRE、任務識別ID0~ID2的運行數值與對應於任務識別ID0~ID2的三個運行數值X
1X
1X
1X
1X
1、X
2X
2X
2X
2X
2、X
3X
3X
3X
3X
3。藉此,本發明的主動式即時韌體除錯方法在時間性上具有共享功能。
Furthermore, please refer to FIG. 4, which is a schematic diagram of a plurality of monitoring point address registers, a plurality of mask registers, a plurality of test point data registers and a monitoring signal output by a preset output pin of another embodiment of the present invention. The active real-time firmware debugging method of the present invention can be used to debug the situation where the device under test executes multiple tasks. As shown in FIG4 , the monitoring point address of the monitoring
綜合以上所述,本發明所提供的主動式即時韌體除錯方法與能夠執行主動式即時韌體除錯方法的受測裝置具有以下的有益技術效果:(1)不需要複雜介面,僅要預設受測裝置的一個輸出接腳即可以輸出要監測的複數個運行數值;(2)不需要增加過多的原碼內容,且可以讓韌體釋出版本(firmware release version)的韌體代碼不需要移除這些原碼;(3)除錯運行速度快,因此能夠看到連韌體都無法偵測的狀況,而且是即時的,無任何時間延遲疑慮;(4)具有彈性,可以監測受測裝置內部匯流排上任何可以存取的位址之測試點資料暫存器的運行數值,例如各種不同類型的元件的測試點資料暫存器內的運行數值,且這些運行數值可能是韌體之有限狀態機(FSM)的狀態、源程(process flow)與變數(variable)之內容;以及(5)除錯以動態量測的方式進行,受測裝置運作過程當中,可以隨時改變要觀察的對象,例如當受測裝置的系統進入休眠狀態,就開始量測中斷服務來源(interrupt source)的狀態,而當受測裝置的系統被喚醒之後,就開始量測充電器的充電狀態。In summary, the active real-time firmware debugging method and the device under test capable of executing the active real-time firmware debugging method provided by the present invention have the following beneficial technical effects: (1) no complex interface is required, and only one output pin of the device under test needs to be preset to output multiple operating values to be monitored; (2) no excessive source code content needs to be added, and the firmware release version (firmware release (3) The debugging runs fast, so it is possible to see conditions that even the firmware cannot detect, and it is instantaneous without any time delay. (4) It is flexible and can monitor the running values of the test point data registers at any accessible address on the internal bus of the device under test, such as the running values in the test point data registers of various types of components, and these running values may be the state of the firmware's finite state machine (FSM), the source code (process (5) Debugging is performed in a dynamic measurement manner. The object to be observed can be changed at any time during the operation of the device under test. For example, when the system of the device under test enters sleep mode, the status of the interrupt source is measured, and when the system of the device under test is awakened, the charging status of the charger is measured.
本發明在本文中僅以較佳實施例揭露,然任何熟習本技術領域者應能理解的是,上述實施例僅用於描述本發明,並非用以限定本發明所主張之專利權利範圍。舉凡與上述實施例均等或等效之變化或置換,皆應解讀為涵蓋於本發明之精神或範疇內。因此,本發明之保護範圍應以下述之申請專利範圍所界定者為基準。The present invention is disclosed in this article only with preferred embodiments. However, anyone familiar with the technical field should understand that the above embodiments are only used to describe the present invention and are not used to limit the scope of the patent rights claimed by the present invention. Any changes or substitutions that are equal or equivalent to the above embodiments should be interpreted as being included in the spirit or scope of the present invention. Therefore, the protection scope of the present invention should be based on the scope defined by the following patent application.
100a、100b:複數個監測點位址暫存器
101a、101b:複數個遮罩暫存器
102a、102b:測試點資料暫存器
S500~S504:步驟
0x4000_1000、0x5000_1000、CURRENT_TASK_ID、TARGET_i:位址值
PRE:前綴值
OVER_RUN:過運行旗標值
INT_FLAG:中斷旗標值
ID0~ID2:任務識別
STATUS_0、STATUS_1:狀態值
X
1X
1X
1X
1X
1、X
2X
2X
2X
2X
2、X
3X
3X
3X
3X
3:運行數值100a, 100b: multiple monitoring
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下: 圖1是本發明實施例之受測裝置的複數個監測點位址暫存器與複數個遮罩暫存器的示意圖; 圖2是本發明實施例之受測裝置的複數個測試點資料暫存器的示意圖; 圖3是本發明實施例之受測裝置之預設的輸出接腳輸出的監測信號的示意圖; 圖4是本發明另一實施例之受測裝置的複數個監測點位址暫存器、複數個遮罩暫存器、複數個測試點資料暫存器與預設的輸出接腳輸出的監測信號的示意圖;以及 圖5是本發明實施例的主動式即時韌體除錯方法的流程圖。 In order to make the above and other purposes, features, advantages and embodiments of the present invention more clearly understandable, the attached drawings are described as follows: Figure 1 is a schematic diagram of a plurality of monitoring point address registers and a plurality of mask registers of a device under test of an embodiment of the present invention; Figure 2 is a schematic diagram of a plurality of test point data registers of a device under test of an embodiment of the present invention; Figure 3 is a schematic diagram of a monitoring signal output by a preset output pin of a device under test of an embodiment of the present invention; Figure 4 is a schematic diagram of a plurality of monitoring point address registers, a plurality of mask registers, a plurality of test point data registers and a monitoring signal output by a preset output pin of a device under test of another embodiment of the present invention; and Figure 5 is a flow chart of the active real-time firmware debugging method of an embodiment of the present invention.
S500~S504:步驟 S500~S504: Steps
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113133040A TWI884076B (en) | 2024-09-02 | 2024-09-02 | Real-time active firmware debug method and device under test |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113133040A TWI884076B (en) | 2024-09-02 | 2024-09-02 | Real-time active firmware debug method and device under test |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TWI884076B true TWI884076B (en) | 2025-05-11 |
Family
ID=96582151
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW113133040A TWI884076B (en) | 2024-09-02 | 2024-09-02 | Real-time active firmware debug method and device under test |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI884076B (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10866922B1 (en) * | 2017-02-28 | 2020-12-15 | American Megatrends International, Llc | Firmware debug trace capture using serial peripheral interface |
| CN114064458A (en) * | 2021-10-25 | 2022-02-18 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | JTAG debugging method and system with extensible interface and universality |
| TWI794997B (en) * | 2021-06-28 | 2023-03-01 | 慧榮科技股份有限公司 | Method and apparatus and computer program product for debugging solid state disk devices |
| CN118227402A (en) * | 2024-03-05 | 2024-06-21 | 苏州元脑智能科技有限公司 | Heterogeneous computing device debugging device, method, electronic device and storage medium |
| CN118467340A (en) * | 2024-04-12 | 2024-08-09 | 深圳市同泰怡信息技术有限公司 | Instant debugging method, system, storage medium and equipment of UEFI BIOS |
-
2024
- 2024-09-02 TW TW113133040A patent/TWI884076B/en active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10866922B1 (en) * | 2017-02-28 | 2020-12-15 | American Megatrends International, Llc | Firmware debug trace capture using serial peripheral interface |
| TWI794997B (en) * | 2021-06-28 | 2023-03-01 | 慧榮科技股份有限公司 | Method and apparatus and computer program product for debugging solid state disk devices |
| CN114064458A (en) * | 2021-10-25 | 2022-02-18 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | JTAG debugging method and system with extensible interface and universality |
| CN118227402A (en) * | 2024-03-05 | 2024-06-21 | 苏州元脑智能科技有限公司 | Heterogeneous computing device debugging device, method, electronic device and storage medium |
| CN118467340A (en) * | 2024-04-12 | 2024-08-09 | 深圳市同泰怡信息技术有限公司 | Instant debugging method, system, storage medium and equipment of UEFI BIOS |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6145122A (en) | Development interface for a data processor | |
| US5488688A (en) | Data processor with real-time diagnostic capability | |
| US6732311B1 (en) | On-chip debugger | |
| US6167536A (en) | Trace cache for a microprocessor-based device | |
| US5951696A (en) | Debug system with hardware breakpoint trap | |
| US7783865B2 (en) | Conditional data watchpoint management | |
| US6175914B1 (en) | Processor including a combined parallel debug and trace port and a serial port | |
| US6009270A (en) | Trace synchronization in a processor | |
| EP0084431A2 (en) | Monitoring computer systems | |
| US6430727B1 (en) | Diagnostic procedures in an integrated circuit device | |
| EP0849668B1 (en) | Diagnostics system and procedure in an integrated circuit device | |
| MacNamee et al. | Emerging on-ship debugging techniques for real-time embedded systems | |
| US6857084B1 (en) | Multiprocessor system and method for simultaneously placing all processors into debug mode | |
| US20110307741A1 (en) | Non-intrusive debugging framework for parallel software based on super multi-core framework | |
| US5812830A (en) | Debug system with raw mode trigger capability | |
| US7636870B2 (en) | Semiconductor integrated circuit device, and debugging system and method for the semiconductor integrated circuit device | |
| US6647511B1 (en) | Reconfigurable datapath for processor debug functions | |
| GB2329048A (en) | A debugger interface unit with a stepping mode | |
| US8707267B1 (en) | Debugging a computer program by interrupting program execution in response to access of unused I/O port | |
| TWI884076B (en) | Real-time active firmware debug method and device under test | |
| US20060161818A1 (en) | On-chip hardware debug support units utilizing multiple asynchronous clocks | |
| EP1184790A2 (en) | Trace cache for a microprocessor-based device | |
| US8010774B2 (en) | Breakpointing on register access events or I/O port access events | |
| US5287522A (en) | External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip | |
| US5991899A (en) | Method and apparatus for a real-time diagnostic tool using a non-intrusive trace technique |