•     •     •  

C166 emulator, Infineon c166 emulator, c166 emulators, c166 in circuit emulator, C166 emulator, Infineon Tricore emulator, c166 emulators, Tricore in circuit emulator, Tricore emulator, Signum embedded microcontroller development tools: in-circuit emulators, debuggers, compilers, assemblers, pods, and evaluation boards for the Infineon C166 and Tricore Tricore microprocessors.

Debugging Embedded Linux

Signum System's tools enable you to debug embedded Linux applications in several ways. Each of them has its positives and negatives and is picked depending on the development stage and user preferences. The most common methods are stop-mode debugging and run-mode debugging, both of which can be performed on either Windows hosts or Linux hosts.
 

Stop-Mode debugging  is the most popular way of debugging embedded system. In this mode a hardware or software breakpoint stops the entire application. This allows the engineers to examine a frozen state of the CPU and hardware system without any disturbance from interrupts or other tasks.

Run-Mode debugging is typically used on targets running multi-tasking OS, such as Linux. This type of debugging allows the user to set a breakpoint in an application (task) without stopping the OS or other active programs.

 


Linux Debugging on Windows Hosts

 

Stop-Mode Debugging

This method uses the JTAGjet emulator with Chameleon Debugger for ARM / Cortex, and allows debugging of Linux boot programs, kernel, drivers, loadable modules and applications in stop mode. This method is the preferred way of debugging a bare metal targets and for porting Linux to new boards.
Usage of any GDB debugger requires a Windows host GDBserver (from Signum Systems) to interface the GDB to the JTAGjet.
Signum provides ready to use scripts for popular Linux-based boards and CPUs. The list includes targets running Davinci & OMAP3 (TI), iMX2x, iMX5x (Freescale), S3C24x (Samsung), but in general any Linux running on any ARM9, ARM11, Cortex-A8, Cortex-A9 is supported.
Chameleon Debugger supports real-time trace (ETB and ETM) for more visibility into running drivers, kernels or applications.
With virtual serial port drivers and Ethernet, the only connection needed is a JTAG port. The system can even boot from an NFS mounted via JTAG.
GDBserver running on a Windows PC may be used for connecting to GDB based debuggers: GDB, Eclipse, DDD, Insight, and others.
Flasher-ARM-NAND utility allows high-speed flashing of NAND devices (boot loaders/ kernel and file system) via the JTAGjet. SPI and CFI NOR flashes are also supported.

Run-Mode Debugging

This method is recommended only when the hardware and the Linux system have been debugged and are running reliably.
Run-mode debugging of Linux applications requires the JTAGjet, Chameleon debugger, GDBserver and GDB debugger (user supplied). Chameleon Debugger is used for stop-mode kernel and driver debugging, while the GDB-based debugger is used for task-aware application debugging.
GDBserver runs on target and may be accessible via virtual Ethernet provided by Chameleon via JTAG.


Linux Debugging on Linux Hosts

 

Stop-Mode Debugging

This setup requires the JTAGjet, GDBserver and Linux USB driver (source) for connecting the JTAGjet to Linux hosts.

GDBserver (available form Signum) must be running on the Linux host for interfacing GDB type debuggers to JTAGjet.
The Flasher-ARM-NAND utility allows quick flashing NAND devices (boot loaders/ kernel and file system) via the JTAGjet. SPI and CFI NOR flashes are also supported.

 

Run-Mode Debugging

For Run-Mode debugging of Linux applications the GDB debugger needs to connect with GDBserver running on the target board. Target GDBserver is supplied with the Linux BSP and typically uses the Ethernet port for connection with the Linux host.

For target boards that do not have Ethernet port, Signum System supplies drivers that redirect the GDBserver communication channel from Ethernet to the JTAG port, as it is always available for debug use.

 
 



Hop to top