

<!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>Porting Mynewt OS &mdash; Apache Mynewt 1.4.0 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 1.4.0 documentation" href="../../../index.html" />
  <link rel="up" title="OS User Guide" href="../../os_user_guide.html" />
  <link rel="next" title="BSP Porting" href="port_bsp.html" />
  <link rel="prev" title="Split Images" href="../../modules/split/split.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.5.0 </a> released (Nov 5, 2018)
            </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="../../os_user_guide.html">OS User Guide</a> /
    
    Porting Mynewt OS
    
  <div class="sourcelink">
    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/core_os/porting/port_os.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">
    Version: latest
  </option>
  <option value="/v1_4_0" selected>
    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 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../mynewt_os.html">Kernel</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/system_modules.html">System</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/hal/hal.html">Hardware Abstraction</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/bootloader/bootloader.html">Secure Bootloader</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/split/split.html">Split Images</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Porting Guide</a><ul>
<li class="toctree-l3"><a class="reference internal" href="port_bsp.html">BSP Porting</a></li>
<li class="toctree-l3"><a class="reference internal" href="port_mcu.html">Porting Mynewt to a new MCU</a></li>
<li class="toctree-l3"><a class="reference internal" href="port_cpu.html">Porting Mynewt to a new CPU Architecture</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/baselibc.html">Baselibc</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/drivers/driver.html">Drivers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/devmgmt/newtmgr.html">Device Management with Newt Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/imgmgr/imgmgr.html">Image Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/sysinitconfig/sysinitconfig.html">Compile-Time Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/fs/fs.html">File System</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/fcb/fcb.html">Flash Circular Buffer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/sensor_framework/sensor_framework.html">Sensor Framework</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/testutil/testutil.html">Test Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../modules/json/json.html">JSON</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../network/docs/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="alert alert-warning">
              <p>
                Version 1.4.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="porting-mynewt-os">
<h1>Porting Mynewt OS<a class="headerlink" href="#porting-mynewt-os" title="Permalink to this headline">¶</a></h1>
<div class="toctree-wrapper compound">
</div>
<p>This chapter describes how to adapt the Mynewt OS to different
platforms.</p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#description" id="id1">Description</a></li>
<li><a class="reference internal" href="#board-support-package-bsp-dependency" id="id2">Board Support Package (BSP) Dependency</a></li>
<li><a class="reference internal" href="#mcu-dependency" id="id3">MCU Dependency</a></li>
<li><a class="reference internal" href="#mcu-hal" id="id4">MCU HAL</a></li>
<li><a class="reference internal" href="#cpu-core-dependency" id="id5">CPU Core Dependency</a></li>
</ul>
</div>
<div class="section" id="description">
<h2><a class="toc-backref" href="#id1">Description</a><a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
<p>The Mynewt OS is a complete multi-tasking environment with scheduler,
time control, buffer management, and synchronization objects. it also
includes libraries and services like console, command shell, image
manager, bootloader, and file systems etc.</p>
<p>Thee majority of this software is platform independent and requires no
intervention to run on your platform, but some of the components require
support from the underlying platform.</p>
<p>The platform dependency of these components can fall into several
categories:</p>
<ul class="simple">
<li><strong>CPU Core Dependencies</strong> – Specific code or configuration to
operate the CPU core within your target platform</li>
<li><strong>MCU Dependencies</strong> – Specific code or configuration to operate the
MCU or SoC within your target platform</li>
<li><strong>BSP Dependencies</strong> – Specific code or configuration to accommodate
the specific layout and functionality of your target platform</li>
</ul>
</div>
<div class="section" id="board-support-package-bsp-dependency">
<h2><a class="toc-backref" href="#id2">Board Support Package (BSP) Dependency</a><a class="headerlink" href="#board-support-package-bsp-dependency" title="Permalink to this headline">¶</a></h2>
<p>With all of the functionality provided by the core, MCU, and MCU HAL
(Hardware Abstraction Layer), there are still some things that must be
specified for your particular system. This is provided in Mynewt to
allow you the flexibility to design for the exact functionality,
peripherals and features that you require in your product.</p>
<p>In Mynewt, these settings/components are included in a Board Support
Package (BSP). The BSP contains the information specific to running
Mynewt on a target platform or hardware board. Mynewt supports some
common open source hardware as well as the development boards for some
common MCUs. These development systems might be enough for you to get
your prototype up and running, but when building a product you are
likely going to have your own board which is slightly different from
those already supported by Mynewt.</p>
<p>For example, you might decide on your system that 16 Kilobytes of flash
space in one flash device is reserved for a flash file system. Or on
your system you may decide that GPIO pin 5 of the MCU is connected to
the system LED. Or you may decide that the OS Tick (the underlying time
source for the OS) should run slower than the defaults to conserve
battery power. These types of behaviors are specified in the BSP.</p>
<p>The information provided in the BSP (what you need to specify to get a
complete executable) can vary depending on the MCU and its underlying
core architecture. For example, some MCUs have dedicated pins for UART,
SPI etc, so there is no configuration required in the BSP when using
these peripherals. However some MCUs have a pin multiplexor that allows
the UART to be mapped to several different pins. For these MCUs, the BSP
must specify if and where the UART pins should appear to match the
hardware layout of your system.</p>
<ul class="simple">
<li>If your BSP is already supported by Mynewt, there is no additional
BSP work involved in porting to your platform. You need only to set
the <code class="docutils literal notranslate"><span class="pre">bsp</span></code> attribute in your Mynewt target using the <a class="reference internal" href="../../../newt/index.html"><span class="doc">newt command
tool</span></a>.</li>
<li>If your BSP is not yet supported by Mynewt, you can add support
following the instructions on <a class="reference internal" href="port_bsp.html"><span class="doc">BSP Porting</span></a>.</li>
</ul>
</div>
<div class="section" id="mcu-dependency">
<h2><a class="toc-backref" href="#id3">MCU Dependency</a><a class="headerlink" href="#mcu-dependency" title="Permalink to this headline">¶</a></h2>
<p>Some OS code depends on the MCU or SoC that the system contains. For
example, the MCU may specify the potential memory map of the system -
where code and data can reside.</p>
<ul class="simple">
<li>If your MCU is already supported by Mynewt, there is no additional
MCU work involved in porting to your platform. You need only to set
the <code class="docutils literal notranslate"><span class="pre">arch</span></code> attribute in your Mynewt target using the <a class="reference internal" href="../../../newt/index.html"><span class="doc">newt command
tool</span></a>.</li>
<li>If your MCU is not yet supported by Mynewt, you can add support
following the instructions in <a class="reference internal" href="port_mcu.html"><span class="doc">Porting Mynewt to a new MCU</span></a>.</li>
</ul>
</div>
<div class="section" id="mcu-hal">
<h2><a class="toc-backref" href="#id4">MCU HAL</a><a class="headerlink" href="#mcu-hal" title="Permalink to this headline">¶</a></h2>
<p>Mynewt’s architecture supports a hardware abstraction layer (HAL) for
common on or off-chip MCU peripherals such as GPIO, UARTs, flash memory
etc. Even if your MCU is supported for the core OS, you may find that
you need to implement the HAL functionality for a new peripheral. For a
description of the HAL abstraction and implementation information, see
the <a class="reference internal" href="../../modules/hal/hal.html"><span class="doc">HAL API</span></a></p>
</div>
<div class="section" id="cpu-core-dependency">
<h2><a class="toc-backref" href="#id5">CPU Core Dependency</a><a class="headerlink" href="#cpu-core-dependency" title="Permalink to this headline">¶</a></h2>
<p>Some OS code depends on the CPU core that your system is using. For
example, a given CPU core has a specific assembly language instruction
set, and may require special cross compiler or compiler settings to use
the appropriate instruction set.</p>
<ul class="simple">
<li>If your CPU architecture is already supported by Mynewt, there is no
CPU core work involved in porting to your platform. You need only to
set the <code class="docutils literal notranslate"><span class="pre">arch</span></code> and <code class="docutils literal notranslate"><span class="pre">compiler</span></code> attributes in your Mynewt target
using the <a class="reference internal" href="../../../newt/index.html"><span class="doc">newt command tool</span></a>.</li>
<li>If your CPU architecture is not supported by Mynewt, you can add
support following the instructions on <a class="reference internal" href="port_cpu.html"><span class="doc">Porting Mynewt to a new CPU Architecture</span></a>.</li>
</ul>
</div>
</div>


                  </div>
                </div>
                
    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
      
        <a href="port_bsp.html" class="btn btn-neutral float-right" title="BSP Porting" accesskey="n">Next: BSP Porting <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="../../modules/split/split.html" class="btn btn-neutral" title="Split Images" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Split Images</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="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
                <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: '1.4.0',
      COLLAPSE_INDEX: false,
      FILE_SUFFIX: '.html',
      HAS_SOURCE: true,
    SOURCELINK_SUFFIX: '.txt'
        };
  </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>