PARTNER-Jet Advanced Linux Debugging
It has been believed that it is very difficult for ICE to support logically multiplexed virtual spaces where the Linux applications are running. KMC has been working on this challenge and the PARTNER-Jet successfully cleared it.
*Required Linux option
You can debug virtually everything, from the Linux kernel to applications, using the PARTNER-Jet and the PARTNER with Linux support because it completely supports virtual spaces on MMU (Memory Management Unit.) It delivers the most powerful debugging features by providing hardware debugging thanks to the powerful JTAG ICE. You'll enjoy an experience almost like working on ITRON or OS-less environments.
The PARTNER-Jet can debug the Linux target without modifications to its kernel and applications. You can also enjoy more advanced debug features by applying some simple modifications to your kernel and/or applications.
For kernel debugging:
- Very fast downloading of your kernel image from the PARTNER-Jet.
- You can debug the XIP kernel.
For loadable module debugging:
- The PARTNER-Jet automatically recognizes the relocation information.
- Can automatically invoke the debugging on insmod.
- You can source-debug your original loadable modules not in the kernel source tree.
For applications and shared libraries debugging:
- Real-time trace analysis by process and/or by thread.
- Support debugging of XIP applications and prelink libraries.
- Has two modes in thread debugging, by threads or by binding all the threads in the target process.
- Can set hardware breakpoints by process or by thread.
- Can debug processes using the PARTNER-Jet without halting the kernel and the other process(es).
- Can attach running application from the PARTNER debugger.
- Can debug process' startup part before main().
For all Linux debugging:
Can debug directly from the PARTNER-Jet for cases in the following table:
| Type of programs |
Memory space |
Address |
Paging |
Support for debugging |
Boot loader |
Non MMU space |
Fixed address |
nothing |
Same as ordinary embedded debugging |
| Kernel |
Non multiplexed kernel space on MMU |
Fixed address |
almost nothing |
Almost same as ordinary embedded debugging |
Loadable module
|
Non multiplexed kernel space on MMU
|
Relocatable |
Ondemand paging |
Requires resolving relocation and support for paging |
| Application |
Logical multiplexed virtual space on MMU |
Fixed |
Ondemand paging
|
Requires logical multiplexed virtual space, and support for paging |
Shared library |
Logical multiplexed virtual space on MMU |
Relocatable |
Ondemand paging |
Requires resolving relocation, logical multiplexed virtual space, and support for paging |
As shown above, debugging the Linux using ICE requires to support demand paging, relocatable format, and virtual space using MMU. The PARTNER-Jet supports all the required features shown above and it is the perfect debugging environment for Linux. It has been believed very difficult for ICE to support logically multiplexed virtual spaces where the Linux applications are running. KMC has been working on this challenge and the PARTNER-Jet successfully cleared it.
Note: Debugging Linux requires a PARTNER-Jet and an optional 'Linux support pack (software and manual)'. Contact us (
en-info@kmckk.co.jp) for the price and software licensing.
Compatible kernel versions
kernel 2.4 and 2.6 series
Distributions
MontaVista PRO, CEE, PREVIEW-KIT, Lineo uLinux, TimeSys Linux, axLinux, etc.
Supported target CPUs
ARM, MIPS, SH
The PARTNER-AP/Linux is a remote debugger which works via network. It uses ptrace() system call to invoke the 'ptsvr' debug daemon. It is extremely easy to use because it's a software-only debugger. It requires the 'ptsvr' debug daemon work on the target system and this does not allow you to debug the kernel. It supports spawning child processes using fork() or generating threads using pthread_create() and can automatically debug newly spawned child processes and threads. It also provides advanced features in multiple-threads debugging. You can debug multiple-threads by threads or by binding all the threads in the target process. You can also debug XIP applications and use hardware breakpoints if the target kernel supports them.
* This software is volume license only. Contact us (
en-info@kmckk.co.jp) for supported CPUs and software licensing.
KMC, the KMC logo, PARTNER, PARTNER-Jet, PARTNER-JetM, exeGCC, JTAG-Ether, and Eclipse for PARTNER Cross DevKit are trademarks of Kyoto Microcomputer Co., Ltd. Product and company names mentioned herein may be trademarks of their respective companies. Product specifications are subject to change without notice. This material is provided for informational purposes only; KMC assumes no liability related to its use.