CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

Debugging of embedded Linux applications on ARM9/ARM11 processors



Embedded Europe
In addition to the debugging of kernel routines or driver modules by means of break points, the display of information of currently started processes, services or kernel threads is also possible.

In addition to the debugging of kernel routines or driver modules by means of break points, the display of information of currently started processes, services or kernel threads is also possible.

In the overview in figure 5, not only are all process names displayed, but also information such as the current running condition, the dynamic and static priority respectively, process flags, the current assigned processor time (time slice) or the virtual address of the page, which contains the displayed application, are shown. The level of detail can be adjusted.

Fig 5: With freeze-mode debugging, UDE enables the developer to get a quick overview of all main parameters of the processes To see a bigger version of this graphic click here.

Incidentally, by the use of a special JTAG I/O driver, process information can not only be evaluated and analyzed in the halted state, but also in the running operation. This driver can be downloaded as module or integrated as built-in driver in the kernel.

The performance of the target is thereby only slightly influenced. In addition to the displaying of processes, the debugging of applications is also possible. After an application has been started, the debugger automatically recognizes this and halts the system depending on configuration during entry in the "main" routine. From there, a stepping as with execution-mode debugging is possible. A debugging of applications that have already been started is also allowed. The desired application to this is selected from the process list.

Integrated terminal window

Via the SimIO window, which is integrated in the debug tool, a terminal window with a minimum shell (ash) is available during the debug session (figure 6). By means of this shell, for example, applications can be started and kernel module drivers loaded or removed. Debug outputs from driver modules or applications are also displayed in this terminal window. Depending on configuration of the Linux kernel, kernel oops/OOMs or kernel back traces can also be shown in the terminal window. Since the terminal connection with freeze-mode debugging takes place via the JTAG channel, no additional connection to the target system is necessary.

Fig 6: Linux kernel debugging (freeze-mode) with terminal window in the Universal Debug Engine (UDE) To see a bigger version of this graphic click here.

1 | 2 | 3 | 4 | 5 | 6

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Looking for a new job?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS



TECH PAPER
TECH PAPER
WEBINAR
TECH PAPER




 :