You've already forked slimbootloader.github.io
mirror of
https://github.com/Dasharo/slimbootloader.github.io.git
synced 2026-03-06 15:26:36 -08:00
458 lines
26 KiB
HTML
458 lines
26 KiB
HTML
<!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 — 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">Developer’s 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">Developer’s 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 user’s 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 & 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>© Copyright 2018 - 2024, Intel Corporation.
|
||
<span class="lastupdated">Last updated on Jun 07, 2024.
|
||
</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> |