Debugger
• It loads object code program into system memory, execute
program and troubleshoot or debug it.
• It allows to look at contents of registers and memory locations
after program runs and change it.
• It also allows to set breakpoint at any point in program.
• Program execution will stop in breakpoint itself.
Simulator
• It mimics the real world environment in virtual mode.
• Helpful in design and testing.
• Reduce the cost and duration in a project.
Hardware Development Tools
• Emulator
• In-circuit Emulator
• Logic analyzer
Emulator
• An emulator is a mixture of hardware and software.
- It is used to test and debug the hardware and software of an
external system, such as the prototype of a microprocessor
based instrument.
In-circuit emulator
• When software tools are insufficient to debug system, hardware aids can
be deployed.
• In-circuit emulator (ICE) is a specialized hardware tool that can help
debug software in a working embedded system.
• It allows to read internal registers of microprocessor when it is stopped.
• It provides with additional logic that allows user to specify breakpoints and
examine and modify the CPU state.
Logic Analyzer
• Think of a logic analyzer as an array of inexpensive oscilloscopes—the analyzer can
sample many different signals simultaneously (tens to hundreds) but can display only 0,
1, or changing values for each.
• All these logic analysis channels can be connected to the system to record the activity
on many signals simultaneously.
• It records the values on the signals into an internal memory and then displays the results
on a display once the memory is full or the run is aborted.
• It can capture thousands or even millions of samples of data on all of these channels,
providing a much larger time window into the operation of the machine than is possible
with a conventional oscilloscope.
Logic Analyzer
• A typical logic analyzer can acquire data in either of two modes that are
typically called state and timing modes.
• The measurement resolution on each signal is reduced in both voltage
and time dimensions.
• The reduced voltage resolution is accomplished by measuring logic
values (0, 1, x) rather than analog voltages.
• The reduction in timing resolution is accomplished by sampling the signal,
rather than capturing a continuous waveform as in an analog oscilloscope.
Logic Analyzer
• State and timing mode represent different ways of sampling the values.
• Timing mode uses an internal clock that is fast enough to take several samples per clock period in a
typical system.
• State mode, on the other hand, uses the system’s own clock to control sampling, so it samples each
signal only once per clock cycle.
• As a result, timing mode requires more memory to store a given number of system clock cycles.
• On the other hand, it provides greater resolution in the signal for detecting glitches.
• Timing mode is typically used for glitch-oriented debugging, while state mode is used for sequentially
oriented problems.
Logic Analyzer
• The system’s data signals are sampled at a latch within the logic analyzer; the latch is
controlled by either the system clock or the internal logic analyzer sampling clock,
depending on whether the analyzer is being used in state or timing mode.
• Each sample is copied into a vector memory under the control of a state machine.
• The latch, timing circuitry, sample memory, and controller must be designed to run at high
speed because several samples per system clock cycle may be required in timing mode.
• After the sampling is complete, an embedded microprocessor takes over to control the
display of the data captured in the sample memory.
Logic Analyzer
• Logic analyzers typically provide a number of formats for viewing data.
• One format is a timing diagram format.
• Many logic analyzers allow not only customized displays, such as giving names to
signals, but also more advanced display options.
• For example, an inverse assembler can be used to turn vector values into
microprocessor instructions.
• The logic analyzer does not provide access to the internal state of the components,
but it does give a very good view of the externally visible signals. That information can
be used for both functional and timing debugging.
Logic Analyzer
samples
System
data