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 ==
  • Good C, embedded and Linux knowledge. We really encourage you to participate to the workshop even your skills are not so strong. 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).


To register for this workshop, please send an e-mail to with next information (can be also written in Romanian, is not mandatory to fill it in English)

  • name
  • e-mail address
  • phone number
  • Faculty, year, specialization
  • Why do you want to participate to this workshop
  • From 1 to 10 what is your C, Embedded and Linux experience (u-boot, kernel, user space) level ? (need answer for each item)

Please try to just be yourself and provide honest and simple answers. We want to get a better idea about what you already know and what you would like to learn, but also to polish the last details of the training materials according to your requirements and preference. For any questions regarding this workshop, please feel free to contact the trainer.

Registration is now open.


Codrut-Cristian Grosu
Tudor Emil Coman
Alexandru Rebega
Adrian Nicolau
Mihai Parvu
Mihaela Gaman
Andrei Frincu


Marius Grigoras

sesiuni/advanced-debug-techniques.txt · Last modified: 2015/09/16 09:46 by mgrigoras