blob: 41b0928a7713fff7952541c657e6a71f1ae8be89 [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>Mynewt FAQ - Troubleshooting/Debugging &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="Mynewt FAQ" href="index.html"/>
<link rel="next" title="Appendix" href="../misc/index.html"/>
<link rel="prev" title="Mynewt FAQ - Porting Mynewt" href="port_faq.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="index.html">Mynewt FAQ</a> /
Mynewt FAQ - Troubleshooting/Debugging
<div class="sourcelink">
<a href="https://github.com/apache/mynewt-documentation/edit/master/docs/mynewt_faq/troubleshoot_faq.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" selected="selected" >
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"><a class="reference internal" href="../tutorials/tutorials.html">Tutorials</a></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 current"><a class="reference internal" href="index.html">Mynewt FAQ</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="admin_faq.html">Administrative</a></li>
<li class="toctree-l2"><a class="reference internal" href="bluetooth_faq.html">Bluetooth</a></li>
<li class="toctree-l2"><a class="reference internal" href="boot_faq.html">Bootloader and Firmware Upgrade</a></li>
<li class="toctree-l2"><a class="reference internal" href="modules_faq.html">Drivers and Modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="fs_faq.html">File System</a></li>
<li class="toctree-l2"><a class="reference internal" href="hardware_faq.html">Hardware-Specific</a></li>
<li class="toctree-l2"><a class="reference internal" href="syntax_faq.html">Mynewt Syntax and Semantics</a></li>
<li class="toctree-l2"><a class="reference internal" href="nfc_faq.html">NFC</a></li>
<li class="toctree-l2"><a class="reference internal" href="newt_faq.html">Newt</a></li>
<li class="toctree-l2"><a class="reference internal" href="newtmgr_faq.html">Newt Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="port_faq.html">Porting Mynewt</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Troubleshooting</a></li>
</ul>
</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="alert alert-warning">
<p>
Version 1.7.0 is not the most recent version of the
Apache Mynewt documentation. Click <a href="/latest">here</a> to
read the latest version.
</p>
</div>
<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="mynewt-faq-troubleshooting-debugging">
<h1>Mynewt FAQ - Troubleshooting/Debugging<a class="headerlink" href="#mynewt-faq-troubleshooting-debugging" title="Permalink to this headline"></a></h1>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#concurrent-debug-sessions-with-two-boards" id="id1">Concurrent debug sessions with two boards</a></p></li>
<li><p><a class="reference internal" href="#error-unsatisfied-apis-detected" id="id2">Error: Unsatisfied APIs detected</a></p></li>
<li><p><a class="reference internal" href="#greyed-out-files-on-ios-11" id="id3">Greyed out files on iOS 11</a></p></li>
<li><p><a class="reference internal" href="#arm-none-eabi-gcc-build-error-for-project" id="id4"><code class="docutils literal notranslate"><span class="pre">arm-none-eabi-gcc</span></code> Build Error for Project</a></p></li>
<li><p><a class="reference internal" href="#issues-running-image-on-boot" id="id5">Issues Running Image on Boot</a></p></li>
<li><p><a class="reference internal" href="#enable-trace-in-mynewt" id="id6">Enable Trace in Mynewt</a></p></li>
<li><p><a class="reference internal" href="#bug-with-older-versions-of-gcc" id="id7">Bug With Older Versions of <code class="docutils literal notranslate"><span class="pre">gcc</span></code></a></p></li>
</ul>
</div>
<div class="section" id="concurrent-debug-sessions-with-two-boards">
<h2><a class="toc-backref" href="#id1">Concurrent debug sessions with two boards</a><a class="headerlink" href="#concurrent-debug-sessions-with-two-boards" title="Permalink to this headline"></a></h2>
<p><strong>Q</strong>: Can I run concurrent GDB connections to multiple devices? Is the GDB port hardcoded?</p>
<p>Yes, starting with release 1.5 Mynewt allows “newt debug” to have a session with JLink as well as openocd simultaneously open. And no, the GDB port is not hardcoded. You can specify it with the -port option. For example:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newt debug slinky_nrf52 --extrajtagcmd &quot;-port 5431 -select usb=682148664&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="error-unsatisfied-apis-detected">
<h2><a class="toc-backref" href="#id2">Error: Unsatisfied APIs detected</a><a class="headerlink" href="#error-unsatisfied-apis-detected" title="Permalink to this headline"></a></h2>
<p><strong>Q</strong>: I ran into the following error message:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">Error: Unsatisfied APIs detected:</span>
<span class="go">* stats, required by: hw/drivers/sensors/bmp280, hw/drivers/sensors/ms5837, net/oic</span>
</pre></div>
</div>
<p>How do I resolve this?</p>
<p><strong>A</strong>: You may be missing some package dependencies in your <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file. In this case, you need to include
<code class="docutils literal notranslate"><span class="pre">sys/stats</span></code> (either <code class="docutils literal notranslate"><span class="pre">sys/stats/full</span></code> or <code class="docutils literal notranslate"><span class="pre">sys/stats/stub</span></code>) to your <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file. You can add it to either
your app’s or target’s pkg.yml file, but if you have a custom app it is recommended that you add it to your app’s
<code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code>. That way you can have multiple targets for the same app, without having to add it to every target.
Moreover, if you share your app package, others won’t run into the same error when building it.</p>
</div>
<div class="section" id="greyed-out-files-on-ios-11">
<h2><a class="toc-backref" href="#id3">Greyed out files on iOS 11</a><a class="headerlink" href="#greyed-out-files-on-ios-11" title="Permalink to this headline"></a></h2>
<p><strong>Q</strong>: I’m trying to use the Adafruit Mynewt Manager to upload a custom image over BLE. Uploading one of the provided
<code class="docutils literal notranslate"><span class="pre">bleuartx000.img</span></code> works fine and I can boot into them, confirm etc. However, when I try to upload a custom image I
can’t even seem to add it to the app. Images stored in the iCloud drive just appear as disabled icons. Anyone with a
clue as to how to get that working?</p>
<p><strong>A</strong>: The new iOS version no longer allows files with unrecognized extensions to be selected. Try renaming the file to
something more compatible (e.g. <code class="docutils literal notranslate"><span class="pre">.txt</span></code>).</p>
</div>
<div class="section" id="arm-none-eabi-gcc-build-error-for-project">
<h2><a class="toc-backref" href="#id4"><code class="docutils literal notranslate"><span class="pre">arm-none-eabi-gcc</span></code> Build Error for Project</a><a class="headerlink" href="#arm-none-eabi-gcc-build-error-for-project" title="Permalink to this headline"></a></h2>
<p><strong>Q</strong>: I am having this error when I try to build my project:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">Building target targets/stm32l072czy6tr_boot</span>
<span class="go">Error: exec: &quot;arm-none-eabi-gcc&quot;: executable file not found in $PATH</span>
</pre></div>
</div>
<p>How do I add it?</p>
<p><strong>A</strong>: First, install the GNU Arm Embedded Toolchain if you haven’t already. Then, depending on your OS, add the link to
your <code class="docutils literal notranslate"><span class="pre">arm-none-eabi-gcc</span></code> executable path to your PATH environment variable.</p>
</div>
<div class="section" id="issues-running-image-on-boot">
<h2><a class="toc-backref" href="#id5">Issues Running Image on Boot</a><a class="headerlink" href="#issues-running-image-on-boot" title="Permalink to this headline"></a></h2>
<p><strong>Q</strong>: I was able to successfully create a BSP for my custom board (using nRF52 MCU), then build and run that image in the
debugger. However, it does not run on boot. Any ideas to fix the issue?</p>
<p><strong>A</strong>: A good process in general is to do a full flash erase, then flash the bootloader and the running image. Make sure to
dump the contents of flash and see that it actually gets written there as well. If you experience the issue again after a
reboot, you will also want to set <code class="docutils literal notranslate"><span class="pre">MCU_DCDC_ENABLED:0</span></code> then redo the process of erase, rebuild, and reload.</p>
</div>
<div class="section" id="enable-trace-in-mynewt">
<h2><a class="toc-backref" href="#id6">Enable Trace in Mynewt</a><a class="headerlink" href="#enable-trace-in-mynewt" title="Permalink to this headline"></a></h2>
<p><strong>Q</strong>: I’m trying to use gdb with Trace, but do not know how to enable it. How do I do this in Mynewt?</p>
<p><strong>A</strong>: To enable Trace, you can add <code class="docutils literal notranslate"><span class="pre">cflags</span></code> to <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> in your target directory:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">~/dev/mynewt $ cat targets/mytarget/pkg.yml</span>
<span class="gp">#</span><span class="c1">## Package: targets/mytarget</span>
<span class="go">pkg.name: “targets/mytarget”</span>
<span class="go">pkg.type: &quot;target&quot;</span>
<span class="go">pkg.description:</span>
<span class="go">pkg.author:</span>
<span class="go">pkg.homepage:</span>
<span class="go"></span>
<span class="go">pkg.cflags:</span>
<span class="go"> - -DENABLE_TRACE</span>
</pre></div>
</div>
</div>
<div class="section" id="bug-with-older-versions-of-gcc">
<h2><a class="toc-backref" href="#id7">Bug With Older Versions of <code class="docutils literal notranslate"><span class="pre">gcc</span></code></a><a class="headerlink" href="#bug-with-older-versions-of-gcc" title="Permalink to this headline"></a></h2>
<p><strong>Q</strong>: I got the following error using <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">build</span></code>. How do I fix it?</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">Error: repos/apache-mynewt-core/sys/log/modlog/src/modlog.c: In function &#39;modlog_alloc&#39;:</span>
<span class="go">repos/apache-mynewt-core/sys/log/modlog/src/modlog.c:61:23: error: missing braces around initializer [-Werror=missing-braces]</span>
<span class="go"> *mm = (struct modlog_mapping) { 0 };</span>
<span class="go"> ^</span>
<span class="go">repos/apache-mynewt-core/sys/log/modlog/src/modlog.c:61:23: error: (near initialization for &#39;(anonymous).next&#39;) [-Werror=missing-braces]</span>
<span class="go">cc1: all warnings being treated as errors</span>
</pre></div>
</div>
<p><strong>A</strong>: That is a bug in older versions of <code class="docutils literal notranslate"><span class="pre">gcc</span></code> (<a class="reference external" href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119">https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119</a>). The recommended <code class="docutils literal notranslate"><span class="pre">gcc</span></code> version is 7.x.</p>
</div>
</div>
</div>
</div>
<div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
<a href="../misc/index.html" class="btn btn-neutral float-right" title="Appendix" accesskey="n">Next: Appendix <span class="fa fa-arrow-circle-right"></span></a>
<a href="port_faq.html" class="btn btn-neutral" title="Mynewt FAQ - Porting Mynewt" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Mynewt FAQ - Porting Mynewt</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>