This is an old revision of the document!

An Introduction to Advanced Debug Techniques for Linux SDK

When and where


17 September 2015, 18 September 2015, 18:00 - 20:00




Advanced debugging techniques became nowadays an important aspect when comes to high-end processors and communication between various entities. Over the last years Linux support for embedded systems is continuously evolving in terms of capabilities and support for different processors and platforms. Linux Kernel development must handle every processor specification details and accommodate different hardware platforms. Thus there is an increasing developing effort in the kernel space area and this should be accordingly sustained by the development and debugging tools suite. The new Code Warrior for ARMv8 product is designed having in mind to extend and improve Linux Kernel Awareness features portfolio and also to simplify user experience when debugging Linux Kernel.

We intend to introduce you to the world of debugging and related tools by using CodeWarrior and gdb as a case study.

At the end of this workshop, you will know:

  • How debuggers in general work
  • What are the current debug possibilities (advantages and limitations)
  • How to debug an application using hardware and software capabilities
  • How to debug a bare-metal application (without OS support)
  • How to debug the Linux SDK on every phase (u-boot, linux kernel, linux user-space)



  • What is a breakpoint
  • How a debugger works
  • What are the current debug possibilities (advantages and limitations)
  • CodeWarrior and gdb

Bare-metal debug

  • How we can debug a bare-metal application without OS support
  • U-boot debug, stages & awareness

Linux kernel debug

  • How to prepare the linux for debug support
  • Linux kernel debug, stages & awareness
  • Linux module debug
  • Tips and Tricks

Linux user-space debug

  • Requirements
  • Features supported in CodeWarrior == Prerequisites ==
  • Basic C, embedded and Linux knowledge. We really encourage you to participate to the workshop. We'll try to explain from the very basics (what a breakpoint is and how can be implemented) to how can be a linux kernel debugged real time (i.e. when a linux module is inserted).



Marius Grigoras

sesiuni/advanced-debug-techniques.1441785804.txt.gz · Last modified: 2015/09/09 11:03 by mgrigoras