Q: What is JTAG?
A: This is a standardized high-speed serial interface,
IEEE 1149, widely used for programming and debugging programmable logic and processors.
It is non-intrusive, runs regardless of the state of the processor, and gives access to
processor registers, memory, and other resources.
Q: What is TAP Controller?
A: The TAP controller provides access to many of the test
support functions built into the JTAG-compliant device. The TAP is a state machine.
The state machine controls all operations for one JTAG-compliant device.
Each JTAG-compliant device has its own TAP controller. You can sequence through the state
machine functions via the TCK and TMS inputs.
Q: What is EmbeddedICE?
A: EmbeddedICE is an extension to the core architecture
and provides the ability to do in-circuit-emulation with deeply embedded cores.
The EmbeddedICE macrocell, adds a JTAG TAP controller and breakpoint/watchpoint logic
to the ARM microcontroller which can be accessed externally through a JTAG port.
Hence, software debug is facilitated by interfacing these JTAG pins of the micro to
the host development system containing the ARM software development tools through a
JTAG interface device such as PEEDI.
Q: What is PEEDI?
A: The PEEDI (Powerful Embedded Ethernet Debug Interface)
is a debugging and development tool that provides the user the ability to see what is
taking place in the target system, and control its behavior. The PEEDI probe provides
the debug services that the debugger uses to perform debug operations. It receives
command packets over the communication link, and translates them into the JTAG operations
that are needed to provide the specific service. First, it can control the operation of
the target processor and target system. What does it mean to "control" the target?
In most cases it means to start and stop the processor's execution of instructions at
arbitrary points in a program, examine and store values in the processor's registers,
and examine and store program code or data in the target system's memory.
Q: What is debugging?
A: Debugging is the process of removing bugs from
computer programs. On one end of the spectrum, debugging means staring at your source
code until you see the bug. An infinitely more effective method is to use a special
program called a "debugger".
Q: What is a debugger?
A: A debugger is a program that runs other programs.
A debugger lets the user (programmer) stop running the program at any time and
poke around internally. You can examine and change memory contents, call
functions, and look at system registers. Besides all these fun things, a debugger
can be used to fix your programs.
Q: How to set gdb to work with PEEDI?
A: First compiled your application with the '-g -O0'
option to enable debugging. Next start gdb pointing your application:
$ arm-elf-insight myapp
To connect to the target (assuming that you PEEDI is set to use IP 192.168.1.10) type
in the console window:
(gdb) target remote 192.168.1.10:2000
This will tell GDB to connect to PEEDI using remote protocol. Now you can load your
application into targets memory like this:
And your application is ready for debugging:
(gdb) continue –
start the application
(gdb) si –
make single step
Q: What is Eclipse?
A: The Eclipse IDE
is a complete integrated development platform similar to Microsoft's Visual Studio.
Originally developed by IBM, it has been donated to the Open-Source community and
is now a massive world-wide Open-Source development project.
Q: What is Cygwin?
is a free Linux-like environment for Windows. It works on all Windows 32-bit
OS versions since Windows 95 except Windows CE. Cygwin is not a way to run
native Linux apps on Windows. Applications must be rebuilt from source code
to get it running on Windows.
Q: What is Cygwin/X?
is a port of the X Window System to the Microsoft Windows family of operating systems.
Cygwin/X runs on all recent consumer and business versions of Windows;
as of 2003-12-27 those versions are specifically Windows 95, Windows 98, Windows Me,
Windows NT 4.0, Windows 2000, Windows XP, and Windows Server 2003.
For more information see http://x.cygwin.com
Q: What are GNU cross-development tools?
A: A toolchain is a collection of software tools used
for the development and building of software for a particular target architecture.
The GNU toolkit consists of the following software utilities:
GCC - an ANSI C compiler
G++ - an ANSI tracking C++ compiler
GDB - source and assembly language command line debugger
GAS - GNU assembler
LD - GNU linker
Insight - a graphical user interface for GDB For more information see http://www.gnu.org
Q: How to enter RedBoot command line?
A: First restart PEEDI holding front panel
buttons pressed, this way RedBoot will not execute its boot script and the
main PEEDI application will not be loaded. Then you can access the command
line via the RS232 port using suitable terminal application capable of opening
the serial PC RS232 port or via telnet connecting to the port specified by the
Q: How to update PEEDI firmware?
A: See “Firmware update procedure”
Q: How to set target configuration file path?
A: Enter RedBoot command line and use either
fconfig or config commands. Example:
Q: How to set the network configuration of PEEDI?
A: Enter RedBoot command line and use