DE102006023628A1 - Embedded system testing method, involves generating and storing instruction or data till receiving command for transmission of buffer contents to emulator, and transmitting contents to emulator for testing embedded system using interface - Google Patents
Embedded system testing method, involves generating and storing instruction or data till receiving command for transmission of buffer contents to emulator, and transmitting contents to emulator for testing embedded system using interface Download PDFInfo
- Publication number
- DE102006023628A1 DE102006023628A1 DE200610023628 DE102006023628A DE102006023628A1 DE 102006023628 A1 DE102006023628 A1 DE 102006023628A1 DE 200610023628 DE200610023628 DE 200610023628 DE 102006023628 A DE102006023628 A DE 102006023628A DE 102006023628 A1 DE102006023628 A1 DE 102006023628A1
- Authority
- DE
- Germany
- Prior art keywords
- emulator
- embedded system
- buffer
- data
- host computer
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318566—Comparators; Diagnosing the device under test
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Testen eines eingebetteten Systems mittels eines Host-Computers.The The present invention relates to a method of testing an embedded one System by means of a host computer.
Hintergrund der ErfindungBackground of the invention
Da eingebettete Systeme nicht über die üblichen Mensch-Maschine-Schnittstellen verfügen, werden zum Testen und Debuggen solcher Systeme spezielle Schnittstellen geschaffen. Dazu dienen beispielsweise Emulatoren. Durch einen Emulator können Daten und Programme in das eingebettete System geladen sowie die Funktionen des Prozessors gesteuert und damit getestet werden. Beispielsweise kann ein Emulator den Prozessor anhalten und wieder starten, oder den Inhalt von Registern des Prozessors oder anderen mit dem Prozessor verbundenen Speichern verändern.There embedded systems do not over the usual Human-machine interfaces dispose of special interfaces for testing and debugging such systems created. For example, serve emulators. Through an emulator can Data and programs loaded into the embedded system as well as the Functions of the processor are controlled and thus tested. For example, can an emulator pause and restart the processor, or the Content of registers of the processor or other with the processor change connected memories.
Für ein "Debugging" (Fehlersuchen) eingebetteter Systeme werden insbesondere sogenannte JTAG-Emulatoren verwendet. JTAG steht für "Joint Test Action Group" und bezeichnet üblicherweise den IEEE-Standard 1149.1, der ein Verfahren zum Debugging von integrierten Schaltkreisen mittels "Boundary Scan" beschreibt. Ein JTAG-Emulator ermöglicht es einem Programmierer auf ein mittels JTAG in dem eingebetteten System integrierten Fehlersuchmodul ("debug module") zuzugreifen, um das Debugging durchzuführen.For a "debugging" embedded Systems are used in particular so-called JTAG emulators. JTAG stands for "Joint Test Action Group "and usually refers to IEEE Standard 1149.1, which is a method for debugging integrated Circuits using "Boundary Scan "describes. A JTAG emulator allows It's a programmer on a JTAG embedded in the System debug module to access debugging.
JTAG-Emulatoren verfügen über eine JTAG-Schnittstelle, die einen Zugriff auf das eingebettete System (nachfolgend Zielhardware genannt) mittels eines Host-Computers ermöglicht. JTAG-Emulatoren dienen dabei als Konverter zwischen der USB oder Ethernet-Schnittstelle des Host-Computers und dem JTAG-Port der Zielhardware.JTAG Emulators have a JTAG interface, providing access to the embedded system (hereafter called target hardware called) by means of a host computer allows. JTAG emulators serve as a converter between the USB or Ethernet interface the host computer and the JTAG port of the target hardware.
JTAG-Schnittstellen bestehen aus fünf Steuerleitungen:
- • Test Data Input (TDI)
- • Test Data Output (TDO)
- • Test ClocK (TCK)
- • Test Mode Select Input (TMS)
- • Test ReSeT (TRST)
- • Test Data Input (TDI)
- • Test Data Output (TDO)
- • Test ClocK (TCK)
- • Test Mode Select Input (TMS)
- • Test ReSeT (TRST)
Die Geschwindigkeit des Datendurchsatzes zwischen dem Host-Computer und der Zielhardware ist dabei insbesondere von drei Faktoren abhängig:
- 1. Der Geschwindigkeit der USB oder Ethernetverbindung zwischen dem Host-Computer und dem Emulator,
- 2. der Geschwindigkeit der JTAG-Verbindung zwischen dem Emulator und der Zielhardware, und
- 3. der Latenzzeit der Verbindung zwischen dem Host-Computer und dem Emulator.
- 1. The speed of the USB or Ethernet connection between the host computer and the emulator,
- 2. The speed of the JTAG connection between the emulator and the target hardware, and
- 3. The latency of the connection between the host computer and the emulator.
Je kleiner die einzelnen Transaktionen zwischen dem Host-Computer und dem Emulator sind, desto größer ist der Einfluss der Latenzzeit. In der Praxis liegt die Latenzzeit einer Datenübertragung – abhängig von der verwendeten Hardware und dem verwendetem Treiber – etwa bei einer Millisekunde. Dadurch ergeben sich eine unnötig langsame Verarbeitungszeit und, unter Umständen, Probleme bei der Reaktion auf zeitkritische Abläufe.ever smaller the individual transactions between the host computer and the emulator are, the bigger the influence of latency. In practice, the latency is a data transfer - depending on the hardware used and the driver used - for example one millisecond. This results in an unnecessarily slow Processing time and, under certain circumstances, problems with the reaction on time-critical processes.
Aufgabe der Erfindung ist es, die Nachteile des Standes der Technik zumindest abzumindern. Insbesondere ist es eine Aufgabe der Erfindung, die Geschwindigkeit des Datendurchsatzes zwischen Host-Computer und Zielhardware beim Debugging eingebetteter Systeme zu erhöhen.task The invention is at least the disadvantages of the prior art mitigate. In particular, it is an object of the invention, the speed the data throughput between the host computer and the target hardware To increase debugging of embedded systems.
Kurzdarstellung der ErfindungBrief description of the invention
Diese Aufgabe wird durch die in den unabhängigen Ansprüchen definierte Erfindung gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.These The object is defined by the features defined in the independent claims Invention solved. advantageous Embodiments of the invention are specified in the subclaims.
Erfindungsgemäß ist ein Verfahren geschaffen zum Testen eines eingebetteten Systems mittels eines durch einen Host-Computer steuerbaren Emulators, mit folgenden Schritten: (a) Erzeugen einer Instruktion und/oder von Daten mittels des Host-Computers, die für einen Test des eingebetteten Systems zur Übertragung an den Emulator bestimmt sind; (b) Speichern der Instruktion und/oder Daten in einem Puffer des Host-Computers; (c) mehrmaliges Wiederholen der Schritte (a) und (b) bis zum Erhalt eines Befehles zur Übertragung des Pufferinhalts an den Emulator; und (d) Übertragen des Pufferinhalts an den Emulator zum Testen des eingebetteten Systems durch den Host-Computer.According to the invention is a Method for testing an embedded system by means of a by a host computer controllable emulator, with the following steps: (a) generating an instruction and / or data by means of the host computer, the for a test of the embedded system for transmission to the emulator are determined; (b) storing the instruction and / or data in a buffer the host computer; (c) repeating steps (a) several times and (b) until receipt of an instruction to transfer the buffer contents to the emulator; and (d) transmitting the buffer contents to the emulator for testing the embedded system through the host computer.
Der Emulator wird beispielsweise durch einen JTAG-Emulator gebildet.Of the Emulator is formed for example by a JTAG emulator.
Der Grundgedanke der Erfindung besteht in der Zwischenspeicherung von Daten (Instruktionen), die von dem Host-Computer zum Debugging eines eingebetteten Systems zu der Zielhardware übertragen werden sollen, auf dem Host-Computer. Eine Übertragung der zwischengespeicherten Daten findet erst dann statt, wenn diese tatsächlich erforderlich ist. Dies ist bei einem Lesezugriff sowie bei einem Übertragungsbefehl durch einen Benutzer/ein Anwendungsprogramm der Fall.Of the The basic idea of the invention is the intermediate storage of Data (instructions) used by the host computer to debug an embedded Transfer system to the target hardware should be on the host computer. A transfer of the cached Data only takes place when it is actually required. This is in a read access as well as a transfer command by a User / application program the case.
Demnach werden einzelne Datenübertragungen zusammengefasst und so die Anzahl der notwendigen Datenübertragungen reduziert. Da die Zeit für die Übertragung und damit Verarbeitung von Daten hauptsächlich von der Verzögerung einzelner Übertragungen durch die Schnittstelle zwischen dem Host-Computer und dem Emulator (beispielsweise eine USB-Schnittstelle) abhängt, wird die Verarbeitungszeit durch die Zusammenfassung von Übertragungen reduziert. Mit anderen Worten: Das Übertragen von Daten von Host zu Target oder umgekehrt – und damit beispielsweise ein Debugging oder die Programmierung des Zielsystems – kann um so schneller erfolgen, je geringer die Anzahl der Einzelübertragungen zwischen Host und Ziel ist.Accordingly, individual data transfers are combined, thus reducing the number of necessary data transfers. Since the time for transfer and thus processing of data is mainly due to the delay of individual transfers through the interface between the host computer and the emulator (e.g. a USB interface), processing time is reduced by combining transmissions. In other words, transferring data from host to target or vice versa - such as debugging or programming the target system - can be faster, the smaller the number of individual transmissions between host and target.
In einer bevorzugten Ausgestaltung der Erfindung wird Schritt (d) automatisch durchgeführt nach Ablauf einer vorbestimmten Zeit, oder wenn innerhalb einer vorbestimmten Zeitspanne keine weiteren Daten in den Puffer geschrieben werden. Insbesondere kann Schritt (d) in einem separaten Ausführungsstrang (Thread) durchgeführt werden. Dadurch kann eine Automatisierung und Synchronisierung der Datenübertragung zwischen Host und Emulator hergestellt werden; zudem kann eine gewisse maximale Verzögerungszeit zwischen Speichern der Daten im Puffer und Übertragung an den Emulator garantiert werden.In In a preferred embodiment of the invention, step (d) becomes automatic performed after Expiration of a predetermined time, or if within a predetermined time Period no further data is written to the buffer. In particular, step (d) may be in a separate thread (Thread) performed become. This allows automation and synchronization of data transmission produced between host and emulator; In addition, a certain maximum delay time between saving the data in the buffer and transferring it to the emulator be guaranteed.
In einer weitere vorteilhaften Ausgestaltung wird zur Durchführung des Schrittes (d) mindestens eine Hardwareeinheit vorgesehen, insbesondere ein Serial Peripheral Interface (SPI). Dadurch wird eine hohe und konstante Datenübertragungssicherheit sichergestellt. Außerdem wird durch die einhergehende Entlastung des Emulators ein höherer Datendurchsatz möglich.In a further advantageous embodiment is to carry out the Step (d) at least one hardware unit provided, in particular a Serial Peripheral Interface (SPI). This will be a high and constant data transmission security ensured. Furthermore Due to the concomitant discharge of the emulator, a higher data throughput is achieved possible.
In einer weiteren bevorzugten Ausgestaltung wird der Pufferinhalt vor Durchführung des Schrittes (d) aufgefüllt, so dass die darin gespeicherte Datenmenge ein Ein- oder Vielfaches eines Bytes ist. Für den Fall, dass die Hardwareeinheit nur ganze Bytes übertragen kann, kann die Datenübertragung somit vollständig durch die Hardwareeinheit erfolgen. Durch dieses Merkmal wird erreicht, dass nicht nur ein Teil der Datenmenge mittels der Hardwareeinheit übertragen werden kann (nämlich komplette Bytes), während ein Rest mittels Software übertragen werden muss (verbleibende Bits). Beträgt die Datenmenge beispielsweise 84 bits, so würde ohne ein Auffüllen des Pufferinhalts 10 Bytes (80 bit) mittels der Hardwareeinheit, und die verbleibenden 4 bits per Software übertragen werden. Durch die Auffüllung des Pufferinhalts wird erreicht, dass 11 komplette Bytes durch die Hardwareeinheit übertragen werden können; eine Übertragung mittels Software ist nicht mehr erforderlich.In In another preferred embodiment, the buffer contents are present execution filled in step (d), so that the amount of data stored therein one or more times of a byte. For the If the hardware unit can transmit only whole bytes, the data transmission can thus complete done by the hardware unit. By this feature is achieved that not only a part of the data volume is transmitted by means of the hardware unit can be (namely complete bytes) while a remainder transferred by software must be (remaining bits). For example, is the amount of data 84 bits, so would without a padding the buffer contents 10 bytes (80 bits) by means of the hardware unit, and the remaining 4 bits are transferred via software. By the Replenishment of the Buffer content is achieved by transferring 11 full bytes through the hardware unit can be; a transmission using software is no longer necessary.
Kurzbeschreibung der FigurenBrief description of the figures
Ausführungsbeispiele der Erfindung werden nun anhand der Figuren erläutert. Es zeigen:embodiments The invention will now be explained with reference to FIGS. Show it:
die
Detaillierte Beschreibung der FigurenDetailed description the figures
Liegt
ein solcher Befehl vor, so werden die zwischengespeicherten Daten
(TDI, TMS) in einem Schritt
In
Schritt
Die
Die
Die
Beim Schreiben von Instruktionen in die Ausgangspuffer werden die Speicherposition der Daten in den Puffern ebenfalls festgehalten. Dadurch können die Nutzdaten, die als Reaktion auf eine Datenübertragung in den Eingangspuffer geschrieben werden, den entsprechenden Instruktionen zugeordnet werden.At the Writing instructions to the output buffers will become the memory location the data in the buffers also recorded. This allows the Payload that is in response to data transfer to the input buffer be written to the corresponding instructions.
Weitere AusgestaltungenFurther embodiments
Es ist anzumerken, dass die oben beschriebenen Ausgestaltungen lediglich beispielhafter Natur sind und die Erfindung weitere Ausgestaltungen innerhalb des durch die Ansprüche bestimmten Schutzumfanges umfasst.It It should be noted that the embodiments described above only exemplary nature and the invention further embodiments within the claims certain scope of protection.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200610023628 DE102006023628A1 (en) | 2006-05-19 | 2006-05-19 | Embedded system testing method, involves generating and storing instruction or data till receiving command for transmission of buffer contents to emulator, and transmitting contents to emulator for testing embedded system using interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200610023628 DE102006023628A1 (en) | 2006-05-19 | 2006-05-19 | Embedded system testing method, involves generating and storing instruction or data till receiving command for transmission of buffer contents to emulator, and transmitting contents to emulator for testing embedded system using interface |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102006023628A1 true DE102006023628A1 (en) | 2007-11-22 |
Family
ID=38608033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200610023628 Withdrawn DE102006023628A1 (en) | 2006-05-19 | 2006-05-19 | Embedded system testing method, involves generating and storing instruction or data till receiving command for transmission of buffer contents to emulator, and transmitting contents to emulator for testing embedded system using interface |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102006023628A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1367489A1 (en) * | 2002-05-31 | 2003-12-03 | Ashling Research Limited | A microprocessor development system |
US6754856B2 (en) * | 1999-12-23 | 2004-06-22 | Stmicroelectronics S.A. | Memory access debug facility |
US6775793B2 (en) * | 1999-12-21 | 2004-08-10 | Texas Instruments Incorporated | Data exchange system and method for processors |
US20050216895A1 (en) * | 2004-03-23 | 2005-09-29 | Tran Hieu T | Method and apparatus for remote debugging of kernel and application software |
-
2006
- 2006-05-19 DE DE200610023628 patent/DE102006023628A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775793B2 (en) * | 1999-12-21 | 2004-08-10 | Texas Instruments Incorporated | Data exchange system and method for processors |
US6754856B2 (en) * | 1999-12-23 | 2004-06-22 | Stmicroelectronics S.A. | Memory access debug facility |
EP1367489A1 (en) * | 2002-05-31 | 2003-12-03 | Ashling Research Limited | A microprocessor development system |
US20050216895A1 (en) * | 2004-03-23 | 2005-09-29 | Tran Hieu T | Method and apparatus for remote debugging of kernel and application software |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1720100B1 (en) | Method and apparatus for emulating a programmable unit | |
DE69317149T2 (en) | Microcomputer with command memory for commands for reading out internal conditions | |
DE112020000036T5 (en) | AUTOMATED TEST DEVICE FOR TESTING ONE OR MORE TEST OBJECTS, METHOD FOR AUTOMATED TESTING OF ONE OR MORE TEST OBJECTS AND COMPUTER PROGRAM USING A BUFFER MEMORY | |
DE69414985T2 (en) | Branch decision coding | |
DE69127992T2 (en) | Microprocessor for inserting a bus cycle to provide information for an emulation | |
DE3751356T2 (en) | Information processing system. | |
DE69705813T2 (en) | Diagnostic system and method for an integrated semiconductor circuit | |
DE69706271T2 (en) | Integrated computer with command tracking | |
DE4313594A1 (en) | microprocessor | |
DE4305442C2 (en) | Method and device for generating a test vector | |
DE102004004796B4 (en) | Device for data transmission between memories | |
DE19834191C2 (en) | Integrated circuit device and its control method | |
DE60217157T2 (en) | METHOD AND DEVICE FOR BINDING SHADOW TABS TO VECTORIZED INTERRUPTS | |
CH654943A5 (en) | TESTING DEVICE FOR MICRO PROGRAMS. | |
DE69126756T2 (en) | Testable RAM architecture in a microprocessor with embedded cache memory | |
DE19831761A1 (en) | Integrated circuit with test mode | |
DE2657848A1 (en) | CONTROL UNIT FOR A DATA PROCESSING SYSTEM | |
DE102013113262B4 (en) | trigger routing unit | |
DE102005062537A1 (en) | Data transmission method for multi-memory chip, involves operating two memory units in synchronization with clock signals of external system, and directly providing data from one memory unit to other memory unit by data transmission bus | |
EP1565825A2 (en) | Device and method for analysing embedded systems | |
DE69714379T2 (en) | Integrated semiconductor memory device and communication method therefor | |
DE102006045124A1 (en) | Semiconductor memory chip e.g. dynamic random access memory chip, has data intermediate buffer and buffer failure evaluation/generation section, which are synchronously operable with synchronizing decoder clock signal | |
DE10136724A1 (en) | Trace control circuit | |
DE3209046A1 (en) | METHOD FOR CONTROLLING TERMINALS | |
DE102004026521A1 (en) | Dynamic RAM test device selects address of address pointer and pattern generator while generating back pattern after count of defective number of bits, for output to failed memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8139 | Disposal/non-payment of the annual fee |