Adaptation/GUID-BC0936D7-7064-447D-83EF-68C65CF3D1B0.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-BC0936D7-7064-447D-83EF-68C65CF3D1B0" xml:lang="en"><title> On-Target
Debugging</title><shortdesc>This document describes how to build a device driver to enable
stop mode debugging.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-664F0388-0A89-476F-B784-57E956C07779">       <title> On-target
debugging</title>       <p>Device Driver debugging is similar to kernel-mode
debugging, as drivers run as part of the Kernel. Debug versions of the drivers
can be debugged using debug tools such as Lauterbach through a JTAG interface
or an IDE. Other debug tools such as Metro TRK can also be used. </p> <p>Most
of the hardware platforms supported by Symbian platform are ICE-enabled. Kernel
developers and those porting the operating system to new hardware often have
access to development boards exposing the JTAG interface, which allows the
use of CPU-level debuggers. Using a host PC debugger, such as Carbide.c++
or CodeWarrior configured for remote debugging, a debug ROM image (including
drivers) can be downloaded to the target and debugged over a JTAG interface. </p> <p>For
debugging, debug versions drivers are built, and the ROM image is built to
include the kernel debug DLL, which enables kernel-side (stop mode) debugging.
This is done by using the <codeph>STOP_MODE_DEBUGGING</codeph> flag while
building the ROM image. For example: </p> <p><userinput>rom –v=h4hrp –I=armv5
–define=STOP_MODE_DEBUGGING</userinput> </p> <p>This includes the kernel extension <filepath>kdebug.dll</filepath> in
the ROM image, which provides a stop mode debugger API. </p> <p>When the ROM
image is downloaded to the target, the system boots up and the Kernel or driver
can be debugged using the host based IDE interface. Code can be stepped through
and halted, and memory on the target can be viewed. </p> <p>Symbian also provide
a debug monitor (sometimes called the crash debugger) to provide information
on Kernel crashes. See <xref href="GUID-26714A57-B6B4-5E81-B512-FB520718482B.dita">Debug
Monitor Tool</xref> for more details. </p>     </section>
</conbody></concept>