mynewt-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ad...@apache.org
Subject [40/51] [partial] incubator-mynewt-site git commit: generated two versions of docs - develop and v0_9_0
Date Mon, 20 Jun 2016 21:42:42 GMT
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/d18c34dd/develop/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/develop/mkdocs/search_index.json b/develop/mkdocs/search_index.json
new file mode 100644
index 0000000..7c7563d
--- /dev/null
+++ b/develop/mkdocs/search_index.json
@@ -0,0 +1,7689 @@
+{
+    "docs": [
+        {
+            "location": "/", 
+            "text": "Apache Mynewt is a real-time, modular operating system for connected IoT devices that need to operate for long periods of time under power, memory, and storage constraints. The first connectivity stack offered is BLE 4.2.", 
+            "title": "Home"
+        }, 
+        {
+            "location": "/quick-start/", 
+            "text": "Get set\n\n\nApache Mynewt currently offers two ways to quickly get set up, each appealing to different personal preferences and levels of familiarity with embedded systems.\n\n\n\n\n\n\n\n\nOption 1:\n All-in-one docker container that bundles Newt tool, developer toolchains and libraries. For this option, go to \nDocker instructions\n\n\n\n\n\n\nOption 2:\n Step-by-step instructions to install the Newt tool, developer toolchains and libraries natively on your computer. For this option, go to \nNative Setup\n\n\n\n\n\n\n\n\nGo!\n\n\nStart a new project as explained under \nCreate Your First Project\n. The core Mynewt OS is automatically downloaded as part of the project installation.\n\n\n\n\n\n\n\n\nWhen you \nCreate Your First Project\n you define a simulated target and run Project Blinky, the Hello World equivalent in the embedded world.\n\n\n\n\n\n\nIf you have one of the supported \nboards\n, you can make real LEDs blink in \nProject Blinky\n. Simply choose
  the appropriate tutorial for the board and proceed.\n\n\n\n\n\n\n\n\nAnd More...\n\n\nExplore the \nTutorials\n section for other interesting projects or simply to learn more about Mynewt's capabilities and get familiar with its use.", 
+            "title": "Quick Start"
+        }, 
+        {
+            "location": "/quick-start/#get-set", 
+            "text": "Apache Mynewt currently offers two ways to quickly get set up, each appealing to different personal preferences and levels of familiarity with embedded systems.     Option 1:  All-in-one docker container that bundles Newt tool, developer toolchains and libraries. For this option, go to  Docker instructions    Option 2:  Step-by-step instructions to install the Newt tool, developer toolchains and libraries natively on your computer. For this option, go to  Native Setup", 
+            "title": "Get set"
+        }, 
+        {
+            "location": "/quick-start/#go", 
+            "text": "Start a new project as explained under  Create Your First Project . The core Mynewt OS is automatically downloaded as part of the project installation.     When you  Create Your First Project  you define a simulated target and run Project Blinky, the Hello World equivalent in the embedded world.    If you have one of the supported  boards , you can make real LEDs blink in  Project Blinky . Simply choose the appropriate tutorial for the board and proceed.", 
+            "title": "Go!"
+        }, 
+        {
+            "location": "/quick-start/#and-more", 
+            "text": "Explore the  Tutorials  section for other interesting projects or simply to learn more about Mynewt's capabilities and get familiar with its use.", 
+            "title": "And More..."
+        }, 
+        {
+            "location": "/about/", 
+            "text": "Roadmap\n\n\n\n\n\n\n\n\nRelease Version\n\n\nDate\n\n\nFeatures\n\n\n\n\n\n\n\n\n\n\n0.9.0\n\n\nMay, 2016\n\n\n* Support images in external flash\n\n\n\n\n\n\n\n\n\n\n* HAL for Nordic nRF52, STMicro\n\n\n\n\n\n\n\n\n\n\n* Support for low power modes in multiple SoCs\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: LE Secure Connections Pairing, including bonding\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Host and Controller separation\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Random private resolvable addresses\n\n\n\n\n\n\n0.10.0\n\n\nJune, 2016\n\n\n* Test coverage improvements\n\n\n\n\n\n\n\n\n\n\n* System watchdog\n\n\n\n\n\n\n\n\n\n\n* Support for additional Arduino boards\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Remote configuration, upgrade, factory reset over BLE 4.2\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Factory reset\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: GATT based BLE profiles for Mynewt\n\n\n\n\n\n\n\n\n\n\n* BLE 4.2: Configurability improvements\n\n\n\n\n\n\n0.11.0\n\n\nJuly, 2016\n\n\n* Wi-Fi support\n\n\n
 \n\n\n\n\n\n\n\n* Add second scripting module\n\n\n\n\n\n\n\n\n\n\n* C++ friendly external header files\n\n\n\n\n\n\n\n\n The detailed roadmap is tracked on \nJIRA for Mynewt\n. \n\n\n\n\nFeature Request\n\n\nThe WISHLIST at the top of the roadmap on \nJIRA for Mynewt\n features all the new ideas awaiting discussion and review. Once the community decides to go ahead with a request, it is scheduled into a release. Generally, effort is made to schedule a requested feature into a particular version no later than 6 weeks prior to the planned release date.\n\n\nIf you have suggestions for a new feature, use case, or implementation improvements, file a JIRA ticket with Issue Type set to \"Wish\". Introduce it in the \ndev@\n mailing list with a link to the JIRA ticket. This assumes you have signed up for an account on JIRA and submitted a request to the dev@ mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project.\n\n\n\n\nFAQ\n\n\n Questions? \n Click \nhere
 ", 
+            "title": "About"
+        }, 
+        {
+            "location": "/about/#roadmap", 
+            "text": "Release Version  Date  Features      0.9.0  May, 2016  * Support images in external flash      * HAL for Nordic nRF52, STMicro      * Support for low power modes in multiple SoCs      * BLE 4.2: LE Secure Connections Pairing, including bonding      * BLE 4.2: Host and Controller separation      * BLE 4.2: Random private resolvable addresses    0.10.0  June, 2016  * Test coverage improvements      * System watchdog      * Support for additional Arduino boards      * BLE 4.2: Remote configuration, upgrade, factory reset over BLE 4.2      * BLE 4.2: Factory reset      * BLE 4.2: GATT based BLE profiles for Mynewt      * BLE 4.2: Configurability improvements    0.11.0  July, 2016  * Wi-Fi support      * Add second scripting module      * C++ friendly external header files      The detailed roadmap is tracked on  JIRA for Mynewt .", 
+            "title": "Roadmap"
+        }, 
+        {
+            "location": "/about/#feature-request", 
+            "text": "The WISHLIST at the top of the roadmap on  JIRA for Mynewt  features all the new ideas awaiting discussion and review. Once the community decides to go ahead with a request, it is scheduled into a release. Generally, effort is made to schedule a requested feature into a particular version no later than 6 weeks prior to the planned release date.  If you have suggestions for a new feature, use case, or implementation improvements, file a JIRA ticket with Issue Type set to \"Wish\". Introduce it in the  dev@  mailing list with a link to the JIRA ticket. This assumes you have signed up for an account on JIRA and submitted a request to the dev@ mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project.", 
+            "title": "Feature Request"
+        }, 
+        {
+            "location": "/about/#faq", 
+            "text": "Questions?   Click  here", 
+            "title": "FAQ"
+        }, 
+        {
+            "location": "/download/", 
+            "text": "Latest Apache Mynewt OS Release\n\n\n\n\nRelease Version: Mynewt 0.9.0-incubating\n\n\nRelease Date: June 6, 2016\n\n\nRelease Notes\n \n\n\n\n\nFresh install\n\n\nIf you are brand new to Mynewt, go to \nQuick Start\n. The Newt tool will automatically download the latest release.\n\n\nIf you have already installed the Newt tool but not started any project yet, go to \nCreate Your First Project\n. The Newt tool will automatically download the latest release.\n\n\nUpgrade\n\n\nIf you have already installed the Newt tool and started a project that installed a previous version of Apache Mynewt,  upgrade using Newt tool:\n\n\n$ newt upgrade\n\n\n\n\n\nCode in development\n\n\nWhile the use of one of the official releases listed above is generally recommended, you may be interested in seeing work in progress.\n\n\nThe most recent code resides in the \ndevelop\n branch of the Mynewt git repository. You may view or fork the repositories for Mynewt OS and Newt Tool from 
 the Apache mirror on github.com.\n\n\n\n\nApache Mynewt OS mirror on github.com\n\n\nApache Newt Tool mirror on github.com\n\n\n\n\nAlternatively, you can clone the desired branch using git:\n\n\n$ git clone git://github.com/apache/incubator-mynewt-core.git -b develop\n$ git clone git://github.com/apache/incubator-mynewt-newt.git -b develop\n\n\n\n\n\n\n\nA relatively stable version of code in progress can be found in the \nmaster\n branch of the Mynewt git repository.\nYou may access the code for Mynewt OS and Newt Tool from the 'master` branch of the Apache mirror on github.com or clone it using git:\n\n\n$ git clone git://github.com/apache/incubator-mynewt-core.git\n$ git clone git://github.com/apache/incubator-mynewt-newt.git\n\n\n\n\n\n\n\nFor general information on using Git at Apache, go to https://git-wip-us.apache.org.\n\n\n\n\nRelease Archives\n\n\n\n\nMynewt 0.8.0-b2-incubating, \nRelease Notes", 
+            "title": "Download"
+        }, 
+        {
+            "location": "/download/#latest-apache-mynewt-os-release", 
+            "text": "Release Version: Mynewt 0.9.0-incubating  Release Date: June 6, 2016  Release Notes", 
+            "title": "Latest Apache Mynewt OS Release"
+        }, 
+        {
+            "location": "/download/#fresh-install", 
+            "text": "If you are brand new to Mynewt, go to  Quick Start . The Newt tool will automatically download the latest release.  If you have already installed the Newt tool but not started any project yet, go to  Create Your First Project . The Newt tool will automatically download the latest release.", 
+            "title": "Fresh install"
+        }, 
+        {
+            "location": "/download/#upgrade", 
+            "text": "If you have already installed the Newt tool and started a project that installed a previous version of Apache Mynewt,  upgrade using Newt tool:  $ newt upgrade", 
+            "title": "Upgrade"
+        }, 
+        {
+            "location": "/download/#code-in-development", 
+            "text": "While the use of one of the official releases listed above is generally recommended, you may be interested in seeing work in progress.  The most recent code resides in the  develop  branch of the Mynewt git repository. You may view or fork the repositories for Mynewt OS and Newt Tool from the Apache mirror on github.com.   Apache Mynewt OS mirror on github.com  Apache Newt Tool mirror on github.com   Alternatively, you can clone the desired branch using git:  $ git clone git://github.com/apache/incubator-mynewt-core.git -b develop\n$ git clone git://github.com/apache/incubator-mynewt-newt.git -b develop   A relatively stable version of code in progress can be found in the  master  branch of the Mynewt git repository.\nYou may access the code for Mynewt OS and Newt Tool from the 'master` branch of the Apache mirror on github.com or clone it using git:  $ git clone git://github.com/apache/incubator-mynewt-core.git\n$ git clone git://github.com/apache/incubator-myn
 ewt-newt.git   For general information on using Git at Apache, go to https://git-wip-us.apache.org.", 
+            "title": "Code in development"
+        }, 
+        {
+            "location": "/download/#release-archives", 
+            "text": "Mynewt 0.8.0-b2-incubating,  Release Notes", 
+            "title": "Release Archives"
+        }, 
+        {
+            "location": "/community/", 
+            "text": "Mailing Lists\n\n\nWe welcome you to join our mailing lists and get in touch with us! \n\n \nTo complete your subscription you have to confirm it by replying to the response sent to you when you email your subscription request!", 
+            "title": "Community"
+        }, 
+        {
+            "location": "/community/#mailing-lists", 
+            "text": "We welcome you to join our mailing lists and get in touch with us!    To complete your subscription you have to confirm it by replying to the response sent to you when you email your subscription request!", 
+            "title": "Mailing Lists"
+        }, 
+        {
+            "location": "/events/", 
+            "text": "Events\n\n\nPlease take a look at our upcoming events! We hope to see you there.", 
+            "title": "Events"
+        }, 
+        {
+            "location": "/events/#events", 
+            "text": "Please take a look at our upcoming events! We hope to see you there.", 
+            "title": "Events"
+        }, 
+        {
+            "location": "/os/introduction/", 
+            "text": "Introduction\n\n\nWelcome to Apache Mynewt\n\n\nApache Mynewt is an operating system that makes it easy to develop\napplications for microcontroller environments where power and cost \nare driving factors. Examples of these devices are connected locks, \nlights, and wearables.\n\n\nMicrocontroller environments have a number of characteristics that \nmakes the operating system requirements for them unique: \n\n\n\n\n\n\nLow memory footprint: memory on these systems range from \n8-16KB (on the low end) to 16MB (on the high end).\n\n\n\n\n\n\nReduced code size: code often runs out of flash, and total available code size ranges from 64-128KB to 16-32MB.\n\n\n\n\n\n\nLow processing speed: processor speeds vary from 10-12MHz to 160-200MHz.  \n\n\n\n\n\n\nLow power operation: devices operate in mostly sleeping mode, in order to conserve\nbattery power and maximize power usage.\n\n\n\n\n\n\nAs more and more devices get connected, these interconnected devices perform com
 plex tasks. To\nperform these tasks, you need low-level operational functionality built into the operating system.\nTypically, connected devices built with these microcontrollers perform a myriad of functions: \n\n\n\n\n\n\nNetworking Stacks: Bluetooth Low Energy and Thread\n\n\n\n\n\n\nPeripherals: PWM to drive motors, ADCs to measure sensor data, and RTCs\nto keep time.\n\n\n\n\n\n\nScheduled Processing: actions must happen on a calendared or periodic basis.\n\n\n\n\n\n\nApache Mynewt accomplishes all the above easily, by providing a complete\noperating system for constrained devices, including:\n\n\n\n\n\n\nA fully open-source Bluetooth Low Energy stack with both Host and \nController implementations. \n\n\n\n\n\n\nA pre-emptive, multi-tasking Real Time operating system kernel\n\n\n\n\n\n\nA Hardware Abstraction Layer (HAL) that abstracts the MCU's \nperipheral functions, allowing developers to easily write cross-platform\ncode.\n\n\n\n\n\n\n\n\nNewt\n\n\nIn order to provide all 
 this functionality, and operate in an \nextremely low resource environment, Mynewt provides a very fine-grained source \npackage management and build system tool, called \nnewt\n. \n\n\nYou can install and build \nnewt\n for \nLinux\n or \nMac\n. \n\n\n\n\nNewt Manager\n\n\nIn order to enable a user to communicate with remote instances of Mynewt OS and query, configure, and operate them, Mynewt provides an application tool called Newt Manager or \nnewtmgr\n.\n\n\nYou can install and build \nnewtmgr\n from source code on \nLinux or Mac\n. \n\n\n\n\nBuild your first Mynewt App with Newt\n\n\nWith the introductions out of the way, now is a good time to \nget set up and \nstarted\n with your first Mynewt application.\n\n\nHappy Hacking!", 
+            "title": "toc"
+        }, 
+        {
+            "location": "/os/introduction/#introduction", 
+            "text": "", 
+            "title": "Introduction"
+        }, 
+        {
+            "location": "/os/introduction/#welcome-to-apache-mynewt", 
+            "text": "Apache Mynewt is an operating system that makes it easy to develop\napplications for microcontroller environments where power and cost \nare driving factors. Examples of these devices are connected locks, \nlights, and wearables.  Microcontroller environments have a number of characteristics that \nmakes the operating system requirements for them unique:     Low memory footprint: memory on these systems range from \n8-16KB (on the low end) to 16MB (on the high end).    Reduced code size: code often runs out of flash, and total available code size ranges from 64-128KB to 16-32MB.    Low processing speed: processor speeds vary from 10-12MHz to 160-200MHz.      Low power operation: devices operate in mostly sleeping mode, in order to conserve\nbattery power and maximize power usage.    As more and more devices get connected, these interconnected devices perform complex tasks. To\nperform these tasks, you need low-level operational functionality built into the opera
 ting system.\nTypically, connected devices built with these microcontrollers perform a myriad of functions:     Networking Stacks: Bluetooth Low Energy and Thread    Peripherals: PWM to drive motors, ADCs to measure sensor data, and RTCs\nto keep time.    Scheduled Processing: actions must happen on a calendared or periodic basis.    Apache Mynewt accomplishes all the above easily, by providing a complete\noperating system for constrained devices, including:    A fully open-source Bluetooth Low Energy stack with both Host and \nController implementations.     A pre-emptive, multi-tasking Real Time operating system kernel    A Hardware Abstraction Layer (HAL) that abstracts the MCU's \nperipheral functions, allowing developers to easily write cross-platform\ncode.", 
+            "title": "Welcome to Apache Mynewt"
+        }, 
+        {
+            "location": "/os/introduction/#newt", 
+            "text": "In order to provide all this functionality, and operate in an \nextremely low resource environment, Mynewt provides a very fine-grained source \npackage management and build system tool, called  newt .   You can install and build  newt  for  Linux  or  Mac .", 
+            "title": "Newt"
+        }, 
+        {
+            "location": "/os/introduction/#newt-manager", 
+            "text": "In order to enable a user to communicate with remote instances of Mynewt OS and query, configure, and operate them, Mynewt provides an application tool called Newt Manager or  newtmgr .  You can install and build  newtmgr  from source code on  Linux or Mac .", 
+            "title": "Newt Manager"
+        }, 
+        {
+            "location": "/os/introduction/#build-your-first-mynewt-app-with-newt", 
+            "text": "With the introductions out of the way, now is a good time to  get set up and \nstarted  with your first Mynewt application.  Happy Hacking!", 
+            "title": "Build your first Mynewt App with Newt"
+        }, 
+        {
+            "location": "/os/get_started/get_started/", 
+            "text": "Quick Start\n\n\nIf you are curious about Mynewt and want to get a quick feel for the project, you've come to the right place. We have two options for you:\n\n\n\n\nOption 1\n is the quick and easy way to get up and running with Mynewt. The Newt tool and build toolchains are all available in a single \nAll-in-one Docker Container\n that you can install on your laptop or computer.\n\n\n\n\nOption 2\n allows you to install the Newt tool, instances of the Mynewt OS (for simulated targets), and toolchains for developing embedded software (e.g. GNU toolchain) natively on your laptop or computer. You may want this if you are already familiar with such environments or are concerned about performance on your machine. Follow the instructions to \ninstall native tools\n and \ninstall cross tools for ARM\n if you prefer this option.\n\n\n\n\nYou can then proceed with the instructions on how to \n* \nCreate Your First Project\n - on simulated hardware.\n\n\nUpon successful 
 start, several tutorials await your eager attention!\n\n\n\n\nSend us an email on the dev@ mailing list if you have comments or suggestions!\n If you haven't joined the mailing list, you will find the links \nhere\n.", 
+            "title": "toc"
+        }, 
+        {
+            "location": "/os/get_started/get_started/#quick-start", 
+            "text": "If you are curious about Mynewt and want to get a quick feel for the project, you've come to the right place. We have two options for you:   Option 1  is the quick and easy way to get up and running with Mynewt. The Newt tool and build toolchains are all available in a single  All-in-one Docker Container  that you can install on your laptop or computer.   Option 2  allows you to install the Newt tool, instances of the Mynewt OS (for simulated targets), and toolchains for developing embedded software (e.g. GNU toolchain) natively on your laptop or computer. You may want this if you are already familiar with such environments or are concerned about performance on your machine. Follow the instructions to  install native tools  and  install cross tools for ARM  if you prefer this option.   You can then proceed with the instructions on how to \n*  Create Your First Project  - on simulated hardware.  Upon successful start, several tutorials await your eager attention!
    Send us an email on the dev@ mailing list if you have comments or suggestions!  If you haven't joined the mailing list, you will find the links  here .", 
+            "title": "Quick Start"
+        }, 
+        {
+            "location": "/os/get_started/docker/", 
+            "text": "Everything You Need in a Docker Container\n\n\nDocker provides a quick and easy way to get up and running with Mynewt. The\nnewt command line tool and the entire build toolchain is available in a single\ndocker container. The container is all that's needed to run your Mynewt based\napplication in the simulator.  Enabling USB2 with your docker installation will\nallow you to load your application on a supported device.\n\n\nThe Docker is the only supported option if you are working on a Windows machine. If you are using Mac OS X or Linux, you have the choice of installing a Docker container of tools and toolchains or installing them natively. This chapter describes how to set up the Docker image for all three platforms.\n\n\n\n\nInstall Docker\n\n\nInstall docker for your platform. \nMac OS X\n / \nWindows\n / \nLinux\n\n\nMake sure to double click the Docker Quickstart Terminal application if you're on Mac or Windows.\n\n\n\n\nUse the newt wrapper script\n\n\nUs
 e the newt wrapper script to invoke newt.  Create the following file, name it\n\nnewt\n, make it executable, and put it in your path. This will allow you to run newt as if it was natively installed.  You can now follow the normal tutorials using the newt wrapper script.\n\n\n#!/bin/bash\n\n\ndocker run -ti --rm --device\n=\n/dev/bus/usb --privileged -v \n$(pwd)\n:/workspace -w /workspace mynewt/newt:latest /newt \n$@\n\n\n\n\n\n\n\n\nNote 1:\n Remember to point to the correct subdirectory level when invoking \nnewt\n. For example, invoke it using \n../newt\n in the example below.\n\n\nuser@~/dockertest$ ls\nmyproj  newt\nuser@~/dockertest$ cd myproj\n\nuser@~/dockertest/myproj$ ../newt version\n\nApache Newt (incubating) version: 0.8.0-b2\n\n\n\n\n\n\n\nNote 2:\n You can upgrade your container by running \ndocker pull mynewt/newt:latest\n when updates are made available.\n\n\n\n\nEnable USB2 Support for Mac or Windows\n\n\nIf you plan on loading your application on an actual device,
  do the steps below.\n\n\n\n\nInstall VirtualBox extension pack\n\n\nDocker uses a VirtualBox Linux VM to run containers.  A free VirtualBox\nextension pack is required to enable USB2 support.  Download the \nVirtualBox\n5.0.16 Oracle VM VirtualBox Extension\nPack\n\nand double click to install\n\n\n\n\nEnable USB2 and select your device\n\n\n\n\n\n\nThe \"default\" VM created by docker-machine must first be stopped before you\n  can enable USB2.  You have two options:\n\n\n\n\nRun the command \ndocker-machine stop default\n in the terminal window or\n\n\nUse the VirtualBox UI. Right click on \ndefault\n -\n Close -\n Power Off\n\n\n\n\n\n\n\n\nEnable USB2 using the VirtualBox UI. Select the \"default\"\n  VM-\nSettings-\nPorts-\nUSB2 to enable USB2.   Add your device to the USB Device\n  Filters to make the device visible in the docker container.  See the image below.\n\n\n\n\n\n\n\n\n\n\nRestart the \"default\" VM. You have two options:\n\n\nRun \ndocker-machine start default\n in
  the terminal window or \n\n\nUse the VirtualBox UI. Make sure the \"default\" machine is highlighted. Click the green \"Start\" button. Select \"Headless Start\".\n\n\n\n\n\n\n\n\n\n\nNote 3\n: When working with actual hardware, remember that each board has an ID. If you swap boards and do not refresh the USB Device Filter on the VirtualBox UI, the ID might be stale and the Docker instance may not be able to see the board correctly. For example, you may see an error message like \nError: unable to find CMSIS-DAP device\n when you try to load or run an image on the board. In that case, you need to click on the USB link in VirtualBox UI, remove the existing USB Device Filter (e.g. \"Atmel Corp. EDBG CMSIS-DAP[0101]\") by clicking on the \"Removes selected USB filter\" button, and add a new filter by clicking on the \"Adds new USB filter\" button.", 
+            "title": "Docker Container Option"
+        }, 
+        {
+            "location": "/os/get_started/docker/#everything-you-need-in-a-docker-container", 
+            "text": "Docker provides a quick and easy way to get up and running with Mynewt. The\nnewt command line tool and the entire build toolchain is available in a single\ndocker container. The container is all that's needed to run your Mynewt based\napplication in the simulator.  Enabling USB2 with your docker installation will\nallow you to load your application on a supported device.  The Docker is the only supported option if you are working on a Windows machine. If you are using Mac OS X or Linux, you have the choice of installing a Docker container of tools and toolchains or installing them natively. This chapter describes how to set up the Docker image for all three platforms.", 
+            "title": "Everything You Need in a Docker Container"
+        }, 
+        {
+            "location": "/os/get_started/docker/#install-docker", 
+            "text": "Install docker for your platform.  Mac OS X  /  Windows  /  Linux  Make sure to double click the Docker Quickstart Terminal application if you're on Mac or Windows.", 
+            "title": "Install Docker"
+        }, 
+        {
+            "location": "/os/get_started/docker/#use-the-newt-wrapper-script", 
+            "text": "Use the newt wrapper script to invoke newt.  Create the following file, name it newt , make it executable, and put it in your path. This will allow you to run newt as if it was natively installed.  You can now follow the normal tutorials using the newt wrapper script.  #!/bin/bash \n\ndocker run -ti --rm --device = /dev/bus/usb --privileged -v  $(pwd) :/workspace -w /workspace mynewt/newt:latest /newt  $@    Note 1:  Remember to point to the correct subdirectory level when invoking  newt . For example, invoke it using  ../newt  in the example below.  user@~/dockertest$ ls\nmyproj  newt\nuser@~/dockertest$ cd myproj user@~/dockertest/myproj$ ../newt version Apache Newt (incubating) version: 0.8.0-b2   Note 2:  You can upgrade your container by running  docker pull mynewt/newt:latest  when updates are made available.", 
+            "title": "Use the newt wrapper script"
+        }, 
+        {
+            "location": "/os/get_started/docker/#enable-usb2-support-for-mac-or-windows", 
+            "text": "If you plan on loading your application on an actual device, do the steps below.", 
+            "title": "Enable USB2 Support for Mac or Windows"
+        }, 
+        {
+            "location": "/os/get_started/docker/#install-virtualbox-extension-pack", 
+            "text": "Docker uses a VirtualBox Linux VM to run containers.  A free VirtualBox\nextension pack is required to enable USB2 support.  Download the  VirtualBox\n5.0.16 Oracle VM VirtualBox Extension\nPack \nand double click to install", 
+            "title": "Install VirtualBox extension pack"
+        }, 
+        {
+            "location": "/os/get_started/docker/#enable-usb2-and-select-your-device", 
+            "text": "The \"default\" VM created by docker-machine must first be stopped before you\n  can enable USB2.  You have two options:   Run the command  docker-machine stop default  in the terminal window or  Use the VirtualBox UI. Right click on  default  -  Close -  Power Off     Enable USB2 using the VirtualBox UI. Select the \"default\"\n  VM- Settings- Ports- USB2 to enable USB2.   Add your device to the USB Device\n  Filters to make the device visible in the docker container.  See the image below.      Restart the \"default\" VM. You have two options:  Run  docker-machine start default  in the terminal window or   Use the VirtualBox UI. Make sure the \"default\" machine is highlighted. Click the green \"Start\" button. Select \"Headless Start\".      Note 3 : When working with actual hardware, remember that each board has an ID. If you swap boards and do not refresh the USB Device Filter on the VirtualBox UI, the ID might be stale and the Docker instance may not be abl
 e to see the board correctly. For example, you may see an error message like  Error: unable to find CMSIS-DAP device  when you try to load or run an image on the board. In that case, you need to click on the USB link in VirtualBox UI, remove the existing USB Device Filter (e.g. \"Atmel Corp. EDBG CMSIS-DAP[0101]\") by clicking on the \"Removes selected USB filter\" button, and add a new filter by clicking on the \"Adds new USB filter\" button.", 
+            "title": "Enable USB2 and select your device"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/", 
+            "text": "Installing Native Mynewt Tools\n\n\nThis page shows how to install tools for native Mynewt targets (simulated targets on your laptop/computer) without using a Docker container. In other words, it allows you to run Mynewt OS as a native application on your Mac or Linux machine to simulate a target and use the Newt tool running natively on your machine to manage the simulated target. It also allows you to run the test suites for all packages not requiring HW support. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container.\n\n\nThis page provides guidance for MAC and Linux. See the relevant sections below.\n\n\n\n\nSet up toolchain for Mac\n\n\nInstall Brew\n\n\nIf you have not already installed Homebrew from the \n\nnewt\n tutorials pages\n, install it. \n\n\n\n\nInstall gcc/libc\n\n\nOS X ships with a C compiler called Clang.  To build applications for the Mynewt simulator, you will need a different compiler: 
 gcc.\n\n\n$ brew install gcc\n...\n...\n==\n Summary\n\ud83c\udf7a  /usr/local/Cellar/gcc/5.2.0: 1353 files, 248M\n\n\n\n\n\n\n\nInstall gdb\n\n\n$ brew install gdb\n...\n...\n==\n Summary\n\ud83c\udf7a  /usr/local/Cellar/gdb/7.10.1: XXX files,YYM\n\n\n\n\n\n\n\nNOTE:\n When running a program with gdb, you may need to sign your gdb\nexecutable.  \nThis page\n\nshows a recipe for gdb signing. Alternately you can skip this step and\ncontinue without the ability to debug your mynewt application on your PC.*\n\n\n\n\nSet up toolchain for Linux\n\n\nThe below procedure can be used to set up a Debian-based Linux system (e.g.,\nUbuntu).  If you are running a different Linux distribution, you will need to\nsubstitute invocations of \napt-get\n in the below steps with the package manager\nthat your distro uses.\n\n\n\n\nInstall gcc/libc that will produce 32-bit executables:\n\n\n$ sudo apt-get install gcc-multilib libc6-i386\n\n\n\n\n\n\n\nInstall gdb\n\n\n$ sudo apt-get install gdb\n\nReadi
 ng package lists... Done\nBuilding dependency tree       \nReading state information... Done\nSuggested packages:\n  gdb-doc gdbserver\nThe following NEW packages will be installed:\n  gdb\n...\nProcessing triggers for man-db (2.6.7.1-1ubuntu1) ...\nSetting up gdb (7.7.1-0ubuntu5~14.04.2) ...\n\n\n\n\n\n\n\nAt this point you have installed all the necessary software to build and test code on a simluator running on your Mac or Linux. Proceed to the \nCreate Your First Project\n section.", 
+            "title": "toc"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/#installing-native-mynewt-tools", 
+            "text": "This page shows how to install tools for native Mynewt targets (simulated targets on your laptop/computer) without using a Docker container. In other words, it allows you to run Mynewt OS as a native application on your Mac or Linux machine to simulate a target and use the Newt tool running natively on your machine to manage the simulated target. It also allows you to run the test suites for all packages not requiring HW support. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container.  This page provides guidance for MAC and Linux. See the relevant sections below.", 
+            "title": "Installing Native Mynewt Tools"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/#set-up-toolchain-for-mac", 
+            "text": "", 
+            "title": "Set up toolchain for Mac"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/#install-brew", 
+            "text": "If you have not already installed Homebrew from the  newt  tutorials pages , install it.", 
+            "title": "Install Brew"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/#install-gcclibc", 
+            "text": "OS X ships with a C compiler called Clang.  To build applications for the Mynewt simulator, you will need a different compiler: gcc.  $ brew install gcc\n...\n...\n==  Summary\n\ud83c\udf7a  /usr/local/Cellar/gcc/5.2.0: 1353 files, 248M", 
+            "title": "Install gcc/libc"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/#install-gdb", 
+            "text": "$ brew install gdb\n...\n...\n==  Summary\n\ud83c\udf7a  /usr/local/Cellar/gdb/7.10.1: XXX files,YYM   NOTE:  When running a program with gdb, you may need to sign your gdb\nexecutable.   This page \nshows a recipe for gdb signing. Alternately you can skip this step and\ncontinue without the ability to debug your mynewt application on your PC.*", 
+            "title": "Install gdb"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/#set-up-toolchain-for-linux", 
+            "text": "The below procedure can be used to set up a Debian-based Linux system (e.g.,\nUbuntu).  If you are running a different Linux distribution, you will need to\nsubstitute invocations of  apt-get  in the below steps with the package manager\nthat your distro uses.", 
+            "title": "Set up toolchain for Linux"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/#install-gcclibc-that-will-produce-32-bit-executables", 
+            "text": "$ sudo apt-get install gcc-multilib libc6-i386", 
+            "title": "Install gcc/libc that will produce 32-bit executables:"
+        }, 
+        {
+            "location": "/os/get_started/native_tools/#install-gdb_1", 
+            "text": "$ sudo apt-get install gdb\n\nReading package lists... Done\nBuilding dependency tree       \nReading state information... Done\nSuggested packages:\n  gdb-doc gdbserver\nThe following NEW packages will be installed:\n  gdb\n...\nProcessing triggers for man-db (2.6.7.1-1ubuntu1) ...\nSetting up gdb (7.7.1-0ubuntu5~14.04.2) ...   At this point you have installed all the necessary software to build and test code on a simluator running on your Mac or Linux. Proceed to the  Create Your First Project  section.", 
+            "title": "Install gdb"
+        }, 
+        {
+            "location": "/newt/install/newt_mac/", 
+            "text": "Install newt tool on your Mac\n\n\nGetting your Mac Ready\n\n\nIf you want to build the \nnewt\n tool from its source code, follow the following steps:\n\n\n\n\n1. Install Homebrew on your Mac OS X\n\n\n\n\nDo you have Homebrew? If not, open a terminal on your Mac and paste the following at a Terminal prompt. It will ask you for your sudo password.\n\n\n\n\n        $ ruby -e \n$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\n\n\n\n\n\n\nAlternatively, you can just extract (or \ngit clone\n) Homebrew and install it to \n/usr/local\n.\n\n\n\n\n2. Install Go, the programming language\n\n\n\n\n\n\nGo language environment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. \n\n\n\n\n\n\nsrc contains Go source files organized into packages (one package per directory),\n\n\n\n\n\n\npkg contains package objects, and\n\n
 \n\n\n\n\nbin contains executable commands.\n\n\n\n\n\n\nThe GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the \nnewt\n tool repository.\n\n\n\n\n\n\n\n\n        $ cd $HOME\n        $ mkdir -p dev/go  \n        $ cd dev/go\n        $ export GOPATH=`pwd`\n\n\n\n\n\n(Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)\n\n\n\n\n        $ vi ~/.bash_profile\n        $ source ~/.bash_profile\n\n\n\n\n\n\n\n\n\nNext, using \nbrew\n, install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import \nnewt\n rep
 o into your local Go environment.\n\n\n\n\n        $ brew install go\n        ==\n \n        ...\n        ... \n        ==\n *Summary*\n        \ud83c\udf7a  /usr/local/Cellar/go/1.5.1: 5330 files, 273M\n\n\n\n\n\nAlternatively, you can download the Go package directly from (https://golang.org/dl/) instead of brewing it. Install it in /usr/local directory.\n\n\n\n\n3. Create local repository\n\n\n\n\nUse Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.\n\n\n\n\n        $ go get mynewt.apache.org/newt/...\n\n\n\n\n\n\n\nCheck that newt.go is in place.\n\n\n\n\n        $ ls $GOPATH/src/mynewt.apache.org/newt\n        DISCLAIMER  NOTICE      newt        newtvm      viper\n        LICENSE     README.md   newtmgr     util        yaml\n\n\n\n\n\n\n\n4. Build the Newt tool\n\n\n\n\nUse Go to run the newt.go program to build the \nnewt\n tool. The command \ngo install\n compiles and writes 
 the resulting executable to an output file named \nnewt\n, which is then installed, along with its dependencies, in $GOPATH/bin.\n\n\n\n\n        $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n        $ go install\n        $ ls \n$GOPATH\n/bin/\n        newt newtmgr newtvm\n\n\n\n\n\n\n\n\n\nAt this point, you can try using \nnewt\n. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.\n\n\n\n\n(Note: If you are going to be modifying the \nnewt\n often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in \nexport newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"\n in your .bash_profile and execute it by calling \n$newt\n at the prompt instead of \nnewt\n. Essentially, \n$newt\n calls \ngo run\n which runs the compiled binary directly without producing an executable. Don't forget to reload the 
 updated bash profile by typing \nsource ~/.bash_profile\n at the prompt! )\n\n\n        $ newt version\n        Newt version:  1.0\n        $ newt -h\n        Newt allows you to create your own embedded project based on the Mynewt\n        operating system. Newt provides both build and package management in a\n        single tool, which allows you to compose an embedded workspace, and set\n        of projects, and then build the necessary artifacts from those projects.\n        For more information on the Mynewt operating system, please visit\n        https://www.github.com/mynewt/documentation.\n\n        Please use the newt help command, and specify the name of the command\n        you want help for, for help on how to use a specific command\n\n        Usage:\n         newt [flags]\n         newt [command]\n\n        Examples:\n         newt\n         newt help [\ncommand-name\n]\n           For help on \ncommand-name\n.  If not specified, print this message.\n\n\n        Availabl
 e Commands:\n         version     Display the Newt version number.\n         target      Set and view target information\n         egg         Commands to list and inspect eggs on a nest\n         nest        Commands to manage nests \n clutches (remote egg repositories)\n         help        Help about any command\n\n        Flags:\n         -h, --help=false: help for newt\n         -l, --loglevel=\nWARN\n: Log level, defaults to WARN.\n         -q, --quiet=false: Be quiet; only display error output.\n         -s, --silent=false: Be silent; don\nt output anything.\n         -v, --verbose=false: Enable verbose output when executing commands.\n\n\n        Use \nnewt help [command]\n for more information about a command.", 
+            "title": "Install Newt on Mac"
+        }, 
+        {
+            "location": "/newt/install/newt_mac/#install-newt-tool-on-your-mac", 
+            "text": "", 
+            "title": "Install newt tool on your Mac"
+        }, 
+        {
+            "location": "/newt/install/newt_mac/#getting-your-mac-ready", 
+            "text": "If you want to build the  newt  tool from its source code, follow the following steps:", 
+            "title": "Getting your Mac Ready"
+        }, 
+        {
+            "location": "/newt/install/newt_mac/#1-install-homebrew-on-your-mac-os-x", 
+            "text": "Do you have Homebrew? If not, open a terminal on your Mac and paste the following at a Terminal prompt. It will ask you for your sudo password.           $ ruby -e  $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)   Alternatively, you can just extract (or  git clone ) Homebrew and install it to  /usr/local .", 
+            "title": "1. Install Homebrew on your Mac OS X"
+        }, 
+        {
+            "location": "/newt/install/newt_mac/#2-install-go-the-programming-language", 
+            "text": "Go language environment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below.     src contains Go source files organized into packages (one package per directory),    pkg contains package objects, and    bin contains executable commands.    The GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the  newt  tool repository.             $ cd $HOME\n        $ mkdir -p dev/go  \n        $ cd dev/go\n        $ export GOPATH=`pwd`  (Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)           $ vi ~/.bash_profile\n        $ source ~/.bash_profile   
  Next, using  brew , install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import  newt  repo into your local Go environment.           $ brew install go\n        ==  \n        ...\n        ... \n        ==  *Summary*\n        \ud83c\udf7a  /usr/local/Cellar/go/1.5.1: 5330 files, 273M  Alternatively, you can download the Go package directly from (https://golang.org/dl/) instead of brewing it. Install it in /usr/local directory.", 
+            "title": "2. Install Go, the programming language"
+        }, 
+        {
+            "location": "/newt/install/newt_mac/#3-create-local-repository", 
+            "text": "Use Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.           $ go get mynewt.apache.org/newt/...   Check that newt.go is in place.           $ ls $GOPATH/src/mynewt.apache.org/newt\n        DISCLAIMER  NOTICE      newt        newtvm      viper\n        LICENSE     README.md   newtmgr     util        yaml", 
+            "title": "3. Create local repository"
+        }, 
+        {
+            "location": "/newt/install/newt_mac/#4-build-the-newt-tool", 
+            "text": "Use Go to run the newt.go program to build the  newt  tool. The command  go install  compiles and writes the resulting executable to an output file named  newt , which is then installed, along with its dependencies, in $GOPATH/bin.           $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n        $ go install\n        $ ls  $GOPATH /bin/\n        newt newtmgr newtvm    At this point, you can try using  newt . For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.   (Note: If you are going to be modifying the  newt  often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in  export newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"  in your .bash_profile and execute it by calling  $newt  at the prompt instead of  newt . Essentially,  $newt  calls  go run  which runs the compile
 d binary directly without producing an executable. Don't forget to reload the updated bash profile by typing  source ~/.bash_profile  at the prompt! )          $ newt version\n        Newt version:  1.0\n        $ newt -h\n        Newt allows you to create your own embedded project based on the Mynewt\n        operating system. Newt provides both build and package management in a\n        single tool, which allows you to compose an embedded workspace, and set\n        of projects, and then build the necessary artifacts from those projects.\n        For more information on the Mynewt operating system, please visit\n        https://www.github.com/mynewt/documentation.\n\n        Please use the newt help command, and specify the name of the command\n        you want help for, for help on how to use a specific command\n\n        Usage:\n         newt [flags]\n         newt [command]\n\n        Examples:\n         newt\n         newt help [ command-name ]\n           For help on  command
 -name .  If not specified, print this message.\n\n\n        Available Commands:\n         version     Display the Newt version number.\n         target      Set and view target information\n         egg         Commands to list and inspect eggs on a nest\n         nest        Commands to manage nests   clutches (remote egg repositories)\n         help        Help about any command\n\n        Flags:\n         -h, --help=false: help for newt\n         -l, --loglevel= WARN : Log level, defaults to WARN.\n         -q, --quiet=false: Be quiet; only display error output.\n         -s, --silent=false: Be silent; don t output anything.\n         -v, --verbose=false: Enable verbose output when executing commands.\n\n\n        Use  newt help [command]  for more information about a command.", 
+            "title": "4. Build the Newt tool"
+        }, 
+        {
+            "location": "/newt/install/newt_linux/", 
+            "text": "Install newt tool on Linux\n\n\n\n\nGetting your Linux box Ready\n\n\nIf you want to build the \nnewt\n tool from its source code, follow the following steps:\n\n\n1. Install git, libcurl\n\n\n        $ sudo apt-get install git \n        $ sudo apt-get install libcurl4-gnutls-dev \n\n\n\n\n\n\n\n2. Install Go, the programming language\n\n\n\n\n\n\nGo language environment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below. \n\n\n\n\n\n\nsrc contains Go source files organized into packages (one package per directory),\n\n\n\n\n\n\npkg contains package objects, and\n\n\n\n\n\n\nbin contains executable commands.\n\n\n\n\n\n\nThe GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory 
 where you will soon clone the \nnewt\n tool repository.\n\n\n\n\n\n\n        $ cd $HOME\n        $ mkdir -p dev/go  \n        $ cd dev/go\n        $ export GOPATH=`pwd`\n\n\n\n\n\n(Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)\n\n\n\n\n        $ vi ~/.bash_profile\n        $ source ~/.bash_profile\n\n\n\n\n\n\n\n\n\n\n\nNext, install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import \nnewt\n repo into your local Go environment.\n\n\nNote\n: The Newt tool requires Go version 1.5 or later. It uses the support for \"vendoring\" that was added in Go 1.5. Depending on the Ubuntu version you have, the following may install an earlier version. In that case, download the latest package of Go 1.5 
 or 1.6 from \nhttps://golang.org/dl/\n. You can search for more detailed instructions such as installing Go 1.6 on Ubuntu 14.04 which can be found at \nhttps://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-14-04\n.\n\n\n\n\n\n\n        $ sudo apt-get install golang \n\n\n\n\n\n    \n\n\n3. Create local repository\n\n\n\n\nUse Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.\n\n\n\n\n        $ go get mynewt.apache.org/newt/...\n\n\n\n\n\n\n\n\n\nCheck that newt.go is in place.\n\n\n\n\n        $ ls $GOPATH/src/mynewt.apache.org/newt\n        DISCLAIMER  NOTICE      newt        newtvm      viper\n        LICENSE     README.md   newtmgr     util        yaml\n\n\n\n\n\n\n\n4. Build the Newt tool\n\n\n\n\nUse Go to run the newt.go program to build the \nnewt\n tool. The command \ngo install\n compiles and writes the resulting executable to an output file named 
 \nnewt\n, which is then installed, along with its dependencies, in $GOPATH/bin. If you get errors it is likely because of path resolution issues. Try \ngo build\n  followed by \ngo install\n in that case.\n\n\n\n\n        $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n        $ go install\n        $ ls \n$GOPATH\n/bin/\n        newt newtmgr newtvm\n\n\n\n\n\n\n\n\n\nAt this point, you can try using \nnewt\n. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.\n\n\n\n\n(Note: If you are going to be modifying the \nnewt\n often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in \nexport newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"\n in your .bash_profile and execute it by calling \n$newt\n at the prompt instead of \nnewt\n. Essentially, \n$newt\n calls \ngo run\n which runs the compiled 
 binary directly without producing an executable. Don't forget to reload the updated bash profile by typing \nsource ~/.bash_profile\n at the prompt! )\n\n\n        $ newt version\n        Newt version:  1.0\n        $ newt -h\n        Newt allows you to create your own embedded project based on the Mynewt\n        operating system. Newt provides both build and package management in a\n        single tool, which allows you to compose an embedded workspace, and set\n        of projects, and then build the necessary artifacts from those projects.\n        For more information on the Mynewt operating system, please visit\n        https://www.github.com/mynewt/documentation.\n\n        Please use the newt help command, and specify the name of the command\n        you want help for, for help on how to use a specific command\n\n        Usage:\n         newt [flags]\n         newt [command]\n\n        Examples:\n         newt\n         newt help [\ncommand-name\n]\n           For help on \n
 command-name\n.  If not specified, print this message.\n\n\n        Available Commands:\n         version     Display the Newt version number.\n         target      Set and view target information\n         egg         Commands to list and inspect eggs on a nest\n         nest        Commands to manage nests \n clutches (remote egg repositories)\n         help        Help about any command\n\n        Flags:\n         -h, --help=false: help for newt\n         -l, --loglevel=\nWARN\n: Log level, defaults to WARN.\n         -q, --quiet=false: Be quiet; only display error output.\n         -s, --silent=false: Be silent; don\nt output anything.\n         -v, --verbose=false: Enable verbose output when executing commands.\n\n\n        Use \nnewt help [command]\n for more information about a command.", 
+            "title": "Install Newt on Linux"
+        }, 
+        {
+            "location": "/newt/install/newt_linux/#install-newt-tool-on-linux", 
+            "text": "", 
+            "title": "Install newt tool on Linux"
+        }, 
+        {
+            "location": "/newt/install/newt_linux/#getting-your-linux-box-ready", 
+            "text": "If you want to build the  newt  tool from its source code, follow the following steps:", 
+            "title": "Getting your Linux box Ready"
+        }, 
+        {
+            "location": "/newt/install/newt_linux/#1-install-git-libcurl", 
+            "text": "$ sudo apt-get install git \n        $ sudo apt-get install libcurl4-gnutls-dev", 
+            "title": "1. Install git, libcurl"
+        }, 
+        {
+            "location": "/newt/install/newt_linux/#2-install-go-the-programming-language", 
+            "text": "Go language environment dictates a directory structure. Known in Go parlanace as workspace, it must contain three sibling directories with the directory names src, pkg and bin, as explained below.     src contains Go source files organized into packages (one package per directory),    pkg contains package objects, and    bin contains executable commands.    The GOPATH environment variable specifies the location of your workspace. To setup this workspace environment, create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the  newt  tool repository.            $ cd $HOME\n        $ mkdir -p dev/go  \n        $ cd dev/go\n        $ export GOPATH=`pwd`  (Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.)           $ vi ~/.bash_profile\n        $ source ~/.bash_profile    
  Next, install Go. When installed, Go offers you as a developer a language environment (to compile Go code), construct Go packages (to assemble Go packages) and import Go code (from github). In the next step, you will use the Go commands to import  newt  repo into your local Go environment.  Note : The Newt tool requires Go version 1.5 or later. It uses the support for \"vendoring\" that was added in Go 1.5. Depending on the Ubuntu version you have, the following may install an earlier version. In that case, download the latest package of Go 1.5 or 1.6 from  https://golang.org/dl/ . You can search for more detailed instructions such as installing Go 1.6 on Ubuntu 14.04 which can be found at  https://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-14-04 .            $ sudo apt-get install golang", 
+            "title": "2. Install Go, the programming language"
+        }, 
+        {
+            "location": "/newt/install/newt_linux/#3-create-local-repository", 
+            "text": "Use Go commands to copy the directory (currently the ASF incubator directory). Be patient as it may take a minute or two. Check the directories installed.           $ go get mynewt.apache.org/newt/...    Check that newt.go is in place.           $ ls $GOPATH/src/mynewt.apache.org/newt\n        DISCLAIMER  NOTICE      newt        newtvm      viper\n        LICENSE     README.md   newtmgr     util        yaml", 
+            "title": "3. Create local repository"
+        }, 
+        {
+            "location": "/newt/install/newt_linux/#4-build-the-newt-tool", 
+            "text": "Use Go to run the newt.go program to build the  newt  tool. The command  go install  compiles and writes the resulting executable to an output file named  newt , which is then installed, along with its dependencies, in $GOPATH/bin. If you get errors it is likely because of path resolution issues. Try  go build   followed by  go install  in that case.           $ cd $GOPATH/src/mynewt.apache.org/newt/newt\n        $ go install\n        $ ls  $GOPATH /bin/\n        newt newtmgr newtvm    At this point, you can try using  newt . For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.   (Note: If you are going to be modifying the  newt  often and going to be compile the program every time you call it, you will want to store the command in a variable in your .bash_profile. So type in  export newt=\"go run $GOPATH/mynewt.apache.org/newt/newt/newt.go\"  in your .bash_profile and 
 execute it by calling  $newt  at the prompt instead of  newt . Essentially,  $newt  calls  go run  which runs the compiled binary directly without producing an executable. Don't forget to reload the updated bash profile by typing  source ~/.bash_profile  at the prompt! )          $ newt version\n        Newt version:  1.0\n        $ newt -h\n        Newt allows you to create your own embedded project based on the Mynewt\n        operating system. Newt provides both build and package management in a\n        single tool, which allows you to compose an embedded workspace, and set\n        of projects, and then build the necessary artifacts from those projects.\n        For more information on the Mynewt operating system, please visit\n        https://www.github.com/mynewt/documentation.\n\n        Please use the newt help command, and specify the name of the command\n        you want help for, for help on how to use a specific command\n\n        Usage:\n         newt [flags]\n        
  newt [command]\n\n        Examples:\n         newt\n         newt help [ command-name ]\n           For help on  command-name .  If not specified, print this message.\n\n\n        Available Commands:\n         version     Display the Newt version number.\n         target      Set and view target information\n         egg         Commands to list and inspect eggs on a nest\n         nest        Commands to manage nests   clutches (remote egg repositories)\n         help        Help about any command\n\n        Flags:\n         -h, --help=false: help for newt\n         -l, --loglevel= WARN : Log level, defaults to WARN.\n         -q, --quiet=false: Be quiet; only display error output.\n         -s, --silent=false: Be silent; don t output anything.\n         -v, --verbose=false: Enable verbose output when executing commands.\n\n\n        Use  newt help [command]  for more information about a command.", 
+            "title": "4. Build the Newt tool"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/", 
+            "text": "Installing Cross Tools for ARM\n\n\nThis page shows how to install tools on your laptop/computer to use for direct communication (e.g. for debugging) with some ARM based HW platforms running Apache Mynewt. You will also have to use the Newt tool installed to run natively on your machine. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container.\n\n\nThis page provides guidance for installing the tools directly on your MAC and Linux machine. See the relevant sections below.\n\n\n\n\nInstall ARM Cross tools in Mac OS X\n\n\nInstall Tool Chain\n\n\nInstall the PX4 Toolchain and check the version installed. ARM maintains a\npre-built GNU toolchain with a GCC source branch targeted at Embedded ARM\nProcessors, namely Cortex-R/Cortex-M processor families. After installing,\nensure that the symbolic link installed by Homebrew points to the correct\nversion of the debugger.\n\n\n$ brew tap PX4/homebrew-px4\n$ brew upda
 te\n$ brew install gcc-arm-none-eabi-49\n$ arm-none-eabi-gcc --version  \narm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288]\nCopyright (C) 2014 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n$ ls -al /usr/local/bin/arm-none-eabi-gdb\nlrwxr-xr-x  1 aditihilbert  admin  69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -\n /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb\n\n\n\n\n\nNote:\n If no version is specified, brew will install the latest version\navailable. Mynewt OS will eventually work with multiple versions available,\nincluding the latest releases. However, at present we have tested only with\nthis version and recommend it for getting started. \n\n\n\n\nInstall OpenOCD\n\n\nOpenOCD (Open On-Chip Debugger) is open-source software that allows you
 r\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to \nhttp://openocd.org\n.\n\n\n$ brew install open-ocd\n$ which openocd\n/usr/local/bin/openocd\n$ ls -l $(which openocd)\nlrwxr-xr-x  1 \nuser\n  admin  36 Sep 17 16:22 /usr/local/bin/openocd -\n ../Cellar/open-ocd/0.9.0/bin/openocd\n\n\n\n\n\n\n\nInstall ARM cross arm tools for Linux\n\n\nInstall Tool Chain\n\n\nOn a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with\napt-get as documented below. The steps are explained in depth at\n\nhttps://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded\n.\n\n\n$ sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi \n$ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded \n$ sudo apt-get update \n$ sudo apt-get install gcc-arm-none-eabi\n$ sudo apt-get install gdb-arm-none-eabi\n\n\n\n\n\n\n\nInstall OpenOCD\n\n\nOpenOCD (Open On-Chi
 p Debugger) is open-source software that allows your\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to \nhttp://openocd.org\n.\n\n\nIf you are running Ubuntu 15.x, then you are in luck and you can simply run: \n\n\n$ sudo apt-get install openocd \n\n\n\n\n\nFor this project, you should download the openocd 0.8.0 package from\n\nhttps://launchpad.net/ubuntu/vivid/+source/openocd\n.\nThe direct link to the amd64 build is\n\nhttp://launchpadlibrarian.net/188260097/openocd_0.8.0-4_amd64.deb\n.", 
+            "title": "Install Cross Tools for ARM"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#installing-cross-tools-for-arm", 
+            "text": "This page shows how to install tools on your laptop/computer to use for direct communication (e.g. for debugging) with some ARM based HW platforms running Apache Mynewt. You will also have to use the Newt tool installed to run natively on your machine. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container.  This page provides guidance for installing the tools directly on your MAC and Linux machine. See the relevant sections below.", 
+            "title": "Installing Cross Tools for ARM"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#install-arm-cross-tools-in-mac-os-x", 
+            "text": "", 
+            "title": "Install ARM Cross tools in Mac OS X"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#install-tool-chain", 
+            "text": "Install the PX4 Toolchain and check the version installed. ARM maintains a\npre-built GNU toolchain with a GCC source branch targeted at Embedded ARM\nProcessors, namely Cortex-R/Cortex-M processor families. After installing,\nensure that the symbolic link installed by Homebrew points to the correct\nversion of the debugger.  $ brew tap PX4/homebrew-px4\n$ brew update\n$ brew install gcc-arm-none-eabi-49\n$ arm-none-eabi-gcc --version  \narm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288]\nCopyright (C) 2014 Free Software Foundation, Inc.\nThis is free software; see the source for copying conditions.  There is NO\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n$ ls -al /usr/local/bin/arm-none-eabi-gdb\nlrwxr-xr-x  1 aditihilbert  admin  69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -  /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb  Not
 e:  If no version is specified, brew will install the latest version\navailable. Mynewt OS will eventually work with multiple versions available,\nincluding the latest releases. However, at present we have tested only with\nthis version and recommend it for getting started.", 
+            "title": "Install Tool Chain"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#install-openocd", 
+            "text": "OpenOCD (Open On-Chip Debugger) is open-source software that allows your\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to  http://openocd.org .  $ brew install open-ocd\n$ which openocd\n/usr/local/bin/openocd\n$ ls -l $(which openocd)\nlrwxr-xr-x  1  user   admin  36 Sep 17 16:22 /usr/local/bin/openocd -  ../Cellar/open-ocd/0.9.0/bin/openocd", 
+            "title": "Install OpenOCD"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#install-arm-cross-arm-tools-for-linux", 
+            "text": "", 
+            "title": "Install ARM cross arm tools for Linux"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#install-tool-chain_1", 
+            "text": "On a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with\napt-get as documented below. The steps are explained in depth at https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded .  $ sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi \n$ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded \n$ sudo apt-get update \n$ sudo apt-get install gcc-arm-none-eabi\n$ sudo apt-get install gdb-arm-none-eabi", 
+            "title": "Install Tool Chain"
+        }, 
+        {
+            "location": "/os/get_started/cross_tools/#install-openocd_1", 
+            "text": "OpenOCD (Open On-Chip Debugger) is open-source software that allows your\ncomputer to interface with the JTAG debug connector on a variety of boards.  A\nJTAG connection lets you debug and test embedded target devices. For more on\nOpenOCD go to  http://openocd.org .  If you are running Ubuntu 15.x, then you are in luck and you can simply run:   $ sudo apt-get install openocd   For this project, you should download the openocd 0.8.0 package from https://launchpad.net/ubuntu/vivid/+source/openocd .\nThe direct link to the amd64 build is http://launchpadlibrarian.net/188260097/openocd_0.8.0-4_amd64.deb .", 
+            "title": "Install OpenOCD"
+        }, 
+        {
+            "location": "/os/get_started/project_create/", 
+            "text": "Create Your First Mynewt Project\n\n\nThis page shows how to create a Mynewt Project using the \nnewt\n command-line tool.\n\n\n\n\nPre-Requisites\n\n\n\n\nNewt:\n\n\nIf you have taken the Docker route, you have already installed Newt.\n\n\nIf you have taken the native install route, you have to ensure that you have installed the Newt tool following the instructions for \nMac\n or \nLinux\n as appropriate, and that the \nnewt\n command is in your system path. \n\n\n\n\n\n\nYou must have Internet connectivity to fetch remote Mynewt components.\n\n\nYou must \ninstall the compiler tools\n to \nsupport native compiling to build the project this tutorial creates.  \n\n\n\n\n\n\nNewt New\n\n\nChoose a project name. For this tutorial we will call this project \nmyproj\n.\nEnter the \nnewt new myproj\n command. \n\n\n$ newt new myproj\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in myproj...\nProject myproj successfully crea
 ted.\n\n\n\n\n\n\n\nNewt populates this new project with a base skeleton of a new Apache Mynewt \nproject.  It has the following structure. \n\n\nNote\n: If you do not have \ntree\n, install it by running \nbrew install tree\n.\n\n\n$ cd myproj\n$ tree \n.\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 src\n\u251c\u2500\u2500 project.yml\n\u2514\u2500\u2500 targets\n    \u251c\u2500\u2500 my_blinky_sim\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 target.yml\n    \u2514\u2500\u2500 unittest\n        \u251c\u2500\u2500 pkg.yml\n        \u2514\u2500\u2500 target.yml\n\n6 directories, 10 files\n\n\n\n\n\n\n\nThe Newt tool has installed the base files for a project comprising the following:\n\n\n\n\nThe file \
 nproject.yml\n contains the repository list that the project uses to fetch\nits packages. Your project is a collection of repositories.  In this case, the project just\ncomprises the core mynewt repository.  Later you will add more repositories\nto include other mynewt components.\n\n\nThe file \napps/blinky/pkg.yml\n contains the description of your application\nand its package dependencies.\n\n\nA \ntarget\n directory containing \nmy_blinky_sim\n, a target descriptor used to\nbuild a version of myproj.  Use \nnewt target show\n to see available build \ntargets.\n\n\nA non-buildable target called \nunittest\n.  This is used internally by \nnewt\n and is not a formal build target.\n\n\n\n\nNOTE:\n the actual code and package files are not installed \n(except the template for \nmain.c\n).  See the next step for installing the packages.\n\n\n\n\nNewt Install\n\n\nOnce you've switched into your new project's directory, the next step is to fetch\nany dependencies this project has.  By d
 efault, all Newt projects rely on a\nsingle remote repository, apache-mynewt-core.  The \nnewt install\n command will\nfetch this repository.\n\n\n$ newt install\napache-mynewt-core\n\n\n\n\n\nNOTE:\n \napache-mynewt-core\n may take a while to download.  To see progress,\nuse the \n-v\n (verbose) option to install. \n\n\n\n\nOnce \nnewt install\n has successfully finished, the contents of \napache-mynewt-core\n will have been downloaded into your local directory.  You can view them by issuing the following commands in the base directory of the new project:\n\n\n$ tree -L 2 repos/apache-mynewt-core/\n.\n\nsnip\n\n\u251c\u2500\u2500 fs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fs\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 nffs\n\u251c\u2500\u2500 hw\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bsp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 hal\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 mcu\n\u251c\u2500\u2500 libs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 baselibc\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bootu
 til\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 cmsis-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 console\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 elua\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 flash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 imgmgr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 json\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mbedtls\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 newtmgr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 os\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 shell\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 testreport\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 testutil\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 util\n\u251c\u2500\u2500 net\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 nimble\n\nsnip\n\n\n\n\n\n\nAs you can see, the core of the Apache Mynewt operating system has been brought \ninto your local directory. \n\n\n\n\nTest the project's packages\n\n\nYou have already built your first basic project. You can ask Newt to execute the unit tests in a package. For example, to test the \nlibs/os\n pac
 kage in the \napache-mynewt-core\n repo, call newt as shown below.\n\n\n$ newt test @apache-mynewt-core/libs/os\nTesting package @apache-mynewt-core/libs/os\nCompiling hal_bsp.c\nCompiling os_bsp.c\nCompiling sbrk.c\nArchiving native.a\nCompiling flash_map.c\n\nsnip\n\n\n\n\n\n\n\n\nTo test all the packages in a project, specify \nall\n instead of the package name.\n\n\n$ newt test all\n...lots of compiling and testing...\n...about 2 minutes later ...\nArchiving bootutil.a\nLinking test_bootutil\nExecuting test: /myproj/bin/unittest/libs/bootutil/test_bootutil\nPassed tests: [net/nimble/host fs/nffs libs/os hw/hal libs/mbedtls libs/util sys/config libs/bootutil]\nAll tests passed\n\n\n\n\n\n\n\nBuild the Project\n\n\nTo build and run your new application, simply issue the following command:\n\n\n$ newt build my_blinky_sim \nCompiling base64.c\nCompiling cbmem.c\nCompiling datetime.c\nCompiling tpq.c\nArchiving util.a\nCompiling main.c\nArchiving blinky.a\nCompiling flash_map.c\nComp
 iling hal_flash.c\nArchiving hal.a\nCompiling cons_fmt.c\nCompiling cons_tty.c\n\nsnip\n\nLinking blinky.elf\nApp successfully built: /Users/sterling/dev/tmp/my_app/bin/my_blinky_sim/apps/blinky/blinky.elf\n\n\n\n\n\n\n\nRun the Project\n\n\nYou can run the simulated version of your project and see the simulated LED\nblink.\n\n\n$ newt run my_blinky_sim\nNo download script for BSP hw/bsp/native\nDebugging /workspace/bin/my_blinky_sim/apps/blinky/blinky.elf\n\nsnip\n\nReading symbols from /workspace/bin/my_blinky_sim/apps/blinky/blinky.elf...done.\n(gdb)\n\n\n\n\n\nType \nr\n at the \n(gdb)\n prompt to run the project. You will see an output indicating that the \nhal_gpio\n pin is toggling between 1 and 0 in a simulated blink. \n\n\n\n\nComplete\n\n\nCongratulations, you have created your first project!  The blinky application\nis not terribly exciting when it is run in the simulator, as there is no LED to\nblink.  Apache Mynewt has a lot more functionality than just running simulate
 d\napplications.  It provides all the features you'll need to cross-compile your\napplication, run it on real hardware and develop a full featured application.\n\n\nIf you're interested in learning more, a good next step is to dig in to one of\nthe \ntutorials\n and get a Mynewt project running on real hardware.\n\n\nHappy Hacking!", 
+            "title": "Create Your First Project"
+        }, 
+        {
+            "location": "/os/get_started/project_create/#create-your-first-mynewt-project", 
+            "text": "This page shows how to create a Mynewt Project using the  newt  command-line tool.", 
+            "title": "Create Your First Mynewt Project"
+        }, 
+        {
+            "location": "/os/get_started/project_create/#pre-requisites", 
+            "text": "Newt:  If you have taken the Docker route, you have already installed Newt.  If you have taken the native install route, you have to ensure that you have installed the Newt tool following the instructions for  Mac  or  Linux  as appropriate, and that the  newt  command is in your system path.     You must have Internet connectivity to fetch remote Mynewt components.  You must  install the compiler tools  to \nsupport native compiling to build the project this tutorial creates.", 
+            "title": "Pre-Requisites"
+        }, 
+        {
+            "location": "/os/get_started/project_create/#newt-new", 
+            "text": "Choose a project name. For this tutorial we will call this project  myproj .\nEnter the  newt new myproj  command.   $ newt new myproj\nDownloading project skeleton from apache/incubator-mynewt-blinky...\nInstalling skeleton in myproj...\nProject myproj successfully created.   Newt populates this new project with a base skeleton of a new Apache Mynewt \nproject.  It has the following structure.   Note : If you do not have  tree , install it by running  brew install tree .  $ cd myproj\n$ tree \n.\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 blinky\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 pkg.yml\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 src\n\u251c\u2500\u2500 project.yml\n\u2514\u2500\u2500 targets\n    \u251c\u2500\u2500 my_blinky_sim\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 pkg.yml\n    \u2502\u00a0\u00a0 \u2514\u2500\u25
 00 target.yml\n    \u2514\u2500\u2500 unittest\n        \u251c\u2500\u2500 pkg.yml\n        \u2514\u2500\u2500 target.yml\n\n6 directories, 10 files   The Newt tool has installed the base files for a project comprising the following:   The file  project.yml  contains the repository list that the project uses to fetch\nits packages. Your project is a collection of repositories.  In this case, the project just\ncomprises the core mynewt repository.  Later you will add more repositories\nto include other mynewt components.  The file  apps/blinky/pkg.yml  contains the description of your application\nand its package dependencies.  A  target  directory containing  my_blinky_sim , a target descriptor used to\nbuild a version of myproj.  Use  newt target show  to see available build \ntargets.  A non-buildable target called  unittest .  This is used internally by  newt  and is not a formal build target.   NOTE:  the actual code and package files are not installed \n(except the template for
   main.c ).  See the next step for installing the packages.", 
+            "title": "Newt New"
+        }, 
+        {
+            "location": "/os/get_started/project_create/#newt-install", 
+            "text": "Once you've switched into your new project's directory, the next step is to fetch\nany dependencies this project has.  By default, all Newt projects rely on a\nsingle remote repository, apache-mynewt-core.  The  newt install  command will\nfetch this repository.  $ newt install\napache-mynewt-core  NOTE:   apache-mynewt-core  may take a while to download.  To see progress,\nuse the  -v  (verbose) option to install.    Once  newt install  has successfully finished, the contents of  apache-mynewt-core  will have been downloaded into your local directory.  You can view them by issuing the following commands in the base directory of the new project:  $ tree -L 2 repos/apache-mynewt-core/\n. snip \n\u251c\u2500\u2500 fs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fs\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 nffs\n\u251c\u2500\u2500 hw\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bsp\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 hal\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 mcu\n\u251c\u2500
 \u2500 libs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 baselibc\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bootutil\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 cmsis-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 console\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 elua\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 flash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 imgmgr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 json\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mbedtls\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 newtmgr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 os\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 shell\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 testreport\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 testutil\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 util\n\u251c\u2500\u2500 net\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 nimble snip   As you can see, the core of the Apache Mynewt operating system has been brought \ninto your local directory.", 
+            "title": "Newt Install"
+        }, 
+        {
+            "location": "/os/get_started/project_create/#test-the-projects-packages", 
+            "text": "You have already built your first basic project. You can ask Newt to execute the unit tests in a package. For example, to test the  libs/os  package in the  apache-mynewt-core  repo, call newt as shown below.  $ newt test @apache-mynewt-core/libs/os\nTesting package @apache-mynewt-core/libs/os\nCompiling hal_bsp.c\nCompiling os_bsp.c\nCompiling sbrk.c\nArchiving native.a\nCompiling flash_map.c snip    To test all the packages in a project, specify  all  instead of the package name.  $ newt test all\n...lots of compiling and testing...\n...about 2 minutes later ...\nArchiving bootutil.a\nLinking test_bootutil\nExecuting test: /myproj/bin/unittest/libs/bootutil/test_bootutil\nPassed tests: [net/nimble/host fs/nffs libs/os hw/hal libs/mbedtls libs/util sys/config libs/bootutil]\nAll tests passed", 
+            "title": "Test the project's packages"
+        }, 
+        {
+            "location": "/os/get_started/project_create/#build-the-project", 
+            "text": "To build and run your new application, simply issue the following command:  $ newt build my_blinky_sim \nCompiling base64.c\nCompiling cbmem.c\nCompiling datetime.c\nCompiling tpq.c\nArchiving util.a\nCompiling main.c\nArchiving blinky.a\nCompiling flash_map.c\nCompiling hal_flash.c\nArchiving hal.a\nCompiling cons_fmt.c\nCompiling cons_tty.c snip \nLinking blinky.elf\nApp successfully built: /Users/sterling/dev/tmp/my_app/bin/my_blinky_sim/apps/blinky/blinky.elf", 
+            "title": "Build the Project"
+        }, 
+        {
+            "location": "/os/get_started/project_create/#run-the-project", 
+            "text": "You can run the simulated version of your project and see the simulated LED\nblink.  $ newt run my_blinky_sim\nNo download script for BSP hw/bsp/native\nDebugging /workspace/bin/my_blinky_sim/apps/blinky/blinky.elf snip \nReading symbols from /workspace/bin/my_blinky_sim/apps/blinky/blinky.elf...done.\n(gdb)  Type  r  at the  (gdb)  prompt to run the project. You will see an output indicating that the  hal_gpio  pin is toggling between 1 and 0 in a simulated blink.", 
+            "title": "Run the Project"
+        }, 
+        {
+            "location": "/os/get_started/project_create/#complete", 
+            "text": "Congratulations, you have created your first project!  The blinky application\nis not terribly exciting when it is run in the simulator, as there is no LED to\nblink.  Apache Mynewt has a lot more functionality than just running simulated\napplications.  It provides all the features you'll need to cross-compile your\napplication, run it on real hardware and develop a full featured application.  If you're interested in learning more, a good next step is to dig in to one of\nthe  tutorials  and get a Mynewt project running on real hardware.  Happy Hacking!", 
+            "title": "Complete"
+        }, 
+        {
+            "location": "/os/get_started/vocabulary/", 
+            "text": "Concepts\n\n\nThis page is meant to introduce you to some of the concepts inherent to \nthe Apache Mynewt Operating System, and \nNewt\n the tool that stitches a \nproject built on Apache Mynewt together.\n\n\nProject\n\n\nThe project is the base directory of your embedded software tree.  It is a \nworkspace that contains a logical collection of source code, for one or \nmore of your applications.  A project consists of the following items:\n\n\n\n\nProject Definition: defines project level dependencies, and parameters\n    (located in \nproject.yml\n)\n\n\nPackages\n\n\n\n\nPackages\n are described in detail in the section below.  \n\n\nHere is an example project definition file from the default Apache Mynewt \nproject: \n\n\n$ more project.yml \n\nsnip\n\nproject.name: \nmy_project\n\n\nproject.repositories:\n    - apache-mynewt-core\n\n# Use github\ns distribution mechanism for core ASF libraries.\n# This provides mirroring automatically for us.\n#\nrepositor
 y.apache-mynewt-core:\n    type: github\n    vers: 0-latest\n    user: apache\n    repo: incubator-mynewt-core\n$ \n\n\n\n\n\nA couple of things to note in the project definition:\n\n\n\n\n\n\nproject.repositories\n: Defines the remote repositories that this project\nrelies upon.\n\n\n\n\n\n\nrepository.apache-mynewt-core\n: Defines the repository information for \nthe \napache-mynewt-core\n repository.\n\n\n\n\n\n\nRepositories are versioned collections of packages.  \n\n\nProjects can rely on remote repositories for functionality, and the newt tool \nwill resolve those remote repositories, and download the correct version into \nyour local source tree.  Newly fetched repositories are put in the \nrepos\n\ndirectory of your project, and can be referenced throughout the system by using\nthe \n@\n specifier.  \n\n\nBy default, the \n@apache-mynewt-core\n repository is included in every \nproject.  Apache Mynewt Core contains all the base functionality of the Apache \nMynewt Operating
  System, including the Real Time Kernel, Bluetooth Networking \nStack, Flash File System, Console, Shell and Bootloader.\n\n\nNOTE:\n Any project can be converted into a repository by providing it with a \n\nrepository.yml\n file and putting it up onto Github.  More information\nabout repositories can be found in the Newt documentation.\n\n\nPackage\n\n\nA package is a collection items that form a fundamental unit in the Mynewt \nOperating System.  Packages can be:\n\n\n\n\nApplications\n\n\nLibraries\n\n\nCompiler definitions\n\n\nTargets\n\n\n\n\nA package is identified by having a \npkg.yml\n file in it's base \ndirectory.  Here is a sample \npkg.yml\n file for the blinky applicaton:\n\n\n$ more pkg.yml \n\nsnip\n\npkg.name: apps/blinky\npkg.type: app\npkg.description: Basic example application which blinks an LED.\npkg.author: \nApache Mynewt \ndev@mynewt.incubator.apache.org\n\npkg.homepage: \nhttp://mynewt.apache.org/\n\npkg.keywords:\n\npkg.deps:\n    - \n@apache-mynewt-core/
 libs/os\n\n    - \n@apache-mynewt-core/hw/hal\n\n    - \n@apache-mynewt-core/libs/console/full\n\n\n\n\n\n\nPackages have a few features worth noting:\n\n\n\n\nDependencies: Packages can rely upon other packages, and when they do\n    they will inherit their functionality (header files, library definitions, etc.)\n\n\nAPIs: Packages can export named APIs, and they can require that certain \n    APIs be present, in order to compile.\n\n\nFeatures: Packages can operate differently depending on what named features are \n    present in the system.  Packages can also export features to the rest of the \n    Mynewt system.\n\n\n\n\nEverything that newt knows about within a project's directory is a package.  This \nmakes it very clean and easy to write re-usable components, which can describe their \nDependencies and APIs to the rest of the system.\n\n\nTarget\n\n\nA target in Apache Mynewt is very similar to a target in \nmake\n.  It is the collection\nof parameters that must be passed to
  Newt in order to generate a reproducible build.  A \ntarget represents the top of the build tree, and any packages or parameters specified at \nthe target level, cascade down to all dependencies.\n\n\nTargets are also packages, and are stored in the \ntargets/\n directory at the base \nof your project.  Most targets consist of: \n\n\n\n\napp\n: The application to build.\n\n\nbsp\n: The board support package to combine with that application\n\n\nbuild_profile\n: Either \ndebug\n or \noptimized\n. \n\n\n\n\nTargets can also have additional items specified, including: \n\n\n\n\ncflags\n: Any additional compiler flags you might want to specify to the build.\n\n\nfeatures\n: Any syste

<TRUNCATED>


Mime
View raw message