http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/6b7450f6/latest/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/latest/mkdocs/search_index.json b/latest/mkdocs/search_index.json
index 957c469..665dde5 100644
--- a/latest/mkdocs/search_index.json
+++ b/latest/mkdocs/search_index.json
@@ -357,7 +357,7 @@
         }, 
         {
             "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\u2502\u00a0\u00a0         \u2514\u2500\u2500 
main.c\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, 11 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\nNOTE:\n By 
default newt uses the code in the master branch. This is the latest stable\ncode
  for newt. If you need to use a different branch, you can set this in the 
project.yml\nfile. \n\n\nrepository.apache-mynewt-core:\n    type: github\n    
vers: 0-latest\n    user: apache\n    repo: 
incubator-mynewt-core\n\n\n\n\n\nChanging to 0-dev will put you on the develop 
branch. \nThe Develop Branch may not be stable and \nyou may encounter bugs or 
other problems.\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 default, 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. The actual output will depend on what is in the latest 'master' branch 
you have pulled from.\n\n\n$ tree -L 2 
repos/apache-mynewt-core/\nrepos/apache-mynewt-core/\nrepos/apache-mynewt-core/\n\u251c\u2500\u2500
 CODING_STANDARDS.md\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 RELEASE_NOTES.md\n\u251c\u2500\u2500 
apps\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 blecent\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 blehci\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bleprph\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph_oic\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 bletest\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bletiny\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleuart\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 boot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
ffs2native\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
ocf_sample\n\u2502\u00a0\u00a0 \u251c
 \u2500\u2500 slinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
slinky_oic\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 spitest\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 splitty\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
test\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 timtest\n\u251c\u2500\u2500 
boot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 boot_serial\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 bootutil\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
split\n\u251c\u2500\u2500 compiler\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
arm-none-eabi-m0\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
arm-none-eabi-m4\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
gdbmacros\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 sim\n\u251c\u2500\u2500 
crypto\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mbedtls\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 tinycrypt\n\u251c\u2500\u2500 docs\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 doxygen.xml\n\u251c\u2500\u2500 encoding\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 base64\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
cborattr\n\u2502\u00a0\u00a
 0 \u251c\u2500\u2500 json\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
tinycbor\n\u251c\u2500\u2500 fs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
fcb\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 
cmsis-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 drivers\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 hal\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
mcu\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 scripts\n\u251c\u2500\u2500 
kernel\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 os\n\u251c\u2500\u2500 
libc\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 baselibc\n\u251c\u2500\u2500 
mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 imgmgr\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
newtmgr\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 oicmgr\n\u251c\u2500\u2500 
net\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 ip\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 nimble\n\u2502\u00a0
 \u00a0 \u251c\u2500\u2500 oic\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
wifi\n\u251c\u2500\u2500 project.yml\n\u251c\u2500\u2500 
repository.yml\n\u251c\u2500\u2500 sys\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
config\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 console\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 coredump\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
defs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 flash_map\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 id\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
log\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mfg\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 reboot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
shell\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 stats\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 sysinit\n\u251c\u2500\u2500 targets\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 unittest\n\u251c\u2500\u2500 test\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 crash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
flash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 runtest\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 
 testreport\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 testutil\n\u251c\u2500\u2500 
time\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 datetime\n\u2514\u2500\u2500 util\n 
   \u251c\u2500\u2500 cbmem\n    \u251c\u2500\u2500 crc\n    \u2514\u2500\u2500 
mem\n\n87 directories, 9 files\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 package in the \napache-mynewt-core\n repo, 
call newt as shown below.\n\n\n$ newt test 
@apache-mynewt-core/sys/config\nTesting package 
@apache-mynewt-core/sys/config/test-fcb\nCompiling bootutil_misc.c\nCompiling 
image_ec.c\nCompiling image_rsa.c\nCompiling 
image_validate.c\n\nsnip\n\n\n\n\n\n\nNOTE:\n If you've installed the latest 
gcc using homebrew on your Mac, you will likely be running gcc-6. Make sure you 
have a
 djusted the compiler.yml configuration to reflect that as noted in \nNative 
Install Option\n. You can choose to downgrade to gcc-5 in order to use the 
default gcc compiler configuration for MyNewt.\n\n\nNOTE:\n If you are running 
the standard gcc for 64-bit machines, it does not support 32-bit. In that case 
you will see compilation errors. You need to install multiboot gcc (e.g. 
gcc-multilib if you running on a 64-bit Ubuntu).\n\n\n$ brew uninstall gcc-6\n$ 
brew link gcc-5\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 ...\nCompiling 
mn_sock_test.c\nArchiving mn_socket.a\nLinking test_mn_socket\nExecuting test: 
/Users/dsimmons/myproj/bin/unittest/sys/mn_socket/test_mn_socket\nPassed tests: 
[libs/json libs/util libs/mbedtls net/nimble/host hw/hal libs/bootutil sys/log 
sys/config sys/fcb fs/nffs libs/os libs/boot_serial sys/mn_socket]\nAll tests 
passe
 d\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 \nBuilding 
target targets/my_blinky_sim\nCompiling main.c\nArchiving blinky.a\nCompiling 
hal_bsp.c\nCompiling os_bsp.c\nCompiling sbrk.c\nArchiving native.a\nCompiling 
flash_map.c\n\nsnip\n\nLinking blinky.elf\nApp successfully built: 
~/myproj/bin/targets/my_blinky_sim/app/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. If you are using newt docker, use \nnewt run\n to run the 
simulated binary.\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 
/bin/targets/my_blinky_sim/app/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 hal_gpio pin
  is toggling between 1 and 0 in a simulated blink.\n\n\nIf you natively 
install the toolchain, you can either use \nnewt run\n or call the binary 
directly. Generally, \nnewt run\n is the expected way to call things.\n\n\n$ 
./bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf\nhal_gpio set pin  1 to 
0\n\n\n\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 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.\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!", 
+            "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\u2502\u00a0\u00a0         \u2514\u2500\u2500 
main.c\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, 11 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\nNOTE:\n By 
default newt uses the code in the master branch. This is the latest stable\ncode
  for newt. If you need to use a different branch, you can set this in the 
project.yml\nfile. \n\n\nrepository.apache-mynewt-core:\n    type: github\n    
vers: 1-latest\n    user: apache\n    repo: 
incubator-mynewt-core\n\n\n\n\n\nChanging to 1-dev will put you on the develop 
branch. \nThe Develop Branch may not be stable and you may encounter bugs or 
other problems.\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 default, 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 v
 iew them by issuing the following commands in the base directory of the new 
project. The actual output will depend on what is in the latest 'master' branch 
you have pulled from.\n\n\n$ tree -L 2 
repos/apache-mynewt-core/\n\nrepos/apache-mynewt-core/\n\u251c\u2500\u2500 
CODING_STANDARDS.md\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 RELEASE_NOTES.md\n\u251c\u2500\u2500 
apps\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 blecent\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 blehci\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bleprph\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph_oic\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 blesplit\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bletest\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bletiny\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 bleuart\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
boot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 fat2native\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 ffs2native\n\u25
 02\u00a0\u00a0 \u251c\u2500\u2500 ocf_sample\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 slinky\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
slinky_oic\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 spitest\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 splitty\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 testbench\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 timtest\n\u251c\u2500\u2500 boot\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 boot_serial\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bootutil\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 split\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 split_app\n\u251c\u2500\u2500 compiler\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 arm-none-eabi-m0\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
arm-none-eabi-m4\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
gdbmacros\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mips\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 sim\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
sim-mips\n\u251c\u2500\u2500 crypto\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
mbedtls\n\u25
 02\u00a0\u00a0 \u2514\u2500\u2500 tinycrypt\n\u251c\u2500\u2500 
docs\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 doxygen.xml\n\u251c\u2500\u2500 
encoding\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 base64\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 cborattr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
json\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 tinycbor\n\u251c\u2500\u2500 
fs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 disk\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 fatfs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
fcb\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 
cmsis-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 drivers\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 hal\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
mcu\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 scripts\n\u251c\u2500\u2500 
kernel\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 os\n\u251c\u2500\u2500 
libc\n\u2502\u00a0\u00a0 \u2514\u250
 0\u2500 baselibc\n\u251c\u2500\u2500 mgmt\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 imgmgr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 newtmgr\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 oicmgr\n\u251c\u2500\u2500 net\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 ip\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
nimble\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 oic\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 wifi\n\u251c\u2500\u2500 project.yml\n\u251c\u2500\u2500 
repository.yml\n\u251c\u2500\u2500 sys\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
config\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 console\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 coredump\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
defs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 flash_map\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 id\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
log\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mfg\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 reboot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
shell\n\u2502\u00a0\u00a0 \u251c\u2
 500\u2500 stats\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
sysinit\n\u251c\u2500\u2500 targets\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
unittest\n\u251c\u2500\u2500 test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
crash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
flash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 runtest\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 testutil\n\u251c\u2500\u2500 time\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 datetime\n\u2514\u2500\u2500 util\n    \u251c\u2500\u2500 
cbmem\n    \u251c\u2500\u2500 crc\n    \u2514\u2500\u2500 mem\n\n94 
directories, 9 files\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 package in the \napache-mynewt-core\n repo, call newt as shown 
below.\n\n\n$ newt test @apache-mynewt-core/sys/config\nTe
 sting package @apache-mynewt-core/sys/config/test-fcb\nCompiling 
bootutil_misc.c\nCompiling image_ec.c\nCompiling image_rsa.c\nCompiling 
image_validate.c\n\n    ...\n\nLinking 
~/dev/myproj/bin/targets/unittest/sys_config_test-fcb/app/sys/config/test-fcb/sys_config_test-fcb.elf\nExecuting
 test: 
~/dev/myproj/bin/targets/unittest/sys_config_test-fcb/app/sys/config/test-fcb/sys_config_test-fcb.elf\nTesting
 package @apache-mynewt-core/sys/config/test-nffs\nCompiling 
repos/apache-mynewt-core/encoding/base64/src/hex.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_cli.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_dirent.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_mkdir.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_mount.c\nCompiling 
repos/apache-mynewt-core/encoding/base64/src/base64.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_file.c\nCompiling 
repos/apache-mynewt-core/fs/disk/src/disk.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_nmgr.c\nCompiling repos/apac
 he-mynewt-core/fs/fs/src/fsutil.c\nCompiling 
repos/apache-mynewt-core/fs/nffs/src/nffs.c\n\n     ...\n\nLinking 
~/dev/myproj/bin/targets/unittest/sys_config_test-nffs/app/sys/config/test-nffs/sys_config_test-nffs.elf\nExecuting
 test: 
~/dev/myproj/bin/targets/unittest/sys_config_test-nffs/app/sys/config/test-nffs/sys_config_test-nffs.elf\nPassed
 tests: [sys/config/test-fcb sys/config/test-nffs]\nAll tests 
passed\n\n\n\n\n\nNOTE:\n If you've installed the latest gcc using homebrew on 
your Mac, you will likely be running gcc-6. Make sure you have adjusted the 
compiler.yml configuration to reflect that as noted in \nNative Install 
Option\n. You can choose to downgrade to gcc-5 in order to use the default gcc 
compiler configuration for MyNewt.\n\n\nNOTE:\n If you are running the standard 
gcc for 64-bit machines, it does not support 32-bit. In that case you will see 
compilation errors. You need to install multiboot gcc (e.g. gcc-multilib if you 
running on a 64-bit Ubuntu).\n\n\n$ brew uni
 nstall gcc-6\n$ brew link gcc-5\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\nTesting package @apache-mynewt-core/boot/boot_serial/test\nCompiling 
repos/apache-mynewt-core/boot/boot_serial/test/src/boot_test.c\nCompiling 
repos/apache-mynewt-core/boot/boot_serial/test/src/testcases/boot_serial_setup.c\n\n
     ...\n\nLinking 
~/dev/myproj/bin/targets/unittest/boot_boot_serial_test/app/boot/boot_serial/test/boot_boot_serial_test.elf\n\n...lots
 of compiling and testing...\n\nLinking 
~/dev/myproj/bin/targets/unittest/util_cbmem_test/app/util/cbmem/test/util_cbmem_test.elf\nExecuting
 test: 
~/dev/myproj/bin/targets/unittest/util_cbmem_test/app/util/cbmem/test/util_cbmem_test.elf\nPassed
 tests: [boot/boot_serial/test boot/bootutil/test crypto/mbedtls/test 
encoding/base64/test encoding/cborattr/test encoding/json/test fs/fcb/test 
fs/nffs/test kernel/os/test net/ip/mn_socket/test net/nimble/host/test 
net/oic/test sys/co
 nfig/test-fcb sys/config/test-nffs sys/flash_map/test sys/log/full/test 
util/cbmem/test]\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 \nBuilding target targets/my_blinky_sim\nCompiling 
repos/apache-mynewt-core/hw/hal/src/hal_common.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/src/uart.c\nCompiling 
repos/apache-mynewt-core/hw/hal/src/hal_flash.c\nCompiling 
repos/apache-mynewt-core/hw/bsp/native/src/hal_bsp.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/uart_hal/src/uart_hal.c\nCompiling 
apps/blinky/src/main.c\n\n    ...\n\n\nArchiving sys_mfg.a\nArchiving 
sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/my_blinky_sim\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. If you are using newt
  docker, use \nnewt run\n to run the simulated binary.\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 
/bin/targets/my_blinky_sim/app/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 hal_gpio pin is toggling between 1 and 0 in a simulated 
blink.\n\n\nIf you natively install the toolchain, you can either use \nnewt 
run\n or call the binary directly. Generally, \nnewt run\n is the expected way 
to call things.\n\n\n$ 
./bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf\nhal_gpio set pin  1 to 
0\n\n\n\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 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.\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"
         }, 
         {
@@ -372,22 +372,22 @@
         }, 
         {
             "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\u2502\u00a0\u00a0         \u2514\u2500\u2500 
main.c\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, 11 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 pack
 age files are not installed \n(except the template for  main.c ).  See the 
next step for installing the packages.  NOTE:  By default newt uses the code in 
the master branch. This is the latest stable\ncode for newt. If you need to use 
a different branch, you can set this in the project.yml\nfile.   
repository.apache-mynewt-core:\n    type: github\n    vers: 0-latest\n    user: 
apache\n    repo: incubator-mynewt-core  Changing to 0-dev will put you on the 
develop branch.  The Develop Branch may not be stable and \nyou may encounter 
bugs or other problems.", 
+            "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\u2502\u00a0\u00a0         \u2514\u2500\u2500 
main.c\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, 11 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 pack
 age files are not installed \n(except the template for  main.c ).  See the 
next step for installing the packages.  NOTE:  By default newt uses the code in 
the master branch. This is the latest stable\ncode for newt. If you need to use 
a different branch, you can set this in the project.yml\nfile.   
repository.apache-mynewt-core:\n    type: github\n    vers: 1-latest\n    user: 
apache\n    repo: incubator-mynewt-core  Changing to 1-dev will put you on the 
develop branch.  The Develop Branch may not be stable and you may encounter 
bugs or other problems.", 
             "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. The 
actual output will depend on what is in the latest 'master' branch you have 
pulled from.  $ tree -L 2 
repos/apache-mynewt-core/\nrepos/apache-mynewt-core/\nrepos/apache-mynewt-core/\n\u251c\u2500\u2500
 CODING_STANDARDS.md\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 
LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2
 500\u2500 README.md\n\u251c\u2500\u2500 RELEASE_NOTES.md\n\u251c\u2500\u2500 
apps\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 blecent\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 blehci\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bleprph\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph_oic\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 bletest\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bletiny\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleuart\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 boot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
ffs2native\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
ocf_sample\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 slinky\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 slinky_oic\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
spitest\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 splitty\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 test\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
timtest\n\u251c\u2500\u2500 boot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
boot_serial\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bootutil\n\u2502\u00a0\u00a0 
\u2514\u2500\u
 2500 split\n\u251c\u2500\u2500 compiler\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
arm-none-eabi-m0\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
arm-none-eabi-m4\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
gdbmacros\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 sim\n\u251c\u2500\u2500 
crypto\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mbedtls\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 tinycrypt\n\u251c\u2500\u2500 docs\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 doxygen.xml\n\u251c\u2500\u2500 encoding\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 base64\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
cborattr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 json\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 tinycbor\n\u251c\u2500\u2500 fs\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 fcb\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 cmsis-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
drivers\n\u2502\u00a0\u00a0 \u25
 1c\u2500\u2500 hal\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
mcu\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 scripts\n\u251c\u2500\u2500 
kernel\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 os\n\u251c\u2500\u2500 
libc\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 baselibc\n\u251c\u2500\u2500 
mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 imgmgr\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
newtmgr\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 oicmgr\n\u251c\u2500\u2500 
net\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 ip\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 nimble\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
oic\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 wifi\n\u251c\u2500\u2500 
project.yml\n\u251c\u2500\u2500 repository.yml\n\u251c\u2500\u2500 
sys\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 config\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 console\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
coredump\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 defs\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 flash_map\n\u2502\u00a0\
 u00a0 \u251c\u2500\u2500 id\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
log\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mfg\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 reboot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
shell\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 stats\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 sysinit\n\u251c\u2500\u2500 targets\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 unittest\n\u251c\u2500\u2500 test\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 crash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
flash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 runtest\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 testreport\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
testutil\n\u251c\u2500\u2500 time\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
datetime\n\u2514\u2500\u2500 util\n    \u251c\u2500\u2500 cbmem\n    
\u251c\u2500\u2500 crc\n    \u2514\u2500\u2500 mem\n\n87 directories, 9 files  
As you can see, the core of the Apache Mynewt operating system has been brought 
\ninto your local directory.", 
+            "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. The 
actual output will depend on what is in the latest 'master' branch you have 
pulled from.  $ tree -L 2 
repos/apache-mynewt-core/\n\nrepos/apache-mynewt-core/\n\u251c\u2500\u2500 
CODING_STANDARDS.md\n\u251c\u2500\u2500 DISCLAIMER\n\u251c\u2500\u2500 
LICENSE\n\u251c\u2500\u2500 NOTICE\n\u251c\u2500\u2500 README.md\n\u25
 1c\u2500\u2500 RELEASE_NOTES.md\n\u251c\u2500\u2500 apps\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 blecent\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
blehci\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bleprph\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 bleprph_oic\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
blesplit\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bletest\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 bletiny\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bleuart\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 boot\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 fat2native\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
ffs2native\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
ocf_sample\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 slinky\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 slinky_oic\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
spitest\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 splitty\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
testbench\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 timtest\n\u251c\u2500\u2500 
boot\n\u2502\u00
 a0\u00a0 \u251c\u2500\u2500 boot_serial\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
bootutil\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 split\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 split_app\n\u251c\u2500\u2500 compiler\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 arm-none-eabi-m0\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
arm-none-eabi-m4\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
gdbmacros\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mips\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 sim\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 
sim-mips\n\u251c\u2500\u2500 crypto\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
mbedtls\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 tinycrypt\n\u251c\u2500\u2500 
docs\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 doxygen.xml\n\u251c\u2500\u2500 
encoding\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 base64\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 cborattr\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
json\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 tinycbor\n\u251c\u2500\u2500 
fs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 disk\n\u2502\u
 00a0\u00a0 \u251c\u2500\u2500 fatfs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
fcb\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 
cmsis-core\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 drivers\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 hal\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
mcu\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 scripts\n\u251c\u2500\u2500 
kernel\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 os\n\u251c\u2500\u2500 
libc\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 baselibc\n\u251c\u2500\u2500 
mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 imgmgr\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 mgmt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
newtmgr\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 oicmgr\n\u251c\u2500\u2500 
net\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 ip\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 nimble\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
oic\n\u2502\u00a0\u00a0 \u2514\u250
 0\u2500 wifi\n\u251c\u2500\u2500 project.yml\n\u251c\u2500\u2500 
repository.yml\n\u251c\u2500\u2500 sys\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
config\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 console\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 coredump\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
defs\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 flash_map\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 id\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
log\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 mfg\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 reboot\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
shell\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 stats\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 sysinit\n\u251c\u2500\u2500 targets\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 unittest\n\u251c\u2500\u2500 test\n\u2502\u00a0\u00a0 
\u251c\u2500\u2500 crash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 
flash_test\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 runtest\n\u2502\u00a0\u00a0 
\u2514\u2500\u2500 testutil\n\u251c\u2500\u2500 time\n\u2502\u00a0\u00a0 \u2514\
 u2500\u2500 datetime\n\u2514\u2500\u2500 util\n    \u251c\u2500\u2500 cbmem\n  
  \u251c\u2500\u2500 crc\n    \u2514\u2500\u2500 mem\n\n94 directories, 9 files 
 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/sys/config\nTesting package 
@apache-mynewt-core/sys/config/test-fcb\nCompiling bootutil_misc.c\nCompiling 
image_ec.c\nCompiling image_rsa.c\nCompiling image_validate.c snip   NOTE:  If 
you've installed the latest gcc using homebrew on your Mac, you will likely be 
running gcc-6. Make sure you have adjusted the compiler.yml configuration to 
reflect that as noted in  Native Install Option . You can choose to downgrade 
to gcc-5 in order to use the default gcc compiler configuration for MyNewt.  
NOTE:  If you are running the standard gcc for 64-bit machines, it does not 
support 32-bit. In that case you will see compilation errors. You need to 
install multiboot gcc (e.g. gcc-multilib if you running on a 64-bit Ubuntu).  $ 
brew uni
 nstall gcc-6\n$ brew link gcc-5   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 ...\nCompiling 
mn_sock_test.c\nArchiving mn_socket.a\nLinking test_mn_socket\nExecuting test: 
/Users/dsimmons/myproj/bin/unittest/sys/mn_socket/test_mn_socket\nPassed tests: 
[libs/json libs/util libs/mbedtls net/nimble/host hw/hal libs/bootutil sys/log 
sys/config sys/fcb fs/nffs libs/os libs/boot_serial sys/mn_socket]\nAll tests 
passed", 
+            "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/sys/config\nTesting package 
@apache-mynewt-core/sys/config/test-fcb\nCompiling bootutil_misc.c\nCompiling 
image_ec.c\nCompiling image_rsa.c\nCompiling image_validate.c\n\n    
...\n\nLinking 
~/dev/myproj/bin/targets/unittest/sys_config_test-fcb/app/sys/config/test-fcb/sys_config_test-fcb.elf\nExecuting
 test: 
~/dev/myproj/bin/targets/unittest/sys_config_test-fcb/app/sys/config/test-fcb/sys_config_test-fcb.elf\nTesting
 package @apache-mynewt-core/sys/config/test-nffs\nCompiling 
repos/apache-mynewt-core/encoding/base64/src/hex.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_cli.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_dirent.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_mkdir.c\nCompiling repos/apache-mynewt-co
 re/fs/fs/src/fs_mount.c\nCompiling 
repos/apache-mynewt-core/encoding/base64/src/base64.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_file.c\nCompiling 
repos/apache-mynewt-core/fs/disk/src/disk.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fs_nmgr.c\nCompiling 
repos/apache-mynewt-core/fs/fs/src/fsutil.c\nCompiling 
repos/apache-mynewt-core/fs/nffs/src/nffs.c\n\n     ...\n\nLinking 
~/dev/myproj/bin/targets/unittest/sys_config_test-nffs/app/sys/config/test-nffs/sys_config_test-nffs.elf\nExecuting
 test: 
~/dev/myproj/bin/targets/unittest/sys_config_test-nffs/app/sys/config/test-nffs/sys_config_test-nffs.elf\nPassed
 tests: [sys/config/test-fcb sys/config/test-nffs]\nAll tests passed  NOTE:  If 
you've installed the latest gcc using homebrew on your Mac, you will likely be 
running gcc-6. Make sure you have adjusted the compiler.yml configuration to 
reflect that as noted in  Native Install Option . You can choose to downgrade 
to gcc-5 in order to use the default gcc compiler configurat
 ion for MyNewt.  NOTE:  If you are running the standard gcc for 64-bit 
machines, it does not support 32-bit. In that case you will see compilation 
errors. You need to install multiboot gcc (e.g. gcc-multilib if you running on 
a 64-bit Ubuntu).  $ brew uninstall gcc-6\n$ brew link gcc-5   To test all the 
packages in a project, specify  all  instead of the package name.  $ newt test 
all\nTesting package @apache-mynewt-core/boot/boot_serial/test\nCompiling 
repos/apache-mynewt-core/boot/boot_serial/test/src/boot_test.c\nCompiling 
repos/apache-mynewt-core/boot/boot_serial/test/src/testcases/boot_serial_setup.c\n\n
     ...\n\nLinking 
~/dev/myproj/bin/targets/unittest/boot_boot_serial_test/app/boot/boot_serial/test/boot_boot_serial_test.elf\n\n...lots
 of compiling and testing...\n\nLinking 
~/dev/myproj/bin/targets/unittest/util_cbmem_test/app/util/cbmem/test/util_cbmem_test.elf\nExecuting
 test: 
~/dev/myproj/bin/targets/unittest/util_cbmem_test/app/util/cbmem/test/util_cbmem_test.elf\nPasse
 d tests: [boot/boot_serial/test boot/bootutil/test crypto/mbedtls/test 
encoding/base64/test encoding/cborattr/test encoding/json/test fs/fcb/test 
fs/nffs/test kernel/os/test net/ip/mn_socket/test net/nimble/host/test 
net/oic/test sys/config/test-fcb sys/config/test-nffs sys/flash_map/test 
sys/log/full/test util/cbmem/test]\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 \nBuilding target 
targets/my_blinky_sim\nCompiling main.c\nArchiving blinky.a\nCompiling 
hal_bsp.c\nCompiling os_bsp.c\nCompiling sbrk.c\nArchiving native.a\nCompiling 
flash_map.c snip \nLinking blinky.elf\nApp successfully built: 
~/myproj/bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf", 
+            "text": "To build and run your new application, simply issue the 
following command:  $ newt build my_blinky_sim \nBuilding target 
targets/my_blinky_sim\nCompiling 
repos/apache-mynewt-core/hw/hal/src/hal_common.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/src/uart.c\nCompiling 
repos/apache-mynewt-core/hw/hal/src/hal_flash.c\nCompiling 
repos/apache-mynewt-core/hw/bsp/native/src/hal_bsp.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/uart_hal/src/uart_hal.c\nCompiling 
apps/blinky/src/main.c\n\n    ...\n\n\nArchiving sys_mfg.a\nArchiving 
sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/my_blinky_sim", 
             "title": "Build the Project"
         }, 
         {
@@ -402,7 +402,7 @@
         }, 
         {
             "location": "/os/get_started/serial_access/", 
-            "text": "Using the Serial Port with Mynewt OS\n\n\nSome of the 
projects and tutorials here will allow you to use a serial port\nto interact 
with your Mynewt project. While most modern PCs and laptops\nno longer have a 
true serial port, almost all can use their USB ports\nas serial ports. 
\n\n\nThis will show you how to connect to some of the development boards\nwe 
use via a serial port. \n\n\nThe development boards covered here 
are:\n\n\n\n\nNordic Semiconductor NRF52dk\n\n\nArduino M0 Pro\n\n\n\n\nIn 
order to communicate with these boards you will also need a 
USB\n--\nSerial\nconverted. We'll be using the \nAdaFruit FT232H Breakout 
Board\n for\nthis, but almost any similar board should work just as well. You 
will also\nneed Minicom or a similar Serial communications application. We'll 
show you how\nto use the \nscreen\n command built in to Mac OS X, but later 
tutorials will\nalso show Minicom setup.\n\n\nSo let's get 
started!\n\n\n\n\nSetup FT232H\n\n\nThis is a great b
 oard because it's so easy to set up, and it can do Serial UART,\nSPI, I2C and 
GPIO as well. There's full documentation on the board \nhere\n\n but we're only 
covering the wiring for the Serial UART. \n\n\nStart by connecting a jumper 
wire to Pin D0. This will be the UART Tx pin, \nwhich we'll then connect to the 
Rx pin on the Development Board.\n\n\nNext connect a jumper wire to pin D1. 
This will be the UART Rx pin,\nwhich we'll connect to the Tx pin on the 
development board.\n\n\nFinally connect a jumper wire to the GND pin.\n\n\nIt 
should look like this:\n\n\n\n\n\n\nSetup Nordic Semiconductor NRF52DK\n\n\nOn 
the NRF52DK developer kit board, the Rx pin is P0.08, so you'll attach 
your\njumper wire from the Tx pin (D0) of the FT232H board here.\n\n\nThe TX 
Pin is pin P0.08, so you'll attache the jumper wire from the Rx Pin (D1)\non 
the FT232H board here. \n\n\nFinally, the GND wire should go to the GND Pin on 
the NRF52DK. When you're\ndone, your wiring should look like this:\n\n\n \
 n\n\n\n\nSetup Arduino M0 Pro\n\n\nOn the Arduino M0 Pro, the Tx and Rx pins 
are clearly labeled as such, as is the GND\npin. Just make sure you wire Rx 
from the FT232H to TX on the M0 Pro, and vice-versa.\n\n\nYour Arduino M0 Pro 
should look like this:\n\n\n\n\n\n\nSetup Serial Communications\n\n\nAs 
mentioned earlier, we'll be using the built in \nscreen\n command for this, but 
we'll still \nneed to know which serial port to connect to. So, before plugging 
in the FT232H Board, \ncheck to see what USB devices are already 
connected:\n\n\n$ ls -la /dev/*usb*\n0 crw-rw-rw-  1 root  wheel   20,  63 Nov 
23 11:13 /dev/cu.usbmodem401322\n0 crw-rw-rw-  1 root  wheel   20,  62 Nov 23 
11:13 /dev/tty.usbmodem401322\n$\n\n\n\n\n\nNow, plug in the FT232H board, and 
run that command again:\n\n\n$ ls -la /dev/*usb*\n0 crw-rw-rw-  1 root  wheel   
20,  63 Nov 23 11:13 /dev/cu.usbmodem401322\n0 crw-rw-rw-  1 root  wheel   20,  
65 Nov 23 11:26 /dev/cu.usbserial-0020124\n0 crw-rw-rw-  1 root  wheel   
 20,  62 Nov 23 11:13 /dev/tty.usbmodem401322\n0 crw-rw-rw-  1 root  wheel   
20,  64 Nov 23 11:26 /dev/tty.usbserial-0020124\n$\n\n\n\n\n\nSo the FT232H is 
connected to \n/dev/tty.usbserial-0020124\n (The number after 
tty.usbserial\nwill be different on your machine.)\n\n\nSo let's connect to 
it:\n\n\n$ screen /dev/tty.usbserial-0020124 115200\n\n\n\n\n\nTo exit out of 
\nscreen\n you'll type \ncontrol-A\n followed by \ncontrol-\\\n and you'll\nbe 
back to a terminal prompt.\n\n\nIf you'd like to use Minicom:\n\n\n$ minicom -D 
/dev/tty.usbserial-0020124\n\n\n\n\n\nWelcome to minicom 2.7\n\n\nOPTIONS: 
\nCompiled on Nov 24 2015, 16:14:21.\nPort /dev/tty.usbserial-0020124, 
09:57:17\n\n\nPress Meta-Z for help on special keys\n```\n\n\n\n\nIf there's no 
Mynewt app running, or the Mynewt app doesn't have the Shell and 
Console\nenabled, you won't see anything there, but you can always refer back 
to this page\nfrom later tutorials if you need to.\n\n\nNow that you know how 
to communicate with 
 your mynewt application, let's move on to\ncreating one!", 
+            "text": "Using the Serial Port with Mynewt OS\n\n\nSome of the 
projects and tutorials here will allow you to use a serial port\nto interact 
with your Mynewt project. While most modern PCs and laptops\nno longer have a 
true serial port, almost all can use their USB ports\nas serial ports. 
\n\n\nThis will show you how to connect to some of the development boards\nwe 
use via a serial port. \n\n\nThe development boards covered here 
are:\n\n\n\n\nNordic Semiconductor NRF52dk\n\n\nArduino M0 Pro\n\n\n\n\nIn 
order to communicate with these boards you will also need a 
USB\n--\nSerial\nconverted. We'll be using the \nAdaFruit FT232H Breakout 
Board\n for\nthis, but almost any similar board should work just as well. You 
will also\nneed Minicom or a similar Serial communications application. We'll 
show you how\nto use the \nscreen\n command built in to Mac OS X, but later 
tutorials will\nalso show Minicom setup.\n\n\nSo let's get 
started!\n\n\n\n\nSetup FT232H\n\n\nThis is a great b
 oard because it's so easy to set up, and it can do Serial UART,\nSPI, I2C and 
GPIO as well. There's full documentation on the board \nhere\n\n but we're only 
covering the wiring for the Serial UART. \n\n\nStart by connecting a jumper 
wire to Pin D0. This will be the UART Tx pin, \nwhich we'll then connect to the 
Rx pin on the Development Board.\n\n\nNext connect a jumper wire to pin D1. 
This will be the UART Rx pin,\nwhich we'll connect to the Tx pin on the 
development board.\n\n\nFinally connect a jumper wire to the GND pin.\n\n\nIt 
should look like this:\n\n\n\n\n\n\nSetup Nordic Semiconductor NRF52DK\n\n\nOn 
the NRF52DK developer kit board, the Rx pin is P0.08, so you'll attach 
your\njumper wire from the Tx pin (D0) of the FT232H board here.\n\n\nThe TX 
Pin is pin P0.06, so you'll attache the jumper wire from the Rx Pin (D1)\non 
the FT232H board here. \n\n\nFinally, the GND wire should go to the GND Pin on 
the NRF52DK. When you're\ndone, your wiring should look like this:\n\n\n \
 n\n\n\n\nSetup Arduino M0 Pro\n\n\nOn the Arduino M0 Pro, the Tx and Rx pins 
are clearly labeled as such, as is the GND\npin. Just make sure you wire Rx 
from the FT232H to TX on the M0 Pro, and vice-versa.\n\n\nYour Arduino M0 Pro 
should look like this:\n\n\n\n\n\n\nSetup Serial Communications\n\n\nAs 
mentioned earlier, we'll be using the built in \nscreen\n command for this, but 
we'll still \nneed to know which serial port to connect to. So, before plugging 
in the FT232H Board, \ncheck to see what USB devices are already 
connected:\n\n\n$ ls -la /dev/*usb*\n0 crw-rw-rw-  1 root  wheel   20,  63 Nov 
23 11:13 /dev/cu.usbmodem401322\n0 crw-rw-rw-  1 root  wheel   20,  62 Nov 23 
11:13 /dev/tty.usbmodem401322\n$\n\n\n\n\n\nNow, plug in the FT232H board, and 
run that command again:\n\n\n$ ls -la /dev/*usb*\n0 crw-rw-rw-  1 root  wheel   
20,  63 Nov 23 11:13 /dev/cu.usbmodem401322\n0 crw-rw-rw-  1 root  wheel   20,  
65 Nov 23 11:26 /dev/cu.usbserial-0020124\n0 crw-rw-rw-  1 root  wheel   
 20,  62 Nov 23 11:13 /dev/tty.usbmodem401322\n0 crw-rw-rw-  1 root  wheel   
20,  64 Nov 23 11:26 /dev/tty.usbserial-0020124\n$\n\n\n\n\n\nSo the FT232H is 
connected to \n/dev/tty.usbserial-0020124\n (The number after 
tty.usbserial\nwill be different on your machine.)\n\n\nSo let's connect to 
it:\n\n\n$ screen /dev/tty.usbserial-0020124 115200\n\n\n\n\n\nTo exit out of 
\nscreen\n you'll type \ncontrol-A\n followed by \ncontrol-\\\n and you'll\nbe 
back to a terminal prompt.\n\n\nIf you'd like to use Minicom:\n\n\n$ minicom -D 
/dev/tty.usbserial-0020124\n\n\n\n\n\nWelcome to minicom 2.7\n\n\nOPTIONS: 
\nCompiled on Nov 24 2015, 16:14:21.\nPort /dev/tty.usbserial-0020124, 
09:57:17\n\n\nPress Meta-Z for help on special keys\n```\n\n\n\n\nIf there's no 
Mynewt app running, or the Mynewt app doesn't have the Shell and 
Console\nenabled, you won't see anything there, but you can always refer back 
to this page\nfrom later tutorials if you need to.\n\n\nNow that you know how 
to communicate with 
 your mynewt application, let's move on to\ncreating one!", 
             "title": "Serial Port Setup"
         }, 
         {
@@ -417,7 +417,7 @@
         }, 
         {
             "location": 
"/os/get_started/serial_access/#setup-nordic-semiconductor-nrf52dk", 
-            "text": "On the NRF52DK developer kit board, the Rx pin is P0.08, 
so you'll attach your\njumper wire from the Tx pin (D0) of the FT232H board 
here.  The TX Pin is pin P0.08, so you'll attache the jumper wire from the Rx 
Pin (D1)\non the FT232H board here.   Finally, the GND wire should go to the 
GND Pin on the NRF52DK. When you're\ndone, your wiring should look like this:", 
+            "text": "On the NRF52DK developer kit board, the Rx pin is P0.08, 
so you'll attach your\njumper wire from the Tx pin (D0) of the FT232H board 
here.  The TX Pin is pin P0.06, so you'll attache the jumper wire from the Rx 
Pin (D1)\non the FT232H board here.   Finally, the GND wire should go to the 
GND Pin on the NRF52DK. When you're\ndone, your wiring should look like this:", 
             "title": "Setup Nordic Semiconductor NRF52DK"
         }, 
         {
@@ -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\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 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: 1-latest\n    user: apache\n    repo: 
incubator-mynewt-core\n\n\nrepository.mynewt_arduino_zero:\n\n    type: 
github\n\n    vers: 1-latest\n\n    user: runtimeinc\n\n    repo: 
mynewt_arduino_zero\n\n$\n\n\n\n\n\n\nInstall the project dependencies using 
the \nnewt install\n command (You can specify \n-v\n for verbose 
output):\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 \n1-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 a Target for the Bootloader\n\n\nYou need to create 
two targets, one for the bootloader and one
  for the Blinky application.\n\n\n\nRun the following \nnewt target\n 
commands, from your project directory (ex. ~/dev/myproj), to create a 
bootloader target for the Arduino Zero Pro board.  We name the target 
\narduino_boot\n.\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\nNote:\n If you have an 
Arduino Zero instead of a Arduino Zero Pro board, replace 
\nBSP_ARDUINO_ZERO_PRO\n  with \nBSP_ARDUINO_ZERO\n in the last \nne
 wt target set\n command.\n\n\nThese commands perform the 
following:\n\n\n\n\nCreate a target named \narduino_boot\n  for 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\nSets the system configuration setting for Board Support 
Package to support the Arduino Zero Pro. \n\n\n\n\nSee the \nConcepts\n section 
for more information on setting options.\n\n\n\nCreate a Target for the Blinky 
Application\n\n\nRun the following \nnewt target\n commands to cr
 eate your Blinky application target.  We name the application target 
\narduino_blinky\n.\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$ newt target set 
arduino_blinky 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\nNote:\n 
If you have an Arduino Zero instead of a Arduino Zero Pro board, replace 
\nBSP_ARDUINO_ZERO_PRO\n  with \nBSP_ARDUINO_ZERO\n in the last \nnewt target 
set\n command.\n\n\n\n\nBuild the Bootloader\n\n\nRun 
 the \nnewt build arduino_boot\n command to build a bootloader for your arduino 
board:\n\n\n$ newt build arduino_boot\nBuilding target 
targets/arduino_boot\nCompiling 
bin/targets/arduino_boot/generated/src/arduino_boot-sysinit-app.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c\nCompiling 
bin/targets/arduino_boot/generated/src/arduino_boot-sysflash.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_validate.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c\nCompiling 
repos/apache-mynewt-core/apps/boot/src/boot.c\nCompiling 
repos/apache-mynewt-core/crypto/mbedtls/src/arc4.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/loader.c\nCompiling 
repos/apache-mynewt-core/crypto/mbedtls/src/aes.c\n\n      ....\n\nArchiving 
sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bi
 n/targets/arduino_boot/app/apps/boot/boot.elf\nTarget successfully built: 
targets/arduino_boot\n\n\n\n\n\n\n\nBuild the Blinky Application\n\n\nRun the 
\nnewt build arduino_blinky\n command to build your Blinky application 
image:\n\n\n$ newt build arduino_blinky\nBuilding target 
targets/arduino_blinky\nCompiling 
repos/apache-mynewt-core/hw/hal/src/hal_flash.c\nCompiling 
apps/blinky/src/main.c\nCompiling 
repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/i2s/i2s.c\nCompiling
 repos/mynewt_arduino_zero/hw/bsp/arduino_zero/src/hal_bsp.c\nCompiling 
repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/i2s/i2s_callback.c\nCompiling
 repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/nvm/nvm.c\n\n 
    ...\n\nArchiving sys_mfg.a\nArchiving sys_sysinit.a\nArchiving 
util_mem.a\nLinking 
~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/arduino_blinky\n\n\n\n\n\n\n\nConnect to the 
Board\n\n\nConnect your 
 computer to the Arduino Zero (from now on we'll call this the\ntarget) with a 
Micro-USB cable through the Programming Port as shown below.\nMynewt will load 
the image onto the board 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\nThe images below show 
the Arduino Zero Programming Port.\n\n\n\n\n\n\n\n\nLoad the Bootloader onto 
the Board\n\n\nRun the \nnewt load arduino_boot\n command to load the 
bootloader onto your board:\n\n\n$ newt load arduino_boot\nLoading 
bootloader\n$\n\n\n\n\n\nThe bootloader is loaded onto your board succesfully 
when the \nnewt load\n command returns to the command prompt with no messages. 
You can proceed to load and run your Blinky application image (See \nRun the 
Blinky Application\n).\n\n\nIf the \nnewt load\n command outputs the following 
error messages, you wi
 ll need to erase your board.\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: Interface 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\n\nTo erase your board, start a 
debug session and enter the highlighted commands at the \n(gdb)\n prompts
 :\n\n\n$ newt debug arduino_blinky\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\n\nRun the \nnewt load arduino_boot\n 
command again after erasing the board. \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: un
 able 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 Blinky 
Application\n\n\nAfter you load the bootloader successfully onto your board, 
you can load and run the Blinky application. \n\n\nRun the \nnewt run 
arduino_blinky 0.0.0\n command to build the arduino_blinky target (if 
necessary), create an image with verison 0.0.0, load the image onto the board, 
and start a debugger session. \n\n\n$ newt run arduino_blinky 0.0.0\nApp image 
succesfully generated: 
~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.img\nLoading app 
image into slot 
1\n[~/dev/myproj/repos/mynewt_arduino_zero/hw/bsp/arduino_zero/arduino_zero_debug.sh
 ~/dev/myproj/repos/mynewt_arduin
 o_zero/hw/bsp/arduino_zero 
~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky]\nOpen On-Chip 
Debugger 0.9.0 (2015-11-15-13:10)\nLicensed under GNU GPL v2\nFor bug reports, 
read\nhttp://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\ntarget state: 
halted\ntarget halted due to debug-request, current mode: Thread \nxPSR: 
0x21000000 pc: 0x0000fca6 psp: 0x20002408\nGNU gdb (GNU Tools for ARM Embedded 
Processors) 7.8.0.20150604-cvs\nCopyright (C) 2014 Free Software Fo
 undation, 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 
~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.elf...(no 
debugging symbols found)...done.\nInfo : accepting \ngdb\n connection on 
tcp/3333\nInfo : SAMD MCU: SAMD21G18A (256KB Flash, 32KB RAM)\n0x0000fca6 in 
os_tick_idle ()\ntarget state:
  halted\ntarget halted due to debug-request, current mode: Thread \nxPSR: 
0x21000000 pc: 0x000000b8 msp: 0x20008000\ntarget state: halted\ntarget halted 
due to debug-request, current mode: Thread \nxPSR: 0x21000000 pc: 0x000000b8 
msp: 0x20008000\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 is the version number to assign to the images.  If you are not 
providing remote upgrade, and are just developing 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 an Mynewt 
application 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 computer to build a Mynewt application and connect to 
the board over USB.\n\n\nHave a Micro-USB cable to connect the board and the 
compute
 r.\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 uses the Arduino Zero Pro board. The 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 su
 ccessfully created.\n    $ cd myproj\n    $ newt 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 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\nprojec
 t.repositories:\n    - apache-mynewt-core\n\n    - 
mynewt_arduino_zero\n\n\nrepository.apache-mynewt-core:\n    type: github\n    
vers: 1-latest\n    user: apache\n    repo: 
incubator-mynewt-core\n\n\nrepository.mynewt_arduino_zero:\n\n    type: 
github\n\n    vers: 1-latest\n\n    user: runtimeinc\n\n    repo: 
mynewt_arduino_zero\n\n$\n\n\n\n\n\n\nInstall the project dependencies using 
the \nnewt install\n command (you can specify \n-v\n for verbose 
output):\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 \n1-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\nYou 
need to create two targets for the Arduino Zero Pro boa
 rd, one for the bootloader and one for the Blinky application.\n\n\n\nRun the 
following \nnewt target\n commands, from your project directory, to create a 
bootloader target.  We name the target \narduino_boot\n.\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\nNote:\n If you have an 
Arduino Zero instead of an Arduino Zero Pro or Arduino M0 Pro board, replace 
\nBSP_ARDUINO_ZERO_PRO\n  with \nBSP_ARDUINO_ZERO\n in the last \
 nnewt target set\n command.\n\n\nThese commands perform the 
following:\n\n\n\n\nCreate a target named \narduino_boot\n  for 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\nSets the system configuration setting for Board Support 
Package to support the Arduino Zero Pro. \n\n\n\n\nSee the \nConcepts\n section 
for more information on setting options.\n\n\n\nCreate a Target for the Blinky 
Application\n\n\nRun the following \nnewt target\n commands to
  create the Blinky application target.  We name the application target 
\narduino_blinky\n.\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$ newt target set 
arduino_blinky 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\nNote:\n 
If you have an Arduino Zero instead of a Arduino Zero Pro board, replace 
\nBSP_ARDUINO_ZERO_PRO\n  with \nBSP_ARDUINO_ZERO\n in the last \nnewt target 
set\n command.\n\n\n\n\nBuild the Bootloader\n\n\nRu
 n the \nnewt build arduino_boot\n command to build the bootloader:\n\n\n$ newt 
build arduino_boot\nBuilding target targets/arduino_boot\nCompiling 
bin/targets/arduino_boot/generated/src/arduino_boot-sysinit-app.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c\nCompiling 
bin/targets/arduino_boot/generated/src/arduino_boot-sysflash.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_validate.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c\nCompiling 
repos/apache-mynewt-core/apps/boot/src/boot.c\nCompiling 
repos/apache-mynewt-core/crypto/mbedtls/src/arc4.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/loader.c\nCompiling 
repos/apache-mynewt-core/crypto/mbedtls/src/aes.c\n\n      ....\n\nArchiving 
sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/arduino_b
 oot/app/apps/boot/boot.elf\nTarget successfully built: 
targets/arduino_boot\n\n\n\n\n\n\n\nBuild the Blinky Application\n\n\nRun the 
\nnewt build arduino_blinky\n command to build the Blinky application 
image:\n\n\n$ newt build arduino_blinky\nBuilding target 
targets/arduino_blinky\nCompiling 
repos/apache-mynewt-core/hw/hal/src/hal_flash.c\nCompiling 
apps/blinky/src/main.c\nCompiling 
repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/i2s/i2s.c\nCompiling
 repos/mynewt_arduino_zero/hw/bsp/arduino_zero/src/hal_bsp.c\nCompiling 
repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/i2s/i2s_callback.c\nCompiling
 repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/nvm/nvm.c\n\n 
    ...\n\nArchiving sys_mfg.a\nArchiving sys_sysinit.a\nArchiving 
util_mem.a\nLinking 
~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/arduino_blinky\n\n\n\n\n\n\n\nConnect to the 
Board\n\n\nConnect your computer to the Ardu
 ino Zero (from now on we'll call this the\ntarget) with a Micro-USB cable 
through the Programming Port as shown below.\nMynewt will load the image onto 
the board and  debug the target through this port. You should see a\ngreen LED 
come on that indicates 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\nThe images below show the Arduino Zero Programming 
Port.\n\n\n\n\n\n\n\n\nLoad the Bootloader onto the Board\n\n\nRun the \nnewt 
load arduino_boot\n command to load the bootloader onto the board:\n\n\n$ newt 
load arduino_boot\nLoading bootloader\n$\n\n\n\n\n\nThe bootloader is loaded 
onto your board succesfully when the \nnewt load\n command returns to the 
command prompt after the \nLoading bootloader\n status message.  You can 
proceed to load and run your Blinky application image (See \nRun the Blinky 
Application\n).\n\n\nIf the \nnewt load\n command outputs the following error 
messages,
  you will need to erase the board.\n\n\n$ newt load arduino_boot -v\nLoading 
bootloader\nError: Downloading 
~/dev/myproj/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: Interface 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\n\nTo erase your board, start a 
debug session and enter the highlighted commands at the \n(gdb)\n prompts
 :\n\n\n$ newt debug arduino_blinky\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\n\nRun the \nnewt load arduino_boot\n 
command again after erasing the board. \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: un
 able 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 Blinky 
Application\n\n\nAfter you load the bootloader successfully onto your board, 
you can load and run the Blinky application. \n\n\nRun the \nnewt run 
arduino_blinky 1.0.0\n command to build the arduino_blinky target (if 
necessary), create an image with version 1.0.0, load the image onto the board, 
and start a debugger session. \n\n\n$ newt run arduino_blinky 1.0.0\nApp image 
succesfully generated: 
~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.img\nLoading app 
image into slot 
1\n[~/dev/myproj/repos/mynewt_arduino_zero/hw/bsp/arduino_zero/arduino_zero_debug.sh
 ~/dev/myproj/repos/mynewt_arduin
 o_zero/hw/bsp/arduino_zero 
~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky]\nOpen On-Chip 
Debugger 0.9.0 (2015-11-15-13:10)\nLicensed under GNU GPL v2\nFor bug reports, 
read\nhttp://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\ntarget state: 
halted\ntarget halted due to debug-request, current mode: Thread \nxPSR: 
0x21000000 pc: 0x0000fca6 psp: 0x20002408\nGNU gdb (GNU Tools for ARM Embedded 
Processors) 7.8.0.20150604-cvs\nCopyright (C) 2014 Free Software Fo
 undation, 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 
~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.elf...(no 
debugging symbols found)...done.\nInfo : accepting \ngdb\n connection on 
tcp/3333\nInfo : SAMD MCU: SAMD21G18A (256KB Flash, 32KB RAM)\n0x0000fca6 in 
os_tick_idle ()\ntarget state:
  halted\ntarget halted due to debug-request, current mode: Thread \nxPSR: 
0x21000000 pc: 0x000000b8 msp: 0x20008000\ntarget state: halted\ntarg

<TRUNCATED>

Reply via email to