Files
slimbootloader.github.io/developer-guides/debugging-with-cca.html

458 lines
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Source Level Debugging with Intel(R) SVT CCA &mdash; Slim Bootloader 1.0 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/graphviz.css" type="text/css" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
<link rel="shortcut icon" href="../_static/sbl_logo_blue_32x32_icon.ico"/>
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Source Level Debugging with Intel(R) UDK Debugger" href="debugging-with-udk.html" />
<link rel="prev" title="Shell Interface" href="shell.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
Slim Bootloader
<img src="../_static/sbl_logo_white_200x200.png" class="logo" alt="Logo"/>
</a>
<div class="version">
1.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../getting-started/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../supported-hardware/index.html">Supported Hardware</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Developers Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="source-tree.html">Source Tree Structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="build-system.html">Build System</a></li>
<li class="toctree-l2"><a class="reference internal" href="stitching-ifwi.html">Stitch IFWI Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="fsp.html">Firmware Support Package</a></li>
<li class="toctree-l2"><a class="reference internal" href="boot-flow.html">Boot Flow</a></li>
<li class="toctree-l2"><a class="reference internal" href="boot-flow.html#ldrglobal-loader-global-data">LdrGlobal - Loader Global Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="boot-flow.html#end-to-end-call-graph">End-to-End Call Graph</a></li>
<li class="toctree-l2"><a class="reference internal" href="boot-flow.html#platform-initialization">Platform Initialization</a></li>
<li class="toctree-l2"><a class="reference internal" href="flashmap.html">Flash Map</a></li>
<li class="toctree-l2"><a class="reference internal" href="memory-map.html">Memory Map</a></li>
<li class="toctree-l2"><a class="reference internal" href="configuration.html">Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="payload.html">Payloads</a></li>
<li class="toctree-l2"><a class="reference internal" href="osloader.html">OsLoader</a></li>
<li class="toctree-l2"><a class="reference internal" href="bootimage.html">Boot Image</a></li>
<li class="toctree-l2"><a class="reference internal" href="boot-options.html">Boot Options</a></li>
<li class="toctree-l2"><a class="reference internal" href="flash-boot.html">Boot from Flash</a></li>
<li class="toctree-l2"><a class="reference internal" href="versioning.html">Versioning</a></li>
<li class="toctree-l2"><a class="reference internal" href="boot-performance.html">Boot Performance</a></li>
<li class="toctree-l2"><a class="reference internal" href="shell.html">Shell Interface</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Source Level Debugging with Intel(R) SVT CCA</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#intel-r-trace-hub">Intel(R) Trace Hub</a></li>
<li class="toctree-l3"><a class="reference internal" href="#intel-r-direct-connect-interface-dci-technology">Intel(R) Direct Connect Interface (DCI) technology</a></li>
<li class="toctree-l3"><a class="reference internal" href="#intel-r-svt-cca">Intel(R) SVT CCA</a></li>
<li class="toctree-l3"><a class="reference internal" href="#intel-r-system-debugger">Intel(R) System Debugger</a></li>
<li class="toctree-l3"><a class="reference internal" href="#debug-environmment-setup">Debug Environmment Setup</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#intel-r-svtcca-hardware-setup">Intel(R) SVTCCA hardware setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="#fsp-configuration">FSP configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="#intel-r-system-debugger-setup">Intel(R) System Debugger setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="#debug-steps">Debug steps</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="debugging-with-udk.html">Source Level Debugging with Intel(R) UDK Debugger</a></li>
<li class="toctree-l2"><a class="reference internal" href="logging.html">Logging</a></li>
<li class="toctree-l2"><a class="reference internal" href="contributions.html">Contribution Guidelines</a></li>
<li class="toctree-l2"><a class="reference internal" href="ingredients-update.html">Ingredients upgrade</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../security/index.html">Security Features</a></li>
<li class="toctree-l1"><a class="reference internal" href="../how-tos/index.html">How-Tos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/index.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../specs/index.html">Specifications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references/references.html">References and Links</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references/terminology.html">Terminology and Acronyms</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Slim Bootloader</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html">Developers Guide</a></li>
<li class="breadcrumb-item active">Source Level Debugging with Intel(R) SVT CCA</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="source-level-debugging-with-intel-r-svt-cca">
<span id="jtagdebugger"></span><h1>Source Level Debugging with Intel(R) SVT CCA<a class="headerlink" href="#source-level-debugging-with-intel-r-svt-cca" title="Permalink to this heading"></a></h1>
<section id="intel-r-trace-hub">
<h2>Intel(R) Trace Hub<a class="headerlink" href="#intel-r-trace-hub" title="Permalink to this heading"></a></h2>
<p>The Intel(R) Trace Hub (Intel(R) TH) hardware is a set of functional blocks with the ability to perform full system debugging. The Intel Trace Hub is composed of trace sources,
a global hub, trace destinations, and a trigger unit.</p>
<ul class="simple">
<li><p>Trace sources include internal hardware signals, performance data from the SoC Hardware, and software/firmware trace and debug data from the Software Trace Hub.</p></li>
<li><p>Trace destinations include system memory, a MIPI* PTI port, and USB.</p></li>
<li><p>The Global Trace Hub routes the data from the trace sources to the trace destinations according to the users configuration (via software).</p></li>
<li><p>Trigger Unit controls the starting and stopping of tracing operations.</p></li>
</ul>
<p>The Intel(R) Trace Hub is designed and aligned with industry-standard debug methods and tools.</p>
</section>
<section id="intel-r-direct-connect-interface-dci-technology">
<h2>Intel(R) Direct Connect Interface (DCI) technology<a class="headerlink" href="#intel-r-direct-connect-interface-dci-technology" title="Permalink to this heading"></a></h2>
<p>Debug using functional connections available in the complete, closed, form-factor system is referred to as Closed Chassis Debug. Intel(R) Direct Connect Interface (DCI)
technology provides Closed Chassis Debug capabilities by forwarding trace data coming from the Intel(R) Trace Hub to a DCI transport (a physical USB receptacle).</p>
<p>The DCI technology is available either in-band or out-of-band to the USB interface.</p>
<ul class="simple">
<li><p>The <strong>out-of-band</strong>, referred to as DCI OOB, is independent of the USB protocol and simply uses the pins of the USB receptacle and bypasses the USB controller.
Since it does not use the USB protocol, an <strong>external adapter</strong> is required to communicate with the test system.</p></li>
<li><p>The <strong>in-band</strong>, referred to as USB Debug Class, uses the USB protocol to communicate with a debug endpoint in the USB controller. Both communicate with various
different debug agents in the SoC to perform debug communication, run control, DMA, and trace.</p></li>
</ul>
</section>
<section id="intel-r-svt-cca">
<h2>Intel(R) SVT CCA<a class="headerlink" href="#intel-r-svt-cca" title="Permalink to this heading"></a></h2>
<p>Intel® Silicon View Technology Closed Chassis Adapter (also known as SVTCCA) is used to transmit the out-of-band protocol for DCI OOB and provides access to
DFx-features, like JTAG and Run-control, through USB3 port(s) on Intel® Direct Connect Interface (DCI) enabled silicon and platforms. The tool enables closed-chassis
use-cases where USB3-hosted DCI is limited, intermittent, or unavailable.</p>
<img alt="../_images/intel_cca.png" src="../_images/intel_cca.png" />
<dl class="simple">
<dt>Where to get it</dt><dd><p><a class="reference external" href="https://designintools.intel.com/Silicon_View_Technology_Closed_Chassis_Adapter_p/itpxdpsvt.htm">https://designintools.intel.com/Silicon_View_Technology_Closed_Chassis_Adapter_p/itpxdpsvt.htm</a></p>
</dd>
</dl>
</section>
<section id="intel-r-system-debugger">
<h2>Intel(R) System Debugger<a class="headerlink" href="#intel-r-system-debugger" title="Permalink to this heading"></a></h2>
<p>Intel(R) System Studio is a cross-platform tool suite and includes Intel(R) System Debugger that provides <strong>System Debug</strong> and <strong>System Trace</strong> capabilities.</p>
<p>The Eclipse* integrated source-line debugger enables deep analysis of Slim Bootloader code and System-on-chip (SoC) peripheral registers while
the System Trace capabilities provides the ability to capture, decode, and display traces from hardware, firmware, and software sources via Intel® Trace Hub.</p>
<p><a class="reference external" href="https://software.intel.com/content/www/us/en/develop/tools/system-studio/debug.html">https://software.intel.com/content/www/us/en/develop/tools/system-studio/debug.html</a></p>
</section>
<section id="debug-environmment-setup">
<h2>Debug Environmment Setup<a class="headerlink" href="#debug-environmment-setup" title="Permalink to this heading"></a></h2>
<p>Setting up a debug using Intel(R) SVTCCA involves several steps including target side cnfiguration, physical connection of Intel(R) SVTCCA hardware and host side
Intel(R) System Debugger setup.</p>
<p>Platform based on 10th Generation Intel® Core™ desktop processors and chipsets formerly known as Comet Lake with a 22nm Platform Controller Hub (PCH) is used as
example here.</p>
<section id="intel-r-svtcca-hardware-setup">
<h3>Intel(R) SVTCCA hardware setup<a class="headerlink" href="#intel-r-svtcca-hardware-setup" title="Permalink to this heading"></a></h3>
<p>Intel(R) SVTCCA has two USB ports (Target &amp; Host).</p>
<ul class="simple">
<li><p>Connect the short USB cable to Intel(R) SVTCCA USB port labelled “Target” and to debug USB Port in target under debug.</p></li>
<li><p>Please connect another cable with Intel(R) SVTCCA and host.</p></li>
<li><p>Two LEDs in the Intel CCA will Glow</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>Firmware - Should be Green</p></li>
<li><p>DCI Connect Should be Red.</p></li>
</ul>
</div></blockquote>
<img alt="../_images/intelsvtcca.png" src="../_images/intelsvtcca.png" />
</section>
<section id="fsp-configuration">
<h3>FSP configuration<a class="headerlink" href="#fsp-configuration" title="Permalink to this heading"></a></h3>
<p>Debugging using Intel(R) DCI requires debugging to be enabled in the target SOC. There are several FSP-M UPD settings that will have to be configured to enable debugging.</p>
<p>For example, the FSP for 10th Generation Intel® Core™ desktop processors and chipsets formerly known as Comet Lake with a 22nm Platform Controller Hub (PCH) provides the
following FSP-M UPD configuration options - PchDciEn, PlatformDebugConsent, PchTraceHubMode and the following FSP-S configuration options - DebugInterfaceEnable.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Please refer the FSP integration guide for a list of SOC specific UPD configuration options related to enabling debug.</p>
</div>
<p>The SBL may provide configuration options that can be used to configure these FSP UPD. If such SBL configuration options are not available, then either the FSP UPD
defaults are configured diretcly through the FSP configuration tool or the SBL source has to be modified (UpdateFspConfig) to configure these FSP UPD during boot.</p>
</section>
<section id="intel-r-system-debugger-setup">
<h3>Intel(R) System Debugger setup<a class="headerlink" href="#intel-r-system-debugger-setup" title="Permalink to this heading"></a></h3>
<p>Open the 85-isysdbg-env.bat file from Intel(R) System Debugger installation directoty and add the below lines towards the end.</p>
<blockquote>
<div><ul class="simple">
<li><p>set ISYSDBG_LOG_LEVELS=context,ipc,protocol,dbghelp,uefi</p></li>
<li><p>set ISYSDBG_FLASH_BASE=0x9B000000</p></li>
<li><p>set ISYSDBG_FLASH_SIZE=0x02000000</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>FLASH Base and Size are project specific. Please refer the project boardconfig.py for project specific settings.</p>
</div>
</div></blockquote>
</section>
<section id="debug-steps">
<h3>Debug steps<a class="headerlink" href="#debug-steps" title="Permalink to this heading"></a></h3>
<p><strong>Setting up Debug Connection:</strong></p>
<blockquote>
<div><ul class="simple">
<li><p>Power on the Board.</p></li>
<li><p>Open the Intel(R) System Debugger.</p></li>
<li><p>Please choose the default workspace.</p></li>
</ul>
<img alt="../_images/isd_workspace.png" src="../_images/isd_workspace.png" />
</div></blockquote>
<p><strong>Setting up Debug Connection:</strong></p>
<blockquote>
<div><ul class="simple">
<li><p>First step is to create new connection for every target board. Here, we need to choose the type of Target and also choose the debug probe type.</p></li>
</ul>
<blockquote>
<div><p>Example</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>Target type Comet Lake CPU / Comet Lake PCH-V.
Connection method Intel DCI OOB Via Intel SVT Closed Chassis Adapter (CCA).
</pre></div>
</div>
<ul class="simple">
<li><p>Click the Debug Drop down and choose the “New Connection”</p></li>
</ul>
<img alt="../_images/isd_newconnection.png" src="../_images/isd_newconnection.png" />
<img alt="../_images/isd_newconnection2.png" src="../_images/isd_newconnection2.png" />
<ul class="simple">
<li><p>Click next,</p></li>
</ul>
<img alt="../_images/isd_newconnection3.png" src="../_images/isd_newconnection3.png" />
<ul class="simple">
<li><p>Click next, then</p></li>
</ul>
<img alt="../_images/isd_newconnection4.png" src="../_images/isd_newconnection4.png" />
<ul class="simple">
<li><p>Click Finish to click the setup.</p></li>
<li><p>Then Click the Connect button as shown in figure:</p></li>
</ul>
<img alt="../_images/isd_connectbutton.png" src="../_images/isd_connectbutton.png" />
<ul class="simple">
<li><p>After clicking this, we can see the below message in the System Debug Console:</p></li>
</ul>
<img alt="../_images/isd_debugconsole.png" src="../_images/isd_debugconsole.png" />
<ul class="simple">
<li><p>Above message will confirm Target and Debugger type which is used. The status will be shown as “CONNECTED”.</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>Two LEDs in the Intel CCA will Glow:</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>Firmware - Should be Green.</p></li>
<li><p>DCI Connect Should be Green.</p></li>
</ul>
</div></blockquote>
</div></blockquote>
</div></blockquote>
</div></blockquote>
<p><strong>Setting up Debug Configuration:</strong></p>
<blockquote>
<div><ul class="simple">
<li><p>Click the “Bug” like button (highlighted) in the tool bar</p></li>
</ul>
<img alt="../_images/isd_debugbutton.png" src="../_images/isd_debugbutton.png" />
<ul class="simple">
<li><p>It will open the new window with below option to create new debug configuration, In the Dialog box, Choose the “Intel System Debugger”
and click the “New Configuration Button”.</p></li>
</ul>
<img alt="../_images/isd_debugconfig.png" src="../_images/isd_debugconfig.png" />
<ul class="simple">
<li><p>It will show the new debug configuration Window as below:</p></li>
</ul>
<img alt="../_images/isd_newdebugconfig.png" src="../_images/isd_newdebugconfig.png" />
<ul class="simple">
<li><p>Provide some meaningful name (for example SBL_Debug).</p></li>
</ul>
<ul class="simple">
<li><p>In order to load the Symbols, we need to load the consolidated Map file in Build folder, Choose <strong>the UEFI Awareness</strong> tab, Choose the
“sblplatformBuildBootloaderCorePkgDEBUG_VS2017BootloaderCorePkg.map” for “Map File For Intel FSP Binary” file input.</p></li>
</ul>
<img alt="../_images/isd_uefiawareness.png" src="../_images/isd_uefiawareness.png" />
<ul class="simple">
<li><p>Choose the “Debugger Diagnostics” tab, and Check the “Enable Debugger Logs” checkbox. This will enable logs of Intel(R) System Debugger for every debug session in
your workspace.</p></li>
</ul>
<img alt="../_images/isd_debugdiag.png" src="../_images/isd_debugdiag.png" />
<ul class="simple">
<li><p>Click the Debug, we can see the CPU status and also Intel(R) System Debugger console will be enabled.</p></li>
</ul>
<img alt="../_images/isd_cpustatus.png" src="../_images/isd_cpustatus.png" />
<ul class="simple">
<li><p>Choose the target CMP_V0 and click the “Suspend” or “Pause” Button to stop running.</p></li>
</ul>
<img alt="../_images/isd_suspendbutton.png" src="../_images/isd_suspendbutton.png" />
<img alt="../_images/isd_asmlisting.png" src="../_images/isd_asmlisting.png" />
<ul class="simple">
<li><p>We can see that all the CPUs are in suspended state, and we can see in the disassembly window the current executing instruction. We can also
see in the module windows that the symbols are loaded automatically.</p></li>
</ul>
<img alt="../_images/isd_modulessymbols.png" src="../_images/isd_modulessymbols.png" />
</div></blockquote>
<p><strong>Setting up Reset Break Point:</strong></p>
<blockquote>
<div><ul class="simple">
<li><p>Go to Breakpoints Window, Press the “+” Button.</p></li>
</ul>
<ul class="simple">
<li><p>Choose the “Platform Breakpoint” as type.</p></li>
<li><p>Choose “Reset” as an option.</p></li>
</ul>
<img alt="../_images/isd_resetbreak.png" src="../_images/isd_resetbreak.png" />
<ul class="simple">
<li><p>Press OK to set the Reset Breakpoint. You can see Reset breakpoint as below in the Breakpoint Window.</p></li>
</ul>
<img alt="../_images/isd_resetbreakwindow.png" src="../_images/isd_resetbreakwindow.png" />
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Please check for Tick symbol (as highlighted), this ensures the Breakpoint is active.
After Every Warm reset, all breakpoints will be disabled (some limitation). Please uncheck and check the Breakpoint check box to enable the Breakpoints.
All Breakpoints operation (Create, Enable, Disable) should be done when CPU is in suspend state.</p>
</div>
<ul class="simple">
<li><p>Press Go. This will start CPU run mode.</p></li>
</ul>
<img alt="../_images/isd_cpugo.png" src="../_images/isd_cpugo.png" />
</div></blockquote>
<p><strong>Reset Break:</strong></p>
<blockquote>
<div><ul class="simple">
<li><p>In the Debug menu, Click the “Warm Reset” button (highlighted below), it will perform the Warm reset of your board.</p></li>
</ul>
<img alt="../_images/isd_warmreset.png" src="../_images/isd_warmreset.png" />
<ul>
<li><p>You can also see below status update in the System Debugger console:</p>
<blockquote>
<div><p><strong>INFO: Target reset Started</strong></p>
<p><strong>INFO: Target reset Completed</strong></p>
</div></blockquote>
</li>
</ul>
<blockquote>
<div><p>Once reset is completed, CPU will halt at the Reset vector as below:</p>
</div></blockquote>
<img alt="../_images/isd_resetvector.png" src="../_images/isd_resetvector.png" />
</div></blockquote>
<p><strong>Setting up Function Break Point:</strong></p>
<blockquote>
<div><ul class="simple">
<li><p>We can Create the Function Breakpoint in stage1A and Stage1B.</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>Click the “View menu” option (three vertical dots) as highlighted below</p></li>
</ul>
<img alt="../_images/isd_fnbp.png" src="../_images/isd_fnbp.png" />
<ul class="simple">
<li><p>And choose the “Add Function Breakpoint (C/C++)”</p></li>
<li><p>Choose the BreakPoint type as Hardware Breakpoint.</p></li>
<li><p>Choose the Function Name which is the function that you want to halt. For example “GetBootPartitition”.</p></li>
<li><p>Press Apply and Close.</p></li>
</ul>
<img alt="../_images/isd_fnbp2.png" src="../_images/isd_fnbp2.png" />
</div></blockquote>
<ul class="simple">
<li><p>New Breakpoint will be created as will be shown as below:</p></li>
</ul>
<blockquote>
<div><img alt="../_images/isd_fnbp3.png" src="../_images/isd_fnbp3.png" />
</div></blockquote>
<ul class="simple">
<li><p>In above image, highlighted Tick means the Breakpoint is enabled.</p></li>
<li><p>And also please confirm the status of Breakpoint by Selecting the Breakpoint, Right Click and choose Breakpoint properties and check
status. If the breakpoint is set properly, then it should as below:</p></li>
</ul>
<blockquote>
<div><img alt="../_images/isd_fnbp4.png" src="../_images/isd_fnbp4.png" />
</div></blockquote>
<ul class="simple">
<li><p>If the Breakpoint is disabled, then it will show status as below</p></li>
</ul>
<blockquote>
<div><img alt="../_images/isd_fnbp5.png" src="../_images/isd_fnbp5.png" />
</div></blockquote>
<ul class="simple">
<li><p>Press go button. Then it will stop in the breakpoint as below:</p></li>
</ul>
<blockquote>
<div><img alt="../_images/isd_fnbp6.png" src="../_images/isd_fnbp6.png" />
</div></blockquote>
<ul class="simple">
<li><p>Then you can step into the function, we can see the all variables values, CPU registers and also all peripheral register space.</p></li>
</ul>
</div></blockquote>
<p><strong>Video</strong></p>
<p><a class="reference external" href="https://software.intel.com/content/www/us/en/develop/videos/debugging-edk-ii-based-firmware-image-using-isd.html?wapkw=slim%20bootloader">Debugging Using Intel(R) System Debugger</a></p>
<p><strong>References</strong></p>
<p><a class="reference external" href="https://software.intel.com/content/www/us/en/develop/download/intel-trace-hub-developers-manual.html">Intel(R) Trace Hub developer manual</a></p>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="shell.html" class="btn btn-neutral float-left" title="Shell Interface" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="debugging-with-udk.html" class="btn btn-neutral float-right" title="Source Level Debugging with Intel(R) UDK Debugger" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018 - 2025, Intel Corporation.
<span class="lastupdated">Last updated on Jun 27, 2025.
</span></p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>