http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c1a9e073/develop/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/develop/mkdocs/search_index.json b/develop/mkdocs/search_index.json
index 719ffa4..957c469 100644
--- a/develop/mkdocs/search_index.json
+++ b/develop/mkdocs/search_index.json
@@ -237,7 +237,7 @@
         }, 
         {
             "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.\n\n\n\n\n\n\n\n5. Updating the Newt tool\n\n\n\n\nYou will update the 
newt tool in the same place as you initially installed the newt 
tool.\n\n\nStart by updating the git repository of the newt tool (you can 
change to a different branch using git checkout [branch] if 
 you need to)\n\n\nThen update each of the tools newt, newtmgr and newtvm as 
needed\n\n\n\n\n        $ cd $GOPATH/src/mynewt.apache.org/newt\n        $ git 
pull\n        $ cd newt\n        $ go install\n        $ cd ../newtmgr\n        
$ go install\n        $ cd ../newtvm\n        $ go install\n        $ ls 
\n$GOPATH\n/bin/\n        newt newtmgr newtvm\n\n\n\n\n\nThat should have 
updated your newt, newtmgr and newtvm to the latest versions based on the git 
repository you used.", 
+            "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 application based on the 
Mynewt \n        operating system. Newt provides both build and package 
management in a single \n        tool, which allows you to compose an embedded 
application, and set of \n        projects, and then build the necessary 
artifacts from those projects. For more \n        information on the Mynewt 
operating system, please visit \n        https://mynewt.apache.org/. \n\n       
 Please use the newt help command, and specify the name of the command you want 
\n        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        Available
  Commands:\n          build        Build one or more targets\n          clean  
      Delete build artifacts for one or more targets\n          create-image 
Add image header to target binary\n          debug        Open debugger session 
to target\n          info         Show project info\n          install      
Install project dependencies\n          load         Load built target to 
board\n          mfg          Manufacturing flash image commands\n          new 
         Create a new project\n          pkg          Create and manage 
packages in the current workspace\n          run          
build/create-image/download/debug \ntarget\n\n          size         Size of 
target components\n          sync         Synchronize project dependencies\n    
      target       Commands to create, delete, configure, and query targets\n   
       test         Executes unit tests for one or more packages\n          
upgrade      Upgrade project dependencies\n          vals         Display valid 
values f
 or the specified element type(s)\n          version      Display the Newt 
version number\n\n        Flags:\n          -h, --help              Help for 
newt commands\n          -j, --jobs int          Number of concurrent build 
jobs (default 8)\n          -l, --loglevel string   Log level (default 
\nWARN\n)\n          -o, --outfile string    Filename to tee output to\n        
  -q, --quiet             Be quiet; only display error output\n          -s, 
--silent            Be silent; don\nt output anything\n          -v, --verbose  
         Enable verbose output when executing commands\n\n        Use \nnewt 
[command] --help\n for more information about a comma\n\n\n\n\n\n\n\n5. 
Updating the Newt tool\n\n\n\n\nYou will update the newt tool in the same place 
as you initially installed the newt tool.\n\n\nStart by updating the git 
repository of the newt tool (you can change to a different branch using git 
checkout [branch] if you need to)\n\n\nThen update each of the tools newt, 
newtmgr a
 nd newtvm as needed\n\n\n\n\n        $ cd $GOPATH/src/mynewt.apache.org/newt\n 
       $ git pull\n        $ cd newt\n        $ go install\n        $ cd 
../newtmgr\n        $ go install\n        $ cd ../newtvm\n        $ go 
install\n        $ ls \n$GOPATH\n/bin/\n        newt newtmgr 
newtvm\n\n\n\n\n\nThat should have updated your newt, newtmgr and newtvm to the 
latest versions based on the git repository you used.", 
             "title": "Install Newt on Mac"
         }, 
         {
@@ -267,7 +267,7 @@
         }, 
         {
             "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.", 
+            "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 application based on the Mynewt \n       
 operating system. Newt provides both build and package management in a single 
\n        tool, which allows you to compose an embedded application, and set of 
\n        projects, and then build the necessary artifacts from those projects. 
For more \n        information on the Mynewt operating system, please visit \n  
      https://mynewt.apache.org/. \n\n        Please use the newt help command, 
and specify the name of the command you want \n        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  comman
 d-name .  If not specified, print this message.\n\n        Available 
Commands:\n          build        Build one or more targets\n          clean    
    Delete build artifacts for one or more targets\n          create-image Add 
image header to target binary\n          debug        Open debugger session to 
target\n          info         Show project info\n          install      
Install project dependencies\n          load         Load built target to 
board\n          mfg          Manufacturing flash image commands\n          new 
         Create a new project\n          pkg          Create and manage 
packages in the current workspace\n          run          
build/create-image/download/debug  target \n          size         Size of 
target components\n          sync         Synchronize project dependencies\n    
      target       Commands to create, delete, configure, and query targets\n   
       test         Executes unit tests for one or more packages\n          
upgrade      Upgrade p
 roject dependencies\n          vals         Display valid values for the 
specified element type(s)\n          version      Display the Newt version 
number\n\n        Flags:\n          -h, --help              Help for newt 
commands\n          -j, --jobs int          Number of concurrent build jobs 
(default 8)\n          -l, --loglevel string   Log level (default  WARN )\n     
     -o, --outfile string    Filename to tee output to\n          -q, --quiet   
          Be quiet; only display error output\n          -s, --silent           
 Be silent; don t output anything\n          -v, --verbose           Enable 
verbose output when executing commands\n\n        Use  newt [command] --help  
for more information about a comma", 
             "title": "4. Build the Newt tool"
         }, 
         {
@@ -277,7 +277,7 @@
         }, 
         {
             "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\nNOTE:\n On 64-bit host, you may also need to install gcc-multilib, 
if you encounter compilation errors related to 'sys/cdefs.h'\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 parlance as a 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 work
 space 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. 
Depend
 ing 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.g
 o 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 a
 nd 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        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.\n\n\n\n\n\n\n\n5. Updating the Newt tool\n\n\n\n\nYou will
  update the newt tool in the same place as you initially installed the newt 
tool.\n\n\nStart by updating the git repository of the newt tool (you can 
change to a different branch using git checkout [branch] if you need 
to)\n\n\nThen update each of the tools newt, newtmgr and newtvm as 
needed\n\n\n\n\n        $ cd $GOPATH/src/mynewt.apache.org/newt\n        $ git 
pull\n        $ cd newt\n        $ go install\n        $ cd ../newtmgr\n        
$ go install\n        $ cd ../newtvm\n        $ go install\n        $ ls 
\n$GOPATH\n/bin/\n        newt newtmgr newtvm\n\n\n\n\n\nThat should have 
updated your newt, newtmgr and newtvm to the latest versions based on the git 
repository you used.", 
+            "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\nNOTE:\n On 64-bit host, you may also need to install gcc-multilib, 
if you encounter compilation errors related to 'sys/cdefs.h'\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 parlance as a 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 work
 space 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.6 or later. Depending on the Ubuntu version you have, the following may 
install an
  earlier version. In that case, download the latest package of Go 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 compil
 es 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. E
 ssentially, \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 application based on the Mynewt \n       
 operating system. Newt provides both build and package management in a single 
\n        tool, which allows you to compose an embedded application, and set of 
\n        projects, and then build the necessary artifacts from those projects. 
For more \n        information on the Mynewt operating system, please visit \n  
      https://mynewt.apache.org/. \n\n        Please use the newt help command, 
and specify the name of the command you want \n        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        Available 
Commands:\n          build        Build one or more targets\n          clean    
    Delete build artifacts for one or more targets\n          create-image Add 
image header to target binary\n          debug        Open debugger session to 
target\n          info         Show project info\n          install      
Install project dependencies\n          load         Load built target to 
board\n          mfg          Manufacturing flash image commands\n          new 
         Create a new project\n          pkg          Create and manage 
packages in the current workspace\n          run          
build/create-image/download/debug \ntarget\n\n          size         Size of 
target components\n          sync         Synchronize project dependencies\n    
      target       Commands to create, delete, configure, and query targets\n   
       test         Execu
 tes unit tests for one or more packages\n          upgrade      Upgrade 
project dependencies\n          vals         Display valid values for the 
specified element type(s)\n          version      Display the Newt version 
number\n\n        Flags:\n          -h, --help              Help for newt 
commands\n          -j, --jobs int          Number of concurrent build jobs 
(default 8)\n          -l, --loglevel string   Log level (default \nWARN\n)\n   
       -o, --outfile string    Filename to tee output to\n          -q, --quiet 
            Be quiet; only display error output\n          -s, --silent         
   Be silent; don\nt output anything\n          -v, --verbose           Enable 
verbose output when executing commands\n\n        Use \nnewt [command] --help\n 
for more information about a comma\n\n\n\n\n\n\n\n5. Updating the Newt 
tool\n\n\n\n\nYou will update the newt tool in the same place as you initially 
installed the newt tool.\n\n\nStart by updating the git repository of the new
 t tool (you can change to a different branch using git checkout [branch] if 
you need to)\n\n\nThen update each of the tools newt, newtmgr and newtvm as 
needed\n\n\n\n\n        $ cd $GOPATH/src/mynewt.apache.org/newt\n        $ git 
pull\n        $ cd newt\n        $ go install\n        $ cd ../newtmgr\n        
$ go install\n        $ cd ../newtvm\n        $ go install\n        $ ls 
\n$GOPATH\n/bin/\n        newt newtmgr newtvm\n\n\n\n\n\nThat should have 
updated your newt, newtmgr and newtvm to the latest versions based on the git 
repository you used.", 
             "title": "Install Newt on Linux"
         }, 
         {
@@ -297,7 +297,7 @@
         }, 
         {
             "location": 
"/newt/install/newt_linux/#2-install-go-the-programming-language", 
-            "text": "Go language environment dictates a directory structure. 
Known in Go parlance as a 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", 
+            "text": "Go language environment dictates a directory structure. 
Known in Go parlance as a 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.6 or later. Depending on the Ubuntu version you 
have, the following may install an earlier version. In that case, download the 
latest package of Go 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"
         }, 
         {
@@ -307,7 +307,7 @@
         }, 
         {
             "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.", 
+            "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 application based on the Mynewt \n        operating system. Newt 
provides both build and package management in a single \n        tool, which 
allows you to compose an embedded application, and set of \n        projects, 
and then build the necessary artifacts from those projects. For more \n        
information on the Mynewt operating system, please visit \n        
https://mynewt.apache.org/. \n\n        Please use the newt help command, and 
specify the name of the command you want \n        help for, for help on how to 
use a specific command\n\n        Usage:\n          newt [flags]\n          n
 ewt [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        Available Commands:\n          build        
Build one or more targets\n          clean        Delete build artifacts for 
one or more targets\n          create-image Add image header to target binary\n 
         debug        Open debugger session to target\n          info         
Show project info\n          install      Install project dependencies\n        
  load         Load built target to board\n          mfg          Manufacturing 
flash image commands\n          new          Create a new project\n          
pkg          Create and manage packages in the current workspace\n          run 
         build/create-image/download/debug  target \n          size         
Size of target components\n          sync         Synchronize project 
dependencies\n          target       Commands to create, delete, configure,
  and query targets\n          test         Executes unit tests for one or more 
packages\n          upgrade      Upgrade project dependencies\n          vals   
      Display valid values for the specified element type(s)\n          version 
     Display the Newt version number\n\n        Flags:\n          -h, --help    
          Help for newt commands\n          -j, --jobs int          Number of 
concurrent build jobs (default 8)\n          -l, --loglevel string   Log level 
(default  WARN )\n          -o, --outfile string    Filename to tee output to\n 
         -q, --quiet             Be quiet; only display error output\n          
-s, --silent            Be silent; don t output anything\n          -v, 
--verbose           Enable verbose output when executing commands\n\n        
Use  newt [command] --help  for more information about a comma", 
             "title": "4. Build the Newt tool"
         }, 
         {
@@ -432,7 +432,7 @@
         }, 
         {
             "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\nvers=0-latest\n: Defines the repository version. This 
string will use the \nlatest code in the 'Master' github branch. To use the 
latest version in the \ndevelop branch, just change it to 
\nvers=0-dev\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 sy
 stem 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 
\[email protected]\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 system level 
features you want to enable.\n\n\n\n\nIn order to create and manipulate 
targets, the \
 nnewt\n tool offers a set of helper commands,\nyou can find more information 
about these by issuing:\n\n\n$ newt target\n\n\nUsage:\n  newt target [flags]\n 
 newt target [command]\n\nAvailable Commands:\n  config      View target system 
configuration\n  copy        Copy target\n  create      Create a target\n  
delete      Delete target\n  set         Set target configuration variable\n  
show        View target configuration variables\n\nGlobal Flags:\n  -l, 
--loglevel string   Log level (default \nWARN\n)\n  -o, --outfile string    
Filename to tee output to\n  -q, --quiet             Be quiet; only display 
error output\n  -s, --silent            Be silent; don\nt output anything\n  
-v, --verbose           Enable verbose output when executing commands\n\nUse 
\nnewt target [command] --help\n for more information about a command.\n$ 
\n\n\n\n\n\nConfiguration\n\n\nThere are a lot of configuration options 
available when building your application in MyNewt. System Configuration 
options ar
 e set in \na file called \nsyscfg.yml\n and you will find these configuration 
files throughout the MyNewt packages. While you can edit these\nfiles directly 
to change some default settings, it is best to override the default settings in 
a \nsyscfg.yml\n file in your project\ndirectory rather than editing the 
package configurations directly.\n\n\nTo see all \nall\n the system 
configuration settings, simply type\n\n\n$ newt target config 
\ntarget-name\n\n...\n* PACKAGE: sys/stats\n  * Setting: STATS_CLI\n    * 
Description: Expose the \nstat\n shell command.\n    * Value: 0\n  * Setting: 
STATS_NAMES\n    * Description: Include and report the textual name of each 
statistic.\n    * Value: 0\n  * Setting: STATS_NEWTMGR\n    * Description: 
Expose the \nstat\n newtmgr command.\n    * Value: 0\n...\n$\n\n\n\n\n\nKeep in 
mind that this will only show the configuration options for any packages that 
are included in your applicaiton. \n\n\nIf you really want to see \nall\n the 
available configur
 ation options, you can go rough each package and look at the\n\nsyscfg.yml\n 
file in each.", 
+            "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: 1-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\nvers=1-latest\n: Defines the repository version. This 
string will use the \nlatest code in the 'Master' github branch. To use the 
latest version in the \ndevelop branch, just change it to 
\nvers=1-dev\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 sy
 stem 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 
\[email protected]\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 system level 
features you want to enable.\n\n\n\n\nIn order to create and manipulate 
targets, the \
 nnewt\n tool offers a set of helper commands,\nyou can find more information 
about these by issuing:\n\n\n$ newt target\n\n\nnewt target\nUsage:\n  newt 
target [flags]\n  newt target [command]\n\nAvailable Commands:\n  config      
View or populate a target\ns system configuration\n  copy        Copy target\n  
create      Create a target\n  delete      Delete target\n  dep         View 
target\ns dependency graph\n  revdep      View target\ns reverse-dependency 
graph\n  set         Set target configuration variable\n  show        View 
target configuration variables\n\nGlobal Flags:\n  -h, --help              Help 
for newt commands\n  -j, --jobs int          Number of concurrent build jobs 
(default 8)\n  -l, --loglevel string   Log level (default \nWARN\n)\n  -o, 
--outfile string    Filename to tee output to\n  -q, --quiet             Be 
quiet; only display error output\n  -s, --silent            Be silent; don\nt 
output anything\n  -v, --verbose           Enable verbose output when ex
 ecuting commands\n\nUse \nnewt target [command] --help\n for more information 
about a command.\n\n$ \n\n\n\n\n\nConfiguration\n\n\nThere are a lot of 
configuration options available when building your application in MyNewt. 
System Configuration options are set in \na file called \nsyscfg.yml\n and you 
will find these configuration files throughout the MyNewt packages. While you 
can edit these\nfiles directly to change some default settings, it is best to 
override the default settings in a \nsyscfg.yml\n file in your 
project\ndirectory rather than editing the package configurations 
directly.\n\n\nTo see all \nall\n the system configuration settings, simply 
type\n\n\n$ newt target config show \ntarget-name\n\n...\n* PACKAGE: 
sys/stats\n  * Setting: STATS_CLI\n    * Description: Expose the \nstat\n shell 
command.\n    * Value: 0\n  * Setting: STATS_NAMES\n    * Description: Include 
and report the textual name of each statistic.\n    * Value: 0\n  * Setting: 
STATS_NEWTMGR\n    * Descrip
 tion: Expose the \nstat\n newtmgr command.\n    * Value: 
0\n...\n$\n\n\n\n\n\nKeep in mind that this will only show the configuration 
options for any packages that are included in your applicaiton. \n\n\nIf you 
really want to see \nall\n the available configuration options, you can go 
rough each package and look at the\n\nsyscfg.yml\n file in each.", 
             "title": "Concepts"
         }, 
         {
@@ -442,7 +442,7 @@
         }, 
         {
             "location": "/os/get_started/vocabulary/#project", 
-            "text": "The 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:   Project Definition: defines project level dependencies, and 
parameters\n    (located in  project.yml )  Packages   Packages  are described 
in detail in the section below.    Here is an example project definition file 
from the default Apache Mynewt \nproject:   $ more project.yml  snip 
\nproject.name:  my_project \n\nproject.repositories:\n    - 
apache-mynewt-core\n\n# Use github s distribution mechanism for core ASF 
libraries.\n# This provides mirroring automatically for 
us.\n#\nrepository.apache-mynewt-core:\n    type: github\n    vers: 0-latest\n  
  user: apache\n    repo: incubator-mynewt-core\n$   A couple of things to note 
in the project definition:    project.repositories : Defines the remote 
repositories that this project\nrelies upon.
     repository.apache-mynewt-core : Defines the repository information for 
\nthe  apache-mynewt-core  repository.    vers=0-latest : Defines the 
repository version. This string will use the \nlatest code in the 'Master' 
github branch. To use the latest version in the \ndevelop branch, just change 
it to  vers=0-dev    Repositories are versioned collections of packages.    
Projects 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  repos 
\ndirectory of your project, and can be referenced throughout the system by 
using\nthe  @  specifier.    By default, the  @apache-mynewt-core  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 
Bootlo
 ader.  NOTE:  Any project can be converted into a repository by providing it 
with a  repository.yml  file and putting it up onto Github.  More 
information\nabout repositories can be found in the Newt documentation.", 
+            "text": "The 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:   Project Definition: defines project level dependencies, and 
parameters\n    (located in  project.yml )  Packages   Packages  are described 
in detail in the section below.    Here is an example project definition file 
from the default Apache Mynewt \nproject:   $ more project.yml  snip 
\nproject.name:  my_project \n\nproject.repositories:\n    - 
apache-mynewt-core\n\n# Use github s distribution mechanism for core ASF 
libraries.\n# This provides mirroring automatically for 
us.\n#\nrepository.apache-mynewt-core:\n    type: github\n    vers: 1-latest\n  
  user: apache\n    repo: incubator-mynewt-core\n$   A couple of things to note 
in the project definition:    project.repositories : Defines the remote 
repositories that this project\nrelies upon.
     repository.apache-mynewt-core : Defines the repository information for 
\nthe  apache-mynewt-core  repository.    vers=1-latest : Defines the 
repository version. This string will use the \nlatest code in the 'Master' 
github branch. To use the latest version in the \ndevelop branch, just change 
it to  vers=1-dev    Repositories are versioned collections of packages.    
Projects 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  repos 
\ndirectory of your project, and can be referenced throughout the system by 
using\nthe  @  specifier.    By default, the  @apache-mynewt-core  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 
Bootlo
 ader.  NOTE:  Any project can be converted into a repository by providing it 
with a  repository.yml  file and putting it up onto Github.  More 
information\nabout repositories can be found in the Newt documentation.", 
             "title": "Project"
         }, 
         {
@@ -452,12 +452,12 @@
         }, 
         {
             "location": "/os/get_started/vocabulary/#target", 
-            "text": "A target in Apache Mynewt is very similar to a target in  
make .  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.  Targets are also packages, and are stored in 
the  targets/  directory at the base \nof your project.  Most targets consist 
of:    app : The application to build.  bsp : The board support package to 
combine with that application  build_profile : Either  debug  or  optimized .   
 Targets can also have additional items specified, including:    cflags : Any 
additional compiler flags you might want to specify to the build.  features : 
Any system level features you want to enable.   In order to create and 
manipulate targets, the  newt  tool offers a set of helper commands,\nyou can 
find more information about these by issuing:  $ newt target  Usage:\n 
  newt target [flags]\n  newt target [command]\n\nAvailable Commands:\n  config 
     View target system configuration\n  copy        Copy target\n  create      
Create a target\n  delete      Delete target\n  set         Set target 
configuration variable\n  show        View target configuration 
variables\n\nGlobal Flags:\n  -l, --loglevel string   Log level (default  WARN 
)\n  -o, --outfile string    Filename to tee output to\n  -q, --quiet           
  Be quiet; only display error output\n  -s, --silent            Be silent; don 
t output anything\n  -v, --verbose           Enable verbose output when 
executing commands\n\nUse  newt target [command] --help  for more information 
about a command.\n$", 
+            "text": "A target in Apache Mynewt is very similar to a target in  
make .  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.  Targets are also packages, and are stored in 
the  targets/  directory at the base \nof your project.  Most targets consist 
of:    app : The application to build.  bsp : The board support package to 
combine with that application  build_profile : Either  debug  or  optimized .   
 Targets can also have additional items specified, including:    cflags : Any 
additional compiler flags you might want to specify to the build.  features : 
Any system level features you want to enable.   In order to create and 
manipulate targets, the  newt  tool offers a set of helper commands,\nyou can 
find more information about these by issuing:  $ newt target  newt targ
 et\nUsage:\n  newt target [flags]\n  newt target [command]\n\nAvailable 
Commands:\n  config      View or populate a target s system configuration\n  
copy        Copy target\n  create      Create a target\n  delete      Delete 
target\n  dep         View target s dependency graph\n  revdep      View target 
s reverse-dependency graph\n  set         Set target configuration variable\n  
show        View target configuration variables\n\nGlobal Flags:\n  -h, --help  
            Help for newt commands\n  -j, --jobs int          Number of 
concurrent build jobs (default 8)\n  -l, --loglevel string   Log level (default 
 WARN )\n  -o, --outfile string    Filename to tee output to\n  -q, --quiet     
        Be quiet; only display error output\n  -s, --silent            Be 
silent; don t output anything\n  -v, --verbose           Enable verbose output 
when executing commands\n\nUse  newt target [command] --help  for more 
information about a command.\n\n$", 
             "title": "Target"
         }, 
         {
             "location": "/os/get_started/vocabulary/#configuration", 
-            "text": "There are a lot of configuration options available when 
building your application in MyNewt. System Configuration options are set in 
\na file called  syscfg.yml  and you will find these configuration files 
throughout the MyNewt packages. While you can edit these\nfiles directly to 
change some default settings, it is best to override the default settings in a  
syscfg.yml  file in your project\ndirectory rather than editing the package 
configurations directly.  To see all  all  the system configuration settings, 
simply type  $ newt target config  target-name \n...\n* PACKAGE: sys/stats\n  * 
Setting: STATS_CLI\n    * Description: Expose the  stat  shell command.\n    * 
Value: 0\n  * Setting: STATS_NAMES\n    * Description: Include and report the 
textual name of each statistic.\n    * Value: 0\n  * Setting: STATS_NEWTMGR\n   
 * Description: Expose the  stat  newtmgr command.\n    * Value: 0\n...\n$  
Keep in mind that this will only show the configuration options for
  any packages that are included in your applicaiton.   If you really want to 
see  all  the available configuration options, you can go rough each package 
and look at the syscfg.yml  file in each.", 
+            "text": "There are a lot of configuration options available when 
building your application in MyNewt. System Configuration options are set in 
\na file called  syscfg.yml  and you will find these configuration files 
throughout the MyNewt packages. While you can edit these\nfiles directly to 
change some default settings, it is best to override the default settings in a  
syscfg.yml  file in your project\ndirectory rather than editing the package 
configurations directly.  To see all  all  the system configuration settings, 
simply type  $ newt target config show  target-name \n...\n* PACKAGE: 
sys/stats\n  * Setting: STATS_CLI\n    * Description: Expose the  stat  shell 
command.\n    * Value: 0\n  * Setting: STATS_NAMES\n    * Description: Include 
and report the textual name of each statistic.\n    * Value: 0\n  * Setting: 
STATS_NEWTMGR\n    * Description: Expose the  stat  newtmgr command.\n    * 
Value: 0\n...\n$  Keep in mind that this will only show the configuration option
 s for any packages that are included in your applicaiton.   If you really want 
to see  all  the available configuration options, you can go rough each package 
and look at the syscfg.yml  file in each.", 
             "title": "Configuration"
         }, 
         {
@@ -482,7 +482,7 @@
         }, 
         {
             "location": "/os/tutorials/arduino_zero/", 
-            "text": "Blinky, your \"Hello World!\", on Arduino Zero\n\n\nLearn 
how to use packages from a default application repository of Mynewt to build 
your first \nHello World\n application (Blinky) on a target board. Once built 
using the \nnewt\n tool, this application will blink the LED lights on the 
target board.\n\n\nThis tutorial describes how to run Mynewt OS on Arduino 
Zero. Follow these simple steps and your board will be blinking in no 
time!\n\n\nPrerequisites\n\n\nBefore tackling this tutorial, it's best to read 
about Mynewt in the \nIntroduction\n section of this 
documentation.\n\n\nEquipment\n\n\nYou will need the following 
equipment\n\n\n\n\nAn Arduino Zero board.  NOTE: There are many flavors of 
Arduino. Ensure that\nyou have an Arduino Zero. See below for the versions of 
Arduino Zero that are\ncompatible with this tutorial\n\n\nA computer that can 
connect to the Arduino Zero over USB\n\n\nA USB cable (Type A to micro B) that 
can connect the computer to the Arduin
 o\n\n\nThe Mynewt Release\n\n\n\n\nThis tutorial has been tested on the 
following three Arduino Zero boards - Zero, M0 Pro, and 
Zero-Pro.\n\n\n\n\n\n\n\n\nMynewt has not been tested on Arduino M0 which has 
no internal debugger support.\n\n\nInstall Mynewt and Newt\n\n\n\n\nIf you have 
not already done so, install Newt as shown in the \nNewt install 
tutorial\n\n\nIf you have not already done so, create a project as shown in the 
Quick Start guide on how to \nCreate Your First Project\n. Skip the testing and 
building the project steps in that tutorial since you will be defining a target 
for your Arduino board in this tutorial.\n\n\n\n\n\n\nFetch External 
Packages\n\n\nMynewt uses source code provided directly from the chip 
manufacturer for\nlow level operations. Sometimes this code is licensed only 
for the specific manufacturer of the chipset and cannot live in the Apache 
Mynewt repository. That happens to be the case for the Arduino Zero board which 
uses Atmel SAMD21. Runtime's github
  repository hosts such external third-party packages and the Newt tool can 
fetch them.\n\n\nTo fetch the package with MCU support for Atmel SAMD21 for 
Arduino Zero from the Runtime git repository, you need to add\nthe repository 
to the \nproject.yml\n file in your base project directory.\n\n\nHere is an 
example \nproject.yml\n file with the Arduino Zero repository\nadded. The 
sections with \nmynewt_arduino_zero\n that need to be added to\nyour project 
file are highlighted.\n\n\n$ more project.yml\nproject.name: 
\nmy_project\n\n\nproject.repositories:\n    - apache-mynewt-core\n\n    - 
mynewt_arduino_zero\n\n\nrepository.apache-mynewt-core:\n    type: github\n    
vers: 0-latest\n    user: apache\n    repo: 
incubator-mynewt-core\n\n\nrepository.mynewt_arduino_zero:\n\n    type: 
github\n\n    vers: 0-latest\n\n    user: runtimeinc\n\n    repo: 
mynewt_arduino_zero\n\n$\n\n\n\n\n\n\n\nOnce you've edited your \nproject.yml\n 
file, the next step is to install the\nproject dependencies, thi
 s can be done with the \nnewt install\n command\n(to see more output, provide 
the \n-v\n verbose option.):\n\n\n$ newt 
install\napache-mynewt-core\nmynewt_arduino_zero\n$\n\n\n\n\n\n\n\nNOTE:\n If 
there has been a new release of a repo used in your project since you last 
installed it, the \n0-latest\n version for the repo in the \nproject.yml\n file 
will refer to the new release and will not match the installed files. In that 
case you will get an error message saying so and you will need to run \nnewt 
upgrade\n to overwrite the existing files with the latest 
codebase.\n\n\n\n\nCreate your bootloader target\n\n\nNext, you need to tell 
Newt what to build.  For the Arduino Zero, we are going to\ngenerate both a 
bootloader, and an image target.\n\n\nTo generate the bootloader target, you 
need to specify the following options. The output of the commands (indicating 
success) have been suppressed for easier readability.\n\n\n$ newt target create 
arduino_boot\n$ newt target set arduino_boot
  bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero\nTarget targets/arduino_boot 
successfully created\n$ newt target set arduino_boot 
app=@apache-mynewt-core/apps/boot\nTarget targets/arduino_boot successfully set 
target.app to @apache-mynewt-core/apps/boot\n$ newt target set arduino_boot 
build_profile=optimized\nTarget targets/arduino_boot successfully set 
target.build_profile to optimized\n$ newt target set arduino_boot 
syscfg=BSP_ARDUINO_ZERO_PRO=1\nTarget targets/arduino_boot successfully set 
target.syscfg to BSP_ARDUINO_ZERO_PRO=1\n\n\n\n\n\n\n\nThese commands do a few 
things:\n\n\n\n\nCreate a target named \narduino_boot\n, in order to build the 
Arduino Zero Bootloader.\n\n\nSet the application for the \narduino_boot\n 
target to the default Apache Mynewt\n    bootloader 
(\n@apache-mynewt-core/apps/boot\n)\n\n\nSet the board support package for the 
target to\n    \n@mynewt_arduino_zero/hw/bsp/arduino_zero\n.  This is a 
reference to the downloaded\n    Arduino Zero support from Github
 .\n\n\nUse the \"optimized\" build profile for the \narduino_boot\n target.  
This\n    instructs Newt to generate smaller and more efficient code for this 
target.\n    This setting is necessary due to the bootloader's strict size 
constraints.\n\n\nTells the Board Support Package to enable support for the 
Arduino Zero Pro or the Arduino Zero. Set it to \narduino_zero\n or 
\narduino_zero_pro\n depending on the board you have.\n\n\n\n\n\n\nIf you'd 
rather, you can also take care of that last part by editing the \nsyscfg.yml\n 
file \nfor the target to set options -- at least one that is 
\nrequired\n.\nLook in the directory for the target, as defined by the target 
(in this case \ntargets/arduino_boot\n)\nand edit the syscfg.yml file. It 
should look like this when you're done:\n\n\n### Package: 
targets/arduino_boot\n\nsyscfg.vals:\n    BSP_ARDUINO_ZERO_PRO: 1\n\n\n\n\n\nIf 
you have an Arduino Zero Pro or M0 Pro, you'll want \nBSP_ARDUINO_ZEZRO_PRO: 
1\n. If you have the Arduino Zero, \nyou
 'll want \nBSP_ARDUINO_ZERO: 1\n instead.\n\n\nFor more information on setting 
options, see the section on \nConcepts\n.\n\n\nFor now, we're not going to set 
any more options or enable any more features of Mynewt OS.\n\n\n\n\nBuild your 
bootloader\n\n\nOnce you've configured the bootloader target, the next step is 
to build the bootloader for your Arduino. You can do this by using the \nnewt 
build\n command:\n\n\n$ newt build arduino_boot\nCompiling 
asprintf.c\nCompiling atoi.c\nCompiling atol.c\nCompiling atoll.c\nCompiling 
bsearch.c\nCompiling bzero.c\nCompiling calloc.c\nCompiling fgets.c\nCompiling 
inline.c\n\nsnip\n\nApp successfully built: 
myproject/bin/arduino_boot/apps/boot/boot.elf\n\n\n\n\n\nIf this command 
finishes successfully, you have successfully built the Arduino\nbootloader, and 
the next step is to build your application for the 
Arduino\nboard.\n\n\n\n\nBuild your blinky app\n\n\nTo create and download your 
application, you create another target, this one pointing to
  the application you want to download to the Arduino board.\n\nIn this 
tutorial,  we will use the default application that comes with your project, 
\napps/blinky\n:\n\n\nNote\n: Remember to set features to \narduino_zero\n if 
your board is Arduino Zero and not a Pro!\n\n\n$ newt target create 
arduino_blinky\nTarget targets/arduino_blinky successfully created\n$ newt 
target set arduino_blinky app=apps/blinky\nTarget targets/arduino_blinky 
successfully set target.app to apps/blinky\n$ newt target set arduino_blinky 
bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero\nTarget targets/arduino_blinky 
successfully set target.bsp to @mynewt_arduino_zero/hw/bsp/arduino_zero\n$ newt 
target set arduino_blinky build_profile=debug\nTarget targets/arduino_blinky 
successfully set target.build_profile to debug\n\n$ newt target set 
arduino_blinky features=arduino_zero_pro\n\nTarget targets/arduino_blinky 
successfully set pkg.features to arduino_zero_pro\n$\n\n\n\n\n\n\n\nYou can now 
build the target, with 
 \nnewt build\n:\n\n\n$ newt build arduino_blinky\nCompiling main.c\nArchiving 
blinky.a\nCompiling cons_fmt.c\nCompiling cons_tty.c\nArchiving 
full.a\nCompiling case.c\nCompiling suite.c\nCompiling testutil.c\nArchiving 
testutil.a\n\nsnip\n\nApp successfully built: 
myproject/bin/arduino_blinky/apps/blinky/blinky.elf\n\n\n\n\n\n 
Congratulations! \n You have successfully built your application. Now it's time 
to load both the bootloader and application onto the target.\n\n\n\n\nConnect 
the Target\n\n\nConnect your computer to the Arduino Zero (from now on we'll 
call this the\ntarget) with the Micro-USB cable through the Programming Port as 
shown below.\nMynewt will download and debug the target through this port. You 
should see a\nlittle green LED come on. That means the board has power.\n\n\nNo 
external debugger is required.  The Arduino Zero comes with an 
internal\ndebugger that can be accessed by Mynewt.\n\n\nA image below shows the 
Arduino Zero Programming Port.\n\n\n\n\n\n\n\n\nDow
 nload the Bootloader\n\n\nExecute the command to download the 
bootloader.\n\n\n    \n$\n \nnewt\n \nload\n \narduino_boot\n\n\n\n\n\n\nIf the 
newt tool finishes without error, that means the bootloader has 
been\nsuccessfully loaded onto the target.\n\n\nIf, on the other hand, you get 
errors like the following:\n\n\n$ newt load arduino_boot -v\nLoading 
bootloader\nError: Downloading 
~/dev/arduino_zero/bin/targets/arduino_boot/app/apps/boot/boot.elf.bin to 
0x0\nOpen On-Chip Debugger 0.9.0 (2015-11-15-05:39)\nLicensed under GNU GPL 
v2\nFor bug reports, read\n    http://openocd.org/doc/doxygen/bugs.html\nInfo : 
only one transport option; autoselect \nswd\n\nadapter speed: 500 
kHz\nadapter_nsrst_delay: 100\ncortex_m reset_config sysresetreq\nInfo : 
CMSIS-DAP: SWD  Supported\nInfo : CMSIS-DAP: JTAG Supported\nInfo : CMSIS-DAP: 
Interface Initialised (SWD)\nInfo : CMSIS-DAP: FW Version = 01.1F.0118\nInfo : 
SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1\nInfo : 
CMSIS-DAP: I
 nterface ready\nInfo : clock speed 500 kHz\nInfo : SWD IDCODE 0x0bc11477\nInfo 
: at91samd21g18.cpu: hardware has 4 breakpoints, 2 watchpoints\nError: Target 
not halted\n\n\n\n\n\nThen you'll need to erase your board first before 
downloading the \narduino_boot\n application. Here's how you do that using 
gdb,\nthe GNU Debugger. \n\n\n$ newt debug arduino_blinky\n\n(gdb) mon at91samd 
chip-erase\nchip erased\nchip erased\n(gdb) x/32wx 0\n0x0:    0xffffffff  
0xffffffff  0xffffffff  0xffffffff\n0x10:   0xffffffff  0xffffffff  0xffffffff  
0xffffffff\n0x20:   0xffffffff  0xffffffff  0xffffffff  0xffffffff\n0x30:   
0xffffffff  0xffffffff  0xffffffff  0xffffffff\n0x40:   0xffffffff  0xffffffff  
0xffffffff  0xffffffff\n0x50:   0xffffffff  0xffffffff  0xffffffff  
0xffffffff\n0x60:   0xffffffff  0xffffffff  0xffffffff  0xffffffff\n0x70:   
0xffffffff  0xffffffff  0xffffffff  0xffffffff\n(gdb) q\n\n\n\n\n\nOnce the 
chip is erased, go back and download the \narduino_boot\n image to the board as 
abo
 ve. \n\n\n\n\n Reminder if you are using Docker: \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.\n\n\n\n\nRun the Image\n\n\nNow that the bootloader is 
downloaded to the target, the next step is to load\nyour image onto the Arduino 
Zero.  The easiest way to do this, is to use the\n\nnewt run\n command.  \nnewt 
run\n will automatically rebuild your program\n(if necessary), crea
 te an image, and load it onto the target device.\n\n\nHere, we will load our 
\narduino_blinky\n target onto the device, and we\nshould see it run:\n\n\n$ 
newt run arduino_blinky 0.0.0\nDebugging 
myproject/bin/arduino_blinky/apps/blinky/blinky.elf\nOpen On-Chip Debugger 
0.9.0 (2015-09-23-21:46)\nLicensed under GNU GPL v2\nFor bug reports, read\n    
http://openocd.org/doc/doxygen/bugs.html\nInfo : only one transport option; 
autoselect \nswd\n\nadapter speed: 500 kHz\nadapter_nsrst_delay: 100\ncortex_m 
reset_config sysresetreq\nInfo : CMSIS-DAP: SWD  Supported\nInfo : CMSIS-DAP: 
JTAG Supported\nInfo : CMSIS-DAP: Interface Initialised (SWD)\nInfo : 
CMSIS-DAP: FW Version = 01.1F.0118\nInfo : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 
TDO = 1 nTRST = 0 nRESET = 1\nInfo : CMSIS-DAP: Interface ready\nInfo : clock 
speed 500 kHz\nInfo : SWD IDCODE 0x0bc11477\nInfo : at91samd21g18.cpu: hardware 
has 4 breakpoints, 2 watchpoints\nGNU gdb (GNU Tools for ARM Embedded 
Processors) 7.8.0.20150604-cvs\nCopyr
 ight (C) 2014 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 
3 or later \nhttp://gnu.org/licenses/gpl.html\n\nThis is free software: you are 
free to change and redistribute it.\nThere is NO WARRANTY, to the extent 
permitted by law.  Type \nshow copying\n\nand \nshow warranty\n for 
details.\nThis GDB was configured as \n--host=x86_64-apple-darwin10 
--target=arm-none-eabi\n.\nType \nshow configuration\n for configuration 
details.\nFor bug reporting instructions, please 
see:\n\nhttp://www.gnu.org/software/gdb/bugs/\n.\nFind the GDB manual and other 
documentation resources online 
at:\n\nhttp://www.gnu.org/software/gdb/documentation/\n.\nFor help, type 
\nhelp\n.\nType \napropos word\n to search for commands related to 
\nword\n...\nReading symbols from 
myproject/bin/arduino_blinky/apps/blinky/blinky.elf...done.\ntarget state: 
halted\ntarget halted due to debug-request, current mode: Thread\nxPSR: 
0x21000000 pc: 0x0000030e msp: 0x20008000\nInfo : accepting \ngdb\n connecti
 on on tcp/3333\nInfo : SAMD MCU: SAMD21G18A (256KB Flash, 32KB 
RAM)\n0x0000030e in ?? ()\n(gdb) r\nThe \nremote\n target does not support 
\nrun\n.  Try \nhelp target\n or \ncontinue\n.\n(gdb) 
c\nContinuing.\n\n\n\n\n\n\n\nNOTE:\n The 0.0.0 specified after the target name 
to \nnewt run\n is the version\nof the image to load.  If you are not providing 
remote upgrade, and are just\ndeveloping locally, you can provide 0.0.0 for 
every image version.\n\n\nIf you want the image to run without the debugger 
connected, simply quit the\ndebugger and restart the board.  The image you 
programmed will come up and run on \nthe Arduino on the next boot!  
\n\n\n\n\nWatch the LED blink\n\n\nCongratulations! You have created a Mynewt 
operating system running on the\nArduino Zero. The LED right next to the power 
LED should be blinking. It is toggled \nby one task running on the Mynewt OS.   
\n\n\nWe have more fun tutorials for you to get your hands dirty. Be bold and 
try other \nBlinky-like \ntutorials
 \n or try enabling additional functionality \nsuch as \nremote comms\n on the 
current board.\n\n\nIf you see anything missing or want to send us feedback, 
please do so by signing up for \nappropriate mailing lists on our \nCommunity 
Page\n.\n\n\nKeep on hacking and blinking!", 
+            "text": "Blinky, your \"Hello World!\", on Arduino Zero\n\n\nLearn 
how to use packages from a default application repository of Mynewt to build 
your first \nHello World\n application (Blinky) on a target board. Once built 
using the \nnewt\n tool, this application will blink the LED lights on the 
target board.\n\n\nThis tutorial describes how to run Mynewt OS on Arduino 
Zero. Follow these simple steps and your board will be blinking in no 
time!\n\n\nPrerequisites\n\n\nEnsure that you have met the following 
prerequisites before continuing with this tutorial:\n\n\n\n\nHave an Arduino 
Zero board.\n\nNote: There are many flavors of Arduino. Make sure you are using 
an Arduino Zero. See below for the versions of Arduino Zero that are compatible 
with this tutorial.\n\n\nHave Internet connectivity to fetch remote Mynewt 
components.\n\n\nHave a Micro-USB cable to connect the board and the 
computer.\n\n\nHave a computer to build a Mynewt application and connect to 
your board over U
 SB.\n\n\nInstall the Newt tool and toolchains (See \nBasic 
Setup\n).\n\n\nCreate a project space (directory structure) and populated it 
with the core code repository (apache-mynewt-core) or know how to as explained 
in \nCreating Your First Project\n.\n\n\nRead the Mynewt OS \nConcepts\n 
section. \n\n\n\n\nThis tutorial has been tested on the following three Arduino 
Zero boards - Zero, M0 Pro, and Zero-Pro.\n\n\n\n\n\n\n\n\nMynewt has not been 
tested on Arduino M0 which has no internal debugger support.\n\n\n\n\nCreate a 
Project\n\n\nCreate a new project if you do not have an existing one.  You can 
skip this step and proceed to \nfetch external packages\n if you already 
created a project.  \n\n\nRun the following commands to create a new project: 
\n\n\n    $ mkdir ~/dev\n    $ cd ~/dev\n    $ newt new myproj\n    Downloading 
project skeleton from apache/incubator-mynewt-blinky...\n    Installing 
skeleton in myproj...\n    Project myproj successfully created.\n    $ cd 
myproj\n    $ n
 ewt install\n    apache-mynewt-core\n    $\n\n\n\n\n\n\n\n Fetch External 
Packages\n\n\nMynewt uses source code provided directly from the chip 
manufacturer for\nlow level operations. Sometimes this code is licensed only 
for the specific manufacturer of the chipset and cannot live in the Apache 
Mynewt repository. That happens to be the case for the Arduino Zero board which 
uses Atmel SAM

<TRUNCATED>

Reply via email to