1505901474lect37 (1
1505901474lect37 (1
1505901474lect37 (1
In this module we will discuss about the debuggers and its tools. Simulator, Emulator and
In-circuit emulators used in embedded system development will also be discussed. At the
end emulator hardware will be discussed.
1. Debugger
A Debugger or debugging tool is a computer program that is used to test and debug other
programs. The code to be examined should be running on an instruction set simulator to
identify the fault in the code because the software problem cannot be identified when we
are running it on the original hardware. The debugger can be used to identify if the
program is running correctly, and identify the cause of failure when it fails. The debugger
may be a source-level debugger, or a low-level debugger. If it is a source-level debugger,
the debugger can show the actual position in the original code, when the program
crashes. If it is a low-level debugger or a machine-language debugger, it shows that line
in the program. Catching run-time errors is not as obvious. Most embedded systems do
not have a “screen”. Hence we cannot find the run time errors as in general software
development.
A circuit for emulating target system remains independent of a particular targeted system
and processor.
Figure.3 In Circuit Emulator(ICE) Diagram
Figure.3 shows an In Circuit Emulator(ICE) Diagram. ICE interfaces the COM port of a
computer. It emulates target Microcontroller(MCU) IOs. The ICE socket connects MCU
externally. It uses computer developed object files and hex files for the MCU. It uses
debugger at the computer developed files for the MCU application.
2.1.1 Hardware
Many hardware emulators are available in the field of development of embedded systems.
In this module we will see ‘Net ROM’ as an example of hardware emulator(figure 4).
4. Summary
In this module we discussed about Debugging and its tools. Emulator and In-Circuit-
Emulator(ICE) have been explained with their merits and demerits. An Emulator
Hardware example, NetROM, is discussed at the end.
5. References
1. Arnold S. Berger,” Embedded Systems Design: An Introduction to Processes,
Tools, and Techniques”, CMP books, 2002.
2. Michael Barr, Ambony massa, ”Programming Embedded Systems, Second Edition
with C and GNU Development Tools”, second edition, O’REILLY publications,
2006.
3. Raj Kamal, Publication: McGraw-Hill, "Embedded Systems -
Architecture,Programming and Design“,Second edition, 2008.