Debugging Embedded Linux with Guardian-SE and Agile-DB

This section contains information to help you debug the embedded Linux kernel with Agile-DB. If you are interested in debugging installable modules, please refer to the 
section entitled: “DEBUG LINUX-LOADABLE MODULES AND DEVICE DRIVERS”.

 

General Principles

Debugging the Linux kernel requires that the debug environment is aware of the MMU translation scheme used by the Linux kernel.  The GUARDIAN-SE and Agile-DB are fully aware of Linux MMU translation.  To debug the Linux kernel:

 

  • Make sure that MMU translation is turned on in your initialization (.DEF) file.
  • Build the Linux kernel with debug symbols enabled. (Use the “-g” switch in your make file)
  • Build the Linux kernel with pipelining disabled.(Use the “-fno-schedule-insns -fno-schedule-insns2” switch in your make file)

 

Steps to Follow

Once you have verified these changes, you are ready to begin debugging. At this point use a boot loader (U-BOOT is used in this example) to load the kernel to your target and start it running.  Here are the typical steps you should follow:

 

  1. Start a Minicom session or Windows Hyper Terminal (serial link to your target)
  2. Start Agile-DB
  3. Load an Agile-DB configuration that:

 

    • loads kernel symbols only (example: vmlinux.elf).
    • connects to your target and lets you load symbols manually via Load command in the File menu (vmlinux.elf for example)

 

  1. Verify you have symbol information in the Agile-DB Function Browser window by selecting a kernel module and after pressing the right mouse button select and select Show this function (“start_kernel” is a good example to use)

 

  1. Use the Right Mouse menu to set a hardware break point in “start_kernel
  2. Reset and start your target running from within Agile-DB
  3. Verify that your target monitor is up and running
  4. Load the Linux kernel from your monitor
  5. Once Linux is up and running, the kernel stops at the breakpoint and program execution is halted
  6. Source code for “start_kernel” is displayed in an Agile-DB source window

 



Please follow the links below for more information:
»Agile-DB Introduction
»Guardian-SE Introduction
»Open Source Tools Support Introduction
»Agile-Utils Introduction
»Product Overview Datasheet (PDF)

   

 

»Visit the Products Page

 

Speak with an Engineer:

Toll Free: 800-286-9576

Outside the US: 978-263-9768

Products

»Embedded Tools Introduction

 

»Agile-DB Introduction

 
»Guardian-SE Introduction

 
»Agile-Utils Introduction 

 

»Open Source Tools  with Guardian-SE JTAG Emulation

  

Processor Support

 

»AMCC PowerPC Debug Tools

 
»Freescale Debug Tools

 

»IBM PowerPC Debug Tools

 
»Intel XScale Debug Tools

 
»ARM Debug Tools

 

»MIPS Debug Tools

 

»Complete Processor List

 

Technology

»JTAG Emulators

»Hardware Board Bring-Up

»Boot Loader (U-Boot) Debug

»Embedded LINUX Debug

»C/C++ Source Level Debug

»JTAG FLASH Programming

»Manufacturing Test Support

»Evaluation Kits Supported

»»JTAG Connector Pin Outs
»Supported FLASH Devices

»Multi-Processor Debug Tools

» Using an RTOS?

»How to Use GDB with JTAG Emulation

   

















 

HOME | company | news | products | support | partners | sales | contact

© 2002-2005 Embedded ToolSmiths. All rights reserved.