blob: 2bb8d5bf7656bbca04dcfbb143568257219148a7 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SEGGER SystemView &mdash; Apache Mynewt latest documentation</title>
<link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
<link rel="index" title="Index"
href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Apache Mynewt latest documentation" href="../../index.html"/>
<link rel="up" title="Tooling" href="tooling.html"/>
<link rel="next" title="Diagnosing Errors" href="error_diagnostics.html"/>
<link rel="prev" title="SEGGER RTT Console" href="segger_rtt.html"/>
<script src="../../_static/js/modernizr.min.js"></script>
<script>
(function(i, s, o, g, r, a, m) {
i["GoogleAnalyticsObject"] = r;
(i[r] =
i[r] ||
function() {
(i[r].q = i[r].q || []).push(arguments);
}),
(i[r].l = 1 * new Date());
(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
</head>
<body class="not-front page-documentation" role="document" >
<div id="wrapper">
<div class="container">
<div id="banner" class="row v2-main-banner">
<a class="logo-cell" href="/">
<img class="logo" src="../../_static/img/logo.png">
</a>
<div class="tagline-cell">
<h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
</div>
<div class="news-cell">
<div class="well">
<h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.11.0, Apache NimBLE 1.6.0 </a> released September 7, 2023)
</div>
</div>
</div>
</div>
<header>
<nav id="navbar" class="navbar navbar-inverse" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav navbar-right">
<li>
<a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
</li>
<li class="important">
<a href="/quick-start/">Quick Start</a>
</li>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/talks/">Talks</a>
</li>
<li class="active">
<a href="/documentation/">Documentation</a>
</li>
<li>
<a href="/download/">Download</a>
</li>
<li>
<a href="/community/">Community</a>
</li>
<li>
<a href="/events/">Events</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
</ul>
</div>
</div>
</nav>
</header>
<!-- STARTS MAIN CONTENT -->
<div id="main-content">
<div id="breadcrumb">
<div class="container">
<a href="/documentation/">Docs</a> /
<a href="../tutorials.html">Tutorials</a> /
<a href="tooling.html">Tooling</a> /
SEGGER SystemView
<div class="sourcelink">
<a href="https://github.com/apache/mynewt-documentation/edit/master/docs/tutorials/tooling/segger_sysview.rst" class="icon icon-github"
rel="nofollow"> Edit on GitHub</a>
</div>
</div>
</div>
<!-- STARTS CONTAINER -->
<div class="container">
<!-- STARTS .content -->
<div id="content" class="row">
<!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
<div id="docSidebar" class="sticky-container">
<div role="search" class="sphinx-search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
<option value="/latest" selected>
Version: latest
</option>
<option value="/v1_11_0" >
Version: 1.11.0
</option>
<option value="/v1_10_0" >
Version: 1.10.0
</option>
<option value="/v1_9_0" >
Version: 1.9.0
</option>
<option value="/v1_8_0" >
Version: 1.8.0
</option>
<option value="/v1_7_0" >
Version: 1.7.0
</option>
<option value="/v1_6_0" >
Version: 1.6.0
</option>
<option value="/v1_5_0" >
Version: 1.5.0
</option>
<option value="/v1_4_0" >
Version: 1.4.0
</option>
<option value="/v1_3_0/os/introduction" >
Version: 1.3.0
</option>
<option value="/v1_2_0/os/introduction" >
Version: 1.2.0
</option>
<option value="/v1_1_0/os/introduction" >
Version: 1.1.0
</option>
<option value="/v1_0_0/os/introduction" >
Version: 1.0.0
</option>
<option value="/v0_9_0/os/introduction" >
Version: 0.9.0
</option>
</select>
<div class="region region-sidebar">
<div class="docs-menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../tutorials.html">Tutorials</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../blinky/blinky.html">Project Blinky</a></li>
<li class="toctree-l2"><a class="reference internal" href="../repo/add_repos.html">Working with repositories</a></li>
<li class="toctree-l2"><a class="reference internal" href="../slinky/project-slinky.html">Project Slinky for Remote Comms</a></li>
<li class="toctree-l2"><a class="reference internal" href="../ble/ble.html">Bluetooth Low Energy</a></li>
<li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
<li class="toctree-l2"><a class="reference internal" href="../os_fundamentals/os_fundamentals.html">OS Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="../devmgmt/devmgmt.html">Remote Device Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="tooling.html">Tooling</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="segger_rtt.html">Segger RTT</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Segger Sysview</a></li>
<li class="toctree-l3"><a class="reference internal" href="error_diagnostics.html">Error Diagnostics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../external_links.html">Third-party Resources</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../network/index.html">BLE User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mynewt_faq/index.html">Mynewt FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
</ul>
</div>
</div>
</div>
<!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->
<div class="col-xs-12 col-sm-9">
<div class="">
<div class="rst-content">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="segger-systemview">
<h1>SEGGER SystemView<a class="headerlink" href="#segger-systemview" title="Permalink to this headline"></a></h1>
<div class="section" id="objective">
<h2>Objective<a class="headerlink" href="#objective" title="Permalink to this headline"></a></h2>
<p>With <a class="reference external" href="https://www.segger.com/systemview.html">SEGGER’s SystemView</a>
you can “record data from the target system while it is running. The
recorded data is analyzed and the system behavior is visualized in
different views.”</p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#hardware-needed" id="id1">Hardware needed</a></p></li>
<li><p><a class="reference internal" href="#software-needed" id="id2">Software needed</a></p></li>
<li><p><a class="reference internal" href="#setup-the-target" id="id3">Setup the target</a></p></li>
<li><p><a class="reference internal" href="#run-the-target-executables" id="id4">Run the target executables</a></p></li>
<li><p><a class="reference internal" href="#launch-the-app" id="id5">Launch the app</a></p></li>
</ul>
</div>
<div class="section" id="hardware-needed">
<h3><a class="toc-backref" href="#id1">Hardware needed</a><a class="headerlink" href="#hardware-needed" title="Permalink to this headline"></a></h3>
<p>You’ll need a SEGGER J-Link programmer in order to use this advanced
functionality. You might have an external J-Link programmer you’re
already using, or maybe your board has a dedicated J-Link onboard as
some development kits do. Another possibilty is J-Link OB firmware
available for some devices like the micro:bit.</p>
</div>
<div class="section" id="software-needed">
<h3><a class="toc-backref" href="#id2">Software needed</a><a class="headerlink" href="#software-needed" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>Download <a class="reference external" href="https://www.segger.com/downloads/free-utilities/">SEGGER’s SystemView
app</a>.</p></li>
<li><p>Copy the description file from sys/sysview/SYSVIEW_Mynewt.txt to the
/Description/ directory of SystemView</p></li>
</ul>
</div>
<div class="section" id="setup-the-target">
<h3><a class="toc-backref" href="#id3">Setup the target</a><a class="headerlink" href="#setup-the-target" title="Permalink to this headline"></a></h3>
<p>We’ll assume you have an existing example we’re enabling SystemView on,
in this case <a class="reference internal" href="../blinky/nRF52.html"><span class="doc">blinky on nrf52</span></a>. We can do so with the newt
target amend command:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newt target amend blink_nordic syscfg=OS_SYSVIEW=1</span>
</pre></div>
</div>
</div>
<div class="section" id="run-the-target-executables">
<h3><a class="toc-backref" href="#id4">Run the target executables</a><a class="headerlink" href="#run-the-target-executables" title="Permalink to this headline"></a></h3>
<p>Now ‘run’ the newt target as you’ll need an active debugger process to
attach to:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>newt<span class="w"> </span>run<span class="w"> </span>blink_nordic<span class="w"> </span><span class="m">0</span>
<span class="go">App image succesfully generated: ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.img</span>
<span class="go">Loading app image into slot 1</span>
<span class="go">[~/Downloads/myproj/repos/apache-mynewt-core/hw/bsp/nrf52-thingy/nrf52-thingy_debug.sh ~/Downloads/myproj/repos/apache-mynewt-core/hw/bsp/nrf52-thingy ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph]</span>
<span class="go">Debugging ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.elf</span>
<span class="go">GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs</span>
<span class="go">Copyright (C) 2014 Free Software Foundation, Inc.</span>
<span class="go">License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;</span>
<span class="go">This is free software: you are free to change and redistribute it.</span>
<span class="go">There is NO WARRANTY, to the extent permitted by law. Type &quot;show copying&quot;</span>
<span class="go">and &quot;show warranty&quot; for details.</span>
<span class="go">This GDB was configured as &quot;--host=x86_64-apple-darwin10 --target=arm-none-eabi&quot;.</span>
<span class="go">Type &quot;show configuration&quot; for configuration details.</span>
<span class="go">For bug reporting instructions, please see:</span>
<span class="go">&lt;http://www.gnu.org/software/gdb/bugs/&gt;.</span>
<span class="go">Find the GDB manual and other documentation resources online at:</span>
<span class="go">&lt;http://www.gnu.org/software/gdb/documentation/&gt;.</span>
<span class="go">For help, type &quot;help&quot;.</span>
<span class="go">Type &quot;apropos word&quot; to search for commands related to &quot;word&quot;...</span>
<span class="go">Reading symbols from ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.elf...done.</span>
<span class="go">0x000000d8 in ?? ()</span>
<span class="go">Resetting target</span>
<span class="go">0x000000dc in ?? ()</span>
</pre></div>
</div>
</div>
<div class="section" id="launch-the-app">
<h3><a class="toc-backref" href="#id5">Launch the app</a><a class="headerlink" href="#launch-the-app" title="Permalink to this headline"></a></h3>
<p>Launch the app and press <strong>OK</strong> in the System Information dialog box.</p>
<div class="figure align-default">
<img alt="../../_images/segger_sysview1.png" src="../../_images/segger_sysview1.png" />
</div>
<p>Select <strong>Target &gt; Start Recording</strong> and press <strong>OK</strong> in the
Configuration dialog box.</p>
<div class="figure align-default">
<img alt="../../_images/segger_sysview_start_record.png" src="../../_images/segger_sysview_start_record.png" />
</div>
<p>You should see the recording for your Mynewt application.</p>
<div class="figure align-default">
<img alt="../../_images/segger_sysview_recording.png" src="../../_images/segger_sysview_recording.png" />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
<a href="error_diagnostics.html" class="btn btn-neutral float-right" title="Diagnosing Errors" accesskey="n">Next: Diagnosing Errors <span class="fa fa-arrow-circle-right"></span></a>
<a href="segger_rtt.html" class="btn btn-neutral" title="SEGGER RTT Console" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: SEGGER RTT Console</a>
</div>
</div>
</div>
</div>
<!-- ENDS CONTENT SECTION -->
</div>
<!-- ENDS .content -->
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-xs-12">
<p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
</div>
<div class="col-xs-12">
<div class="logos">
<img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
<small class="footnote">
Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
</small>
<a href="">
<img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
</a>
</div>
</div>
</div>
</div>
</footer>
</div>
<!-- ENDS #wrapper -->
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'latest',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt',
LINK_SUFFIX: '.html'
};
</script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
<script type="text/javascript" src="../../_static/js/affix.js"></script>
<script type="text/javascript" src="../../_static/js/main.js"></script>
</body>
</html>