blob: c4129c453f722928921019ccb28e2c0fdcb45f3b [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 &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="next" title="Mynewt FAQ - Administrative" href="admin_faq.html"/>
<link rel="prev" title="Installing Previous Releases of Newtmgr" href="../newtmgr/install/prev_releases.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> /
Mynewt FAQ
<div class="sourcelink">
<a href="https://github.com/apache/mynewt-documentation/edit/master/docs/mynewt_faq/index.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" selected="selected" >
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"><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="current reference internal" href="#">Mynewt FAQ</a><ul>
<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"><a class="reference internal" href="troubleshoot_faq.html">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.9.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">
<h1>Mynewt FAQ<a class="headerlink" href="#mynewt-faq" title="Permalink to this headline"></a></h1>
<p>Welcome to the Mynewt FAQ. Here are some commonly asked questions asked about the Mynewt OS, separated by categories.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="admin_faq.html">Administrative</a></li>
<li class="toctree-l1"><a class="reference internal" href="bluetooth_faq.html">Bluetooth</a></li>
<li class="toctree-l1"><a class="reference internal" href="boot_faq.html">Bootloader and Firmware Upgrade</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules_faq.html">Drivers and Modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="fs_faq.html">File System</a></li>
<li class="toctree-l1"><a class="reference internal" href="hardware_faq.html">Hardware-Specific</a></li>
<li class="toctree-l1"><a class="reference internal" href="syntax_faq.html">Mynewt Syntax and Semantics</a></li>
<li class="toctree-l1"><a class="reference internal" href="nfc_faq.html">NFC</a></li>
<li class="toctree-l1"><a class="reference internal" href="newt_faq.html">Newt</a></li>
<li class="toctree-l1"><a class="reference internal" href="newtmgr_faq.html">Newt Manager</a></li>
<li class="toctree-l1"><a class="reference internal" href="port_faq.html">Porting Mynewt</a></li>
<li class="toctree-l1"><a class="reference internal" href="troubleshoot_faq.html">Troubleshooting</a></li>
</ul>
</div>
<div class="section" id="general-faqs">
<h2>General FAQs<a class="headerlink" href="#general-faqs" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Make sure to update to the latest available version to ensure everything remains functional. There may be some new additions that break backwards compatibility or change how certain features work, so be sure to always update.</p></li>
<li><p>If you are making changes to code, adding new features, etc., please update to the latest branch to ensure that any changes you make work with the newest changes and features in Mynewt.</p></li>
</ul>
<div class="section" id="reduce-code-size-for-mynewt-image">
<h3>Reduce Code Size for Mynewt Image<a class="headerlink" href="#reduce-code-size-for-mynewt-image" title="Permalink to this headline"></a></h3>
<p><strong>Q</strong>: How do I reduce the code size for my Mynewt image?</p>
<p><strong>A</strong>: Please refer to the tutorial documentation on <a class="reference internal" href="../tutorials/other/codesize.html"><span class="doc">reducing application code size</span></a>.</p>
</div>
<div class="section" id="compiler-yml-vs-pkg-yml">
<h3><code class="docutils literal notranslate"><span class="pre">compiler.yml</span></code> vs. <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code><a class="headerlink" href="#compiler-yml-vs-pkg-yml" title="Permalink to this headline"></a></h3>
<p><strong>Q</strong>: What’s the difference between <code class="docutils literal notranslate"><span class="pre">compiler.yml</span></code> and <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code>?</p>
<p><strong>A</strong>: <code class="docutils literal notranslate"><span class="pre">compiler.yml</span></code> defines a compiler. <code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> contains metadata about the package. All packages have a
<code class="docutils literal notranslate"><span class="pre">pkg.yml</span></code> file, even compiler packages.</p>
</div>
<div class="section" id="version-control-applications-with-git">
<h3>Version Control Applications with Git<a class="headerlink" href="#version-control-applications-with-git" title="Permalink to this headline"></a></h3>
<p><strong>Q</strong>: What’s the recommended way to work with git when you want to version control your application? As <code class="docutils literal notranslate"><span class="pre">apache-mynewt-core</span></code> is already a repository, there is a repo in repo problem. Are there any good alternatives/tools to submodules, mirror, etc? Ideally, I want to version control everything from the top level project directory as well as upgrading apache-mynewt-core, pushing pull requests back to Mynewt if needed, etc.</p>
<p><strong>A</strong>: You can simply have a separate git for your app. For example, if you followed the Blinky tutorial, your git would be in <code class="docutils literal notranslate"><span class="pre">apps/foo</span></code>, while repos gits are in repos. You may also keep your app in the core repo, just have your own working branch for it.</p>
<p>Another option is to have your git repository with local packages (including apps) and have <code class="docutils literal notranslate"><span class="pre">repository.yml</span></code> there so <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">upgrade</span></code> can download all dependencies. Just make sure to put e.g. <code class="docutils literal notranslate"><span class="pre">bin</span></code>, <code class="docutils literal notranslate"><span class="pre">repos</span></code>, and <code class="docutils literal notranslate"><span class="pre">project.state</span></code>, and others in <code class="docutils literal notranslate"><span class="pre">.gitignore</span></code> so they are not in version control.</p>
</div>
</div>
</div>
</div>
</div>
<div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
<a href="admin_faq.html" class="btn btn-neutral float-right" title="Mynewt FAQ - Administrative" accesskey="n">Next: Mynewt FAQ - Administrative <span class="fa fa-arrow-circle-right"></span></a>
<a href="../newtmgr/install/prev_releases.html" class="btn btn-neutral" title="Installing Previous Releases of Newtmgr" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Installing Previous Releases of Newtmgr</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>