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