http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/facfa9ba/latest/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/latest/mkdocs/search_index.json b/latest/mkdocs/search_index.json
index 665dde5..42a20f1 100644
--- a/latest/mkdocs/search_index.json
+++ b/latest/mkdocs/search_index.json
@@ -532,7 +532,7 @@
         }, 
         {
             "location": "/os/tutorials/blinky_primo/", 
-            "text": "Blinky, your \"Hello World!\", on Arduino 
Primo\n\n\n\n\nObjective\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\nCreate a 
project with a simple app that blinks an LED on the Arduino Primo board.  
Download the application to the target and watch it blink!\n\n\nNote that the 
Mynewt OS will run on the nRF52 chip in the Arduino Primo board. However, the 
board support package for the Arduino Primo is different from the nRF52 dev kit 
board support package.\n\n\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 Primo\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 computer.\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\nInstall a 
debugger - choose one of the two options below. Option 1 requires additional 
hardware but very easy to set up. Option 2 is free software install but not as 
simple as Option 1.\n\n\n\n\n\n\nOption 1\n\n\n\n\nSegger J-Link Debug Probe\n 
- any model (this tutorial has been tested with J-Link EDU and J-Link 
Pro)\n\n\nJ-Link 9 pin Cortex-M Adapter\n that allows JTAG, SWD and SWO 
connections between J-Link and Cortex M based target hardware 
systems\n\n\n\n\nOption 2\n\n\nNo additional hardware is required but a version 
of OpenOCD 0.10.0 that is currently in development needs to be installed. A 
patch for the nRF52 has been a
 pplied to the OpenOCD code in development and a tarball has been made 
available for download \nhere\n. Untar it. From the top of the directory tree 
(\"openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4\"), build it using the 
following configuration:\n\n\n$./configure --enable-cmsis-dap 
--enable-openjtag_ftdi --enable-jlink --enable-stlink\n\n\n\n\n\nThen run 
\nmake\n and \nsudo make install\n. This step takes minutes, so be 
patient.\n\n\n$ openocd -v\nOpen On-Chip Debugger 0.10.0-dev-snapshot 
(2016-05-20-10:43)\nLicensed under GNU GPL v2\nFor bug reports, read\n    
http://openocd.org/doc/doxygen/bugs.html\n\n\n\n\n\nNext, make sure that you 
have checked out the newt develop branch and rebuilt newt.\n\n\n$ cd 
$GOPATH/src/mynewt.apache.org/newt\n$ git checkout develop\n$ git pull\n$ cd 
newt\n$ go install\n\n\n\n\n\nNote:\n This step can be removed once the changes 
have been pushed to master.\n\n\nYou can now use openocd to upload to Arduino 
Primo board via the USB port itself.\n\n\
 n\n\nInstall jlinkEXE\n\n\nIn order to be able to communicate with the SEGGER 
J-Link debugger on the dev board, you have to download and install the J-Link 
GDB Server software on to your laptop. You may download the \"Software and 
documentation pack for Mac OS X\" from 
\nhttps://www.segger.com/jlink-software.html\n. \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 \ncreate the targets\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    $ 
newt install\n    apache-mynewt-core\n    $\n\n\n\n\n\n\n\nCreate the 
Targets\n\n\nCreate two targets for the Arduino Primo board - one for the 
bootloader and one for the Blinky application.\n\n\nRu
 n the following \nnewt target\n commands, from your project directory, to 
create a bootloader target. We name the target \nprimo_boot\n.\n\n\n$ newt 
target create primo_boot\n$ newt target set primo_boot 
app=@apache-mynewt-core/apps/boot 
bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52 
build_profile=optimized\n\n\n\n\n\n\nRun the following \nnewt target\n commands 
to create a target for the Blinky application. We name the target 
\nprimoblinky\n.\n\n\n$ newt target create primoblinky\n$ newt target set 
primoblinky app=apps/blinky bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52 
build_profile=debug\n\n\n\n\n\n\nIf you are using openocd, run the following 
\nnewt target set\n commands:\n\n\n$ newt target set primoblinky 
syscfg=OPENOCD_DEBUG=1\n$ newt target set primo_boot 
syscfg=OPENOCD_DEBUG=1\n\n\n\n\n\n\nYou can run the \nnewt target show\n 
command to verify the target settings:\n\n\n$ newt target 
show\ntargets/my_blinky_sim\n    app=apps/blinky\n    
bsp=@apache-mynewt-core/hw/bs
 p/native\n    build_profile=debug\ntargets/primo_boot\n    
app=@apache-mynewt-core/apps/boot\n    
bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52\n    
build_profile=optimized\ntargets/primoblinky\n    
app=@apache-mynewt-core/apps/blinky\n    
bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52\n    
build_profile=optimized\n\n\n\n\n\n\n\nBuild the Target Executables\n\n\nRun 
the \nnewt build primo_boot\n command to build the bootloader:\n\n\n$ newt 
build primo_boot\nBuilding target targets/primo_boot\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c\nCompiling 
repos/apache-mynewt-core/crypto/mbedtls/src/aes.c\nCompiling 
repos/apache-mynewt-core/apps/boot/src/boot.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/loader.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c\n\n      
...\n\nArchiving sys_mfg.a\nArch
 iving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/primo_boot/app/apps/boot/boot.elf\nTarget successfully 
built: targets/primo_boot\n\n\n\n\n\n\nRun the \nnewt build primoblinky\n 
command to build the Blinky application:\n\n\n$ newt build 
primoblinky\nBuilding target targets/primoblinky\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/src/uart.c\nAssembling 
repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52.s\nCompiling
 repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/src/sbrk.c\nCompiling 
repos/apache-mynewt-core/hw/cmsis-core/src/cmsis_nvic.c\nAssembling 
repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52_split.s\nCompiling
 apps/blinky/src/main.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/uart_bitbang/src/uart_bitbang.c\nCompiling
 
repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/src/hal_bsp.c\n\n\nArchiving
 sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\n
 Linking 
~/dev/myproj/bin/targets/primoblinky/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/primoblinky\n\n\n\n\n\n\n\nSign and Create the 
Blinky Application Image\n\n\nRun the \nnewt create-image primoblinky 1.0.0\n 
command to create and sign the application image. You may assign an arbitrary 
version (e.g. 1.0.0) to the image.\n\n\n$ newt create-image primoblinky 
1.0.0\nApp image succesfully generated: 
~/dev/myproj/bin/targets/primoblinky/app/apps/blinky/blinky.img\n\n\n\n\n\n\n\nConnect
 to the Board\n\n\n\n\nConnect a micro USB cable to the Arduino Primo board and 
to your computer's USB port.\n\n\nIf you are using the Segger J-Link debug 
probe, connect the debug probe to the JTAG port on the Primo board using the 
Jlink 9-pin adapter and cable. Note that there are two JTAG ports on the board. 
Use the one nearest to the reset button as shown in the picture. 
\n\n\n\n\n\n\nNote:\n If you are using the OpenOCD debugger,  you do not need 
to attach this connector. \n\n\nL
 oad the Bootloader and the Blinky Application Image\n\n\nRun the \nnewt load 
primo_boot\n command to load the bootloader onto the board:\n\n\n$ newt load 
primo_boot\nLoading bootloader\n$\n\n\n\n\n\n\nRun the \nnewt load 
primoblinky\n command to load the Blinky application image onto the 
board.\n\n\n$ newt  load primoblinky \nLoading app image into slot 
1\n$\n\n\n\n\n\nYou should see the LED on the board blink!\n\n\nNote: If the 
LED does not blink, try resetting the board.\n\n\n\n\nNote:\n If you want to 
erase the flash and load the image again, you can use JLinkExe to issue an 
\nerase\n command.\n\n\n$ JLinkExe -device nRF52 -speed 4000 -if SWD\nSEGGER 
J-Link Commander V5.12c (Compiled Apr 21 2016 16:05:51)\nDLL version V5.12c, 
compiled Apr 21 2016 16:05:45\n\nConnecting to J-Link via USB...O.K.\nFirmware: 
J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 15 2016 18:03:17\nHardware 
version: V1.00\nS/N: 682863966\nVTref = 3.300V\n\n\nType \nconnect\n to 
establish a target connection, \n
 ?\n for help\nJ-Link\nerase\nCortex-M4 identified.\nErasing device 
(0;?i?)...\nComparing flash   [100%] Done.\nErasing flash     [100%] 
Done.\nVerifying flash   [100%] Done.\nJ-Link: Flash download: Total time 
needed: 0.363s (Prepare: 0.093s, Compare: 0.000s, Erase: 0.262s, Program: 
0.000s, Verify: 0.000s, Restore: 0.008s)\nErasing 
done.\nJ-Link\nexit\n$\n\n\n\n\n\n\n\nConclusion\n\n\nYou have created, setup, 
compiled, loaded, and ran your first mynewt application\nfor an Arduino Primo 
board.\n\n\nWe have more fun tutorials for you to get your hands dirty. Be bold 
and work on the OS with tutorials on \nwriting a test suite\n or try enabling 
additional functionality such as \nremote comms\n or \nBluetooth Low Energy\n 
on your current board.\n\n\nIf you see anything missing or want to send us 
feedback, please do so by signing up for appropriate mailing lists on our 
\nCommunity Page\n.\n\n\nKeep on hacking and blinking!", 
+            "text": "Blinky, your \"Hello World!\", on Arduino 
Primo\n\n\n\n\nObjective\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\nCreate a 
project with a simple app that blinks an LED on the Arduino Primo board.  
Download the application to the target and watch it blink!\n\n\nNote that the 
Mynewt OS will run on the nRF52 chip in the Arduino Primo board. However, the 
board support package for the Arduino Primo is different from the nRF52 dev kit 
board support package.\n\n\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 Primo\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 computer.\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\nInstall a 
debugger - choose one of the two options below. Option 1 requires additional 
hardware but very easy to set up. Option 2 is free software but not as simple 
as Option 1.\n\n\n\n\n\n\nOption 1\n\n\n\n\nSegger J-Link Debug Probe\n - any 
model (this tutorial has been tested with J-Link EDU and J-Link 
Pro)\n\n\nJ-Link 9 pin Cortex-M Adapter\n that allows JTAG, SWD and SWO 
connections between J-Link and Cortex M based target hardware 
systems\n\n\nInstall the \nSegger JLINK Software and documentation pack\n. 
\n\n\n\n\nOption 2\n\n\nNo additional hardware is required but a version of 
OpenOCD 0.10.0 that is currently in develop
 ment needs to be installed. A patch for the nRF52 has been applied to the 
OpenOCD code in development and a tarball has been made available for download 
\nhere\n. Untar it. From the top of the directory tree 
(\"openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4\"), build it using the 
following configuration:\n\n\n$./configure --enable-cmsis-dap 
--enable-openjtag_ftdi --enable-jlink --enable-stlink\n\n\n\n\n\nThen run 
\nmake\n and \nsudo make install\n. This step takes minutes, so be 
patient.\n\n\n$ openocd -v\nOpen On-Chip Debugger 0.10.0-dev-snapshot 
(2016-05-20-10:43)\nLicensed under GNU GPL v2\nFor bug reports, read\n    
http://openocd.org/doc/doxygen/bugs.html\n\n\n\n\n\nYou can now use openocd to 
upload to Arduino Primo board via the USB port itself.\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 \ncreate the targets\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    $ newt install\n    apache-mynewt-core\n    
$\n\n\n\n\n\n\n\nCreate the Targets\n\n\nCreate two targets for the Arduino 
Primo board - one for the bootloader and one for the Blinky 
application.\n\n\nRun the following \nnewt target\n commands, from your project 
directory, to create a bootloader target. We name the target 
\nprimo_boot\n.\n\n\n$ newt target create primo_boot\n$ newt target set 
primo_boot app=@apache-mynewt-core/apps/boot 
bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52 
build_profile=optimized\n\n\n\n\n\n\nRun the following \nnewt target\n commands 
to create a target for the Blinky application. We name the target 
\nprimoblinky\n.\n\n\n$ newt target create primoblinky\n$ newt target set 
primoblinky app=apps/blinky bsp=@apach
 e-mynewt-core/hw/bsp/arduino_primo_nrf52 build_profile=debug\n\n\n\n\n\n\nIf 
you are using openocd, run the following \nnewt target set\n commands:\n\n\n$ 
newt target set primoblinky syscfg=OPENOCD_DEBUG=1\n$ newt target set 
primo_boot syscfg=OPENOCD_DEBUG=1\n\n\n\n\n\n\nYou can run the \nnewt target 
show\n command to verify the target settings:\n\n\n$ newt target 
show\ntargets/my_blinky_sim\n    app=apps/blinky\n    
bsp=@apache-mynewt-core/hw/bsp/native\n    
build_profile=debug\ntargets/primo_boot\n    
app=@apache-mynewt-core/apps/boot\n    
bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52\n    
build_profile=optimized\ntargets/primoblinky\n    
app=@apache-mynewt-core/apps/blinky\n    
bsp=@apache-mynewt-core/hw/bsp/arduino_primo_nrf52\n    
build_profile=optimized\n\n\n\n\n\n\n\nBuild the Target Executables\n\n\nRun 
the \nnewt build primo_boot\n command to build the bootloader:\n\n\n$ newt 
build primo_boot\nBuilding target targets/primo_boot\nCompiling 
repos/apache-mynewt-core/boot/
 bootutil/src/image_rsa.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c\nCompiling 
repos/apache-mynewt-core/crypto/mbedtls/src/aes.c\nCompiling 
repos/apache-mynewt-core/apps/boot/src/boot.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/loader.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/bootutil_misc.c\n\n      
...\n\nArchiving sys_mfg.a\nArchiving sys_sysinit.a\nArchiving 
util_mem.a\nLinking 
~/dev/myproj/bin/targets/primo_boot/app/apps/boot/boot.elf\nTarget successfully 
built: targets/primo_boot\n\n\n\n\n\n\nRun the \nnewt build primoblinky\n 
command to build the Blinky application:\n\n\n$ newt build 
primoblinky\nBuilding target targets/primoblinky\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/src/uart.c\nAssembling 
repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52.s\nCompiling
 repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/src/s
 brk.c\nCompiling 
repos/apache-mynewt-core/hw/cmsis-core/src/cmsis_nvic.c\nAssembling 
repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/src/arch/cortex_m4/gcc_startup_nrf52_split.s\nCompiling
 apps/blinky/src/main.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/uart_bitbang/src/uart_bitbang.c\nCompiling
 
repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/src/hal_bsp.c\n\n\nArchiving
 sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/primoblinky/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/primoblinky\n\n\n\n\n\n\n\nSign and Create the 
Blinky Application Image\n\n\nRun the \nnewt create-image primoblinky 1.0.0\n 
command to create and sign the application image. You may assign an arbitrary 
version (e.g. 1.0.0) to the image.\n\n\n$ newt create-image primoblinky 
1.0.0\nApp image succesfully generated: 
~/dev/myproj/bin/targets/primoblinky/app/apps/blinky/blinky.img\n\n\n\n\n\n\n\nConnect
 to the Board\n\n\n\n\nConnect a micro
  USB cable to the Arduino Primo board and to your computer's USB port.\n\n\nIf 
you are using the Segger J-Link debug probe, connect the debug probe to the 
JTAG port on the Primo board using the Jlink 9-pin adapter and cable. Note that 
there are two JTAG ports on the board. Use the one nearest to the reset button 
as shown in the picture. \n\n\n\n\n\n\nNote:\n If you are using the OpenOCD 
debugger,  you do not need to attach this connector. \n\n\nLoad the Bootloader 
and the Blinky Application Image\n\n\nRun the \nnewt load primo_boot\n command 
to load the bootloader onto the board:\n\n\n$ newt load primo_boot\nLoading 
bootloader\n$\n\n\n\n\n\n\nRun the \nnewt load primoblinky\n command to load 
the Blinky application image onto the board.\n\n\n$ newt  load primoblinky 
\nLoading app image into slot 1\n$\n\n\n\n\n\nYou should see the orange LED 
(L13), below the ON LED,  on the board blink!\n\n\nNote: If the LED does not 
blink, try resetting the board.\n\n\n\n\nNote:\n If you want to eras
 e the flash and load the image again, use JLinkExe and issue the \nerase\n 
command when you are using the Jlink debug probe: \n\n\n$ JLinkExe -device 
nRF52 -speed 4000 -if SWD\nSEGGER J-Link Commander V5.12c (Compiled Apr 21 2016 
16:05:51)\nDLL version V5.12c, compiled Apr 21 2016 16:05:45\n\nConnecting to 
J-Link via USB...O.K.\nFirmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 
15 2016 18:03:17\nHardware version: V1.00\nS/N: 682863966\nVTref = 
3.300V\n\n\nType \nconnect\n to establish a target connection, \n?\n for 
help\nJ-Link\nerase\nCortex-M4 identified.\nErasing device 
(0;?i?)...\nComparing flash   [100%] Done.\nErasing flash     [100%] 
Done.\nVerifying flash   [100%] Done.\nJ-Link: Flash download: Total time 
needed: 0.363s (Prepare: 0.093s, Compare: 0.000s, Erase: 0.262s, Program: 
0.000s, Verify: 0.000s, Restore: 0.008s)\nErasing 
done.\nJ-Link\nexit\n$\n\n\n\n\n\n\n\nIf you are using the OpenOCD debugger, 
run the \nnewt debug primoblinky\n command and issue the highlighte
 d command at the (gdb) prompt:\n\n\n$newt debug 
primoblinky\n[~/dev/myproj/repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/primo_debug.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52 
~/dev/myproj/bin/targets/primoblinky/app/apps/blinky/blinky]\nOpen On-Chip 
Debugger 0.10.0-dev-snapshot (2017-03-28-11:24)\n\n    ...\n\nos_tick_idle 
(ticks=128)\n    at 
repos/apache-mynewt-core/hw/mcu/nordic/nrf52xxx/src/hal_os_tick.c:200\nwarning: 
Source file is more recent than executable.\n200    if (ticks \n 0) {\n\n(gdb) 
mon nrf52 mass_erase\n\n\n\n\n\n\n\nConclusion\n\n\nYou have created, setup, 
compiled, loaded, and ran your first mynewt application\nfor an Arduino Primo 
board.\n\n\nWe have more fun tutorials for you to get your hands dirty. Be bold 
and work on the OS with tutorials on \nwriting a test suite\n or try enabling 
additional functionality such as \nremote comms\n or \nBluetooth Low Energy\n 
on your current board.\n\n\nIf you see anything missing or want to sen
 d us feedback, please do so by signing up for appropriate mailing lists on our 
\nCommunity Page\n.\n\n\nKeep on hacking and blinking!", 
             "title": "Blinky on Arduino Primo"
         }, 
         {
@@ -547,25 +547,20 @@
         }, 
         {
             "location": "/os/tutorials/blinky_primo/#prerequisites", 
-            "text": "Ensure that you have met the following prerequisites 
before continuing with this tutorial:   Have an Arduino Primo  Have Internet 
connectivity to fetch remote Mynewt components.  Have a computer to build a 
Mynewt application and connect to the` board over USB.  Have a Micro-USB cable 
to connect the board and the computer.  Install the Newt tool and toolchains 
(See  Basic Setup ).  Create a project space (directory structure) and 
populated it with the core code repository (apache-mynewt-core) or know how to 
as explained in  Creating Your First Project .  Read the Mynewt OS  Concepts  
section.  Install a debugger - choose one of the two options below. Option 1 
requires additional hardware but very easy to set up. Option 2 is free software 
install but not as simple as Option 1.", 
+            "text": "Ensure that you have met the following prerequisites 
before continuing with this tutorial:   Have an Arduino Primo  Have Internet 
connectivity to fetch remote Mynewt components.  Have a computer to build a 
Mynewt application and connect to the` board over USB.  Have a Micro-USB cable 
to connect the board and the computer.  Install the Newt tool and toolchains 
(See  Basic Setup ).  Create a project space (directory structure) and 
populated it with the core code repository (apache-mynewt-core) or know how to 
as explained in  Creating Your First Project .  Read the Mynewt OS  Concepts  
section.  Install a debugger - choose one of the two options below. Option 1 
requires additional hardware but very easy to set up. Option 2 is free software 
but not as simple as Option 1.", 
             "title": "Prerequisites"
         }, 
         {
             "location": "/os/tutorials/blinky_primo/#option-1", 
-            "text": "Segger J-Link Debug Probe  - any model (this tutorial has 
been tested with J-Link EDU and J-Link Pro)  J-Link 9 pin Cortex-M Adapter  
that allows JTAG, SWD and SWO connections between J-Link and Cortex M based 
target hardware systems", 
+            "text": "Segger J-Link Debug Probe  - any model (this tutorial has 
been tested with J-Link EDU and J-Link Pro)  J-Link 9 pin Cortex-M Adapter  
that allows JTAG, SWD and SWO connections between J-Link and Cortex M based 
target hardware systems  Install the  Segger JLINK Software and documentation 
pack .", 
             "title": "Option 1"
         }, 
         {
             "location": "/os/tutorials/blinky_primo/#option-2", 
-            "text": "No additional hardware is required but a version of 
OpenOCD 0.10.0 that is currently in development needs to be installed. A patch 
for the nRF52 has been applied to the OpenOCD code in development and a tarball 
has been made available for download  here . Untar it. From the top of the 
directory tree (\"openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4\"), 
build it using the following configuration:  $./configure --enable-cmsis-dap 
--enable-openjtag_ftdi --enable-jlink --enable-stlink  Then run  make  and  
sudo make install . This step takes minutes, so be patient.  $ openocd -v\nOpen 
On-Chip Debugger 0.10.0-dev-snapshot (2016-05-20-10:43)\nLicensed under GNU GPL 
v2\nFor bug reports, read\n    http://openocd.org/doc/doxygen/bugs.html  Next, 
make sure that you have checked out the newt develop branch and rebuilt newt.  
$ cd $GOPATH/src/mynewt.apache.org/newt\n$ git checkout develop\n$ git pull\n$ 
cd newt\n$ go install  Note:  This step can be removed once the 
 changes have been pushed to master.  You can now use openocd to upload to 
Arduino Primo board via the USB port itself.", 
+            "text": "No additional hardware is required but a version of 
OpenOCD 0.10.0 that is currently in development needs to be installed. A patch 
for the nRF52 has been applied to the OpenOCD code in development and a tarball 
has been made available for download  here . Untar it. From the top of the 
directory tree (\"openocd-code-89bf96ffe6ac66c80407af8383b9d5adc0dc35f4\"), 
build it using the following configuration:  $./configure --enable-cmsis-dap 
--enable-openjtag_ftdi --enable-jlink --enable-stlink  Then run  make  and  
sudo make install . This step takes minutes, so be patient.  $ openocd -v\nOpen 
On-Chip Debugger 0.10.0-dev-snapshot (2016-05-20-10:43)\nLicensed under GNU GPL 
v2\nFor bug reports, read\n    http://openocd.org/doc/doxygen/bugs.html  You 
can now use openocd to upload to Arduino Primo board via the USB port itself.", 
             "title": "Option 2"
         }, 
         {
-            "location": "/os/tutorials/blinky_primo/#install-jlinkexe", 
-            "text": "In order to be able to communicate with the SEGGER J-Link 
debugger on the dev board, you have to download and install the J-Link GDB 
Server software on to your laptop. You may download the \"Software and 
documentation pack for Mac OS X\" from  
https://www.segger.com/jlink-software.html .", 
-            "title": "Install jlinkEXE"
-        }, 
-        {
             "location": "/os/tutorials/blinky_primo/#create-a-project", 
             "text": "Create a new project if you do not have an existing one.  
You can skip this step and proceed to  create the targets  if you already 
created a project.  Run the following commands to create a new project:      $ 
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    $ 
newt install\n    apache-mynewt-core\n    $", 
             "title": "Create a Project"
@@ -587,7 +582,7 @@
         }, 
         {
             "location": 
"/os/tutorials/blinky_primo/#load-the-bootloader-and-the-blinky-application-image",
 
-            "text": "Run the  newt load primo_boot  command to load the 
bootloader onto the board:  $ newt load primo_boot\nLoading bootloader\n$  
\nRun the  newt load primoblinky  command to load the Blinky application image 
onto the board.  $ newt  load primoblinky \nLoading app image into slot 1\n$  
You should see the LED on the board blink!  Note: If the LED does not blink, 
try resetting the board.   Note:  If you want to erase the flash and load the 
image again, you can use JLinkExe to issue an  erase  command.  $ JLinkExe 
-device nRF52 -speed 4000 -if SWD\nSEGGER J-Link Commander V5.12c (Compiled Apr 
21 2016 16:05:51)\nDLL version V5.12c, compiled Apr 21 2016 
16:05:45\n\nConnecting to J-Link via USB...O.K.\nFirmware: J-Link 
OB-SAM3U128-V2-NordicSemi compiled Mar 15 2016 18:03:17\nHardware version: 
V1.00\nS/N: 682863966\nVTref = 3.300V\n\n\nType  connect  to establish a target 
connection,  ?  for help\nJ-Link erase\nCortex-M4 identified.\nErasing device 
(0;?i?)...\nComparing fl
 ash   [100%] Done.\nErasing flash     [100%] Done.\nVerifying flash   [100%] 
Done.\nJ-Link: Flash download: Total time needed: 0.363s (Prepare: 0.093s, 
Compare: 0.000s, Erase: 0.262s, Program: 0.000s, Verify: 0.000s, Restore: 
0.008s)\nErasing done.\nJ-Link exit\n$", 
+            "text": "Run the  newt load primo_boot  command to load the 
bootloader onto the board:  $ newt load primo_boot\nLoading bootloader\n$  
\nRun the  newt load primoblinky  command to load the Blinky application image 
onto the board.  $ newt  load primoblinky \nLoading app image into slot 1\n$  
You should see the orange LED (L13), below the ON LED,  on the board blink!  
Note: If the LED does not blink, try resetting the board.   Note:  If you want 
to erase the flash and load the image again, use JLinkExe and issue the  erase  
command when you are using the Jlink debug probe:   $ JLinkExe -device nRF52 
-speed 4000 -if SWD\nSEGGER J-Link Commander V5.12c (Compiled Apr 21 2016 
16:05:51)\nDLL version V5.12c, compiled Apr 21 2016 16:05:45\n\nConnecting to 
J-Link via USB...O.K.\nFirmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 
15 2016 18:03:17\nHardware version: V1.00\nS/N: 682863966\nVTref = 
3.300V\n\n\nType  connect  to establish a target connection,  ?  for 
help\nJ-Link 
 erase\nCortex-M4 identified.\nErasing device (0;?i?)...\nComparing flash   
[100%] Done.\nErasing flash     [100%] Done.\nVerifying flash   [100%] 
Done.\nJ-Link: Flash download: Total time needed: 0.363s (Prepare: 0.093s, 
Compare: 0.000s, Erase: 0.262s, Program: 0.000s, Verify: 0.000s, Restore: 
0.008s)\nErasing done.\nJ-Link exit\n$   If you are using the OpenOCD debugger, 
run the  newt debug primoblinky  command and issue the highlighted command at 
the (gdb) prompt:  $newt debug 
primoblinky\n[~/dev/myproj/repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/primo_debug.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52 
~/dev/myproj/bin/targets/primoblinky/app/apps/blinky/blinky]\nOpen On-Chip 
Debugger 0.10.0-dev-snapshot (2017-03-28-11:24)\n\n    ...\n\nos_tick_idle 
(ticks=128)\n    at 
repos/apache-mynewt-core/hw/mcu/nordic/nrf52xxx/src/hal_os_tick.c:200\nwarning: 
Source file is more recent than executable.\n200    if (ticks   0) { (gdb) mon 
nrf52 mass_erase", 
             "title": "Load the Bootloader and the Blinky Application Image"
         }, 
         {
@@ -597,7 +592,7 @@
         }, 
         {
             "location": "/os/tutorials/olimex/", 
-            "text": "Blinky, your \"Hello World!\", on 
Olimex\n\n\nObjective\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. Fun stuff!\n\n\nThis tutorial shows 
you how to create a blinky application for the Olimex board. It also shows you 
how to load the application onto the board's flash memory and run the 
application.\n\n\n\n\nPrerequisites\n\n\nEnsure that you have met the following 
prerequisites before continuing with this tutorial:\n\n\n\n\nHave a STM32-E407 
development board from Olimex. \n\n\nHave a ARM-USB-TINY-H connector with JTAG 
interface for debugging ARM microcontrollers (comes with the ribbon cable to 
hook up to the board)\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 USB A-B type cable to connect the debugger to your 
computer.\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\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 \ncreate the 
targets\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\n    $cd myproj\n\n    $ newt install\n  
  apache-mynewt-core\n    $\n\n\n\n\n\n\n\nCreate the Targets\n\n\nCreate two 
targets for the Olimex board - one for the
  bootloader and one for the Blinky application.\n\n\nRun the following \nnewt 
target\n commands, from your project directory,  to create a bootloader target. 
We name the target \nboot_olimex\n.\n\n\n$ newt target create boot_olimex\n$ 
newt target set boot_olimex build_profile=optimized\n$ newt target set 
boot_olimex app=@apache-mynewt-core/apps/boot\n$ newt target set boot_olimex 
bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n\n\n\n\n\n\nRun the 
following \nnewt target\n commands to create a target for the Blinky 
application. We name the target \nolimex_blinky\n.\n\n\n$ newt target create 
olimex_blinky\n$ newt target set olimex_blinky build_profile=debug\n$ newt 
target set olimex_blinky 
bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n$ newt target set 
olimex_blinky app=apps/blinky\n\n\n\n\n\n\n\nBuild the Bootloader\n\n\nRun the 
\nnewt build boot_olimex\n command to build the bootloader:\n\n\n$ newt build 
boot_olimex\nBuilding target targets/boot_olimex\nCompi
 ling repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c\nCompiling 
bin/targets/boot_olimex/generated/src/boot_olimex-sysflash.c\n\n     
...\n\nArchiving libc_baselibc.a\nArchiving sys_flash_map.a\nArchiving 
sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/boot_olimex/app/apps/boot/boot.elf\nTarget 
successfully built: targets/boot_olimex\n\n\n\n\n\n\n\nBuild the Blinky 
Application\n\n\nRun the \nnewt build olimex_blinky\n command to build the 
blinky application:\n\n\n$ newt build olimex_blinky\nBuilding target 
targets/olimex_blinky\nAssembling 
repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/src/arch/cortex_m4/startup_STM32F40x.s\nCompiling
 repos/apache-mynewt-core/hw/drivers/uart/src/uart.c\nCompiling 
repos/apache-mynewt-core/hw/cmsis-core/src/cmsis_nvic.c\nCompiling 
repos/apache-mynewt-core/hw/bs
 p/olimex_stm32-e407_devboard/src/sbrk.c\nCompiling 
apps/blinky/src/main.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/uart_hal/src/uart_hal.c\nCompiling 
repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/src/hal_bsp.c\nCompiling
 
repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/src/system_stm32f4xx.c\nCompiling
 repos/apache-mynewt-core/hw/hal/src/hal_common.c\nCompiling 
repos/apache-mynewt-core/hw/hal/src/hal_flash.c\n\n   ...\n\nArchiving 
sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/olimex_blinky/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/olimex_blinky\n\n\n\n\n\n\n\nSign and Create the 
Blinky Application Image\n\n\nRun the \nnewt create-image olimex_blinky 1.0.0\n 
command to sign and create an image file for the blinky application. You may 
assign an arbitrary version (e.g. 1.0.0) number.\n\n\n$ newt create-image 
olimex_blinky 1.0.0\nApp image succesfully generated: ~/dev/myproj/bin/targets/o
 limex_blinky/app/apps/blinky/blinky.img\n\n\n\n\n\n\n\nConnect to the 
Board\n\n\nConfigure the board to bootload from flash memory and to use the 
JTAG/SWD for the power source. Refer to the following diagrams to locate the 
boot jumpers and power input select jumpers on the 
board.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLocate the boot jumpers on the 
lower right corner of the board.  \nB1_1/B1_0\n and \nB0_1/B0_0\n are PTH 
jumpers to control the boot mode when a bootloader is present.  These two 
jumpers must be moved together.  The board searches for the bootloader in three 
places: User Flash Memory, System Memory or the Embedded SRAM. For this Blinky 
project, we configure the board to boot from flash by jumpering \nB0_0\n and 
\nB1_0\n.\n\nNote:\n The markings on the board may not always be accurate, and 
you should always refer to the manual for the correct positioning. 
\n\n\n\n\n\n\nLocate the \nPower Input Select\n jumpers on the lower left 
corner of the board.  Set the Power Sele
 ct jumpers to position 3 and 4 to use the JTAG/SWD for the power source. If 
you would like to use a different power source, refer to the \nOLIMEX 
STM32-E407 user manual\n for pin specifications.\n\n\n\n\n\n\nConnect the JTAG 
connector to the JTAG/SWD interface on the board. \n\n\n\n\n\n\nConnect the USB 
A-B cable to the ARM-USB-TINY-H connector and your computer.\n\n\n\n\n\n\nCheck 
that the red PWR LED lights up.\n\n\n\n\n\n\n\nLoad the Bootloader and Blinky 
Application\n\n\nRun the \nnewt load boot_olimex\n command to load the 
bootloader image onto the board:\n\n\n$newt load -v boot_olimex\nLoading 
bootloader\nLoad command: 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard 
~/dev/myproj/bin/targets/boot_olimex/app/apps/boot/boot\nSuccessfully loaded 
image.\n\n\n\n\n\nRun the \nnewt load olimex_blinky\n command to load the 
blinky application image onto 
 the board:\n\n\nnewt load -v olimex_blinky\nLoading app image into slot 
1\nLoad command: 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard 
~/dev/myproj/bin/targets/olimex_blinky/app/apps/blinky/blinky\nSuccessfully 
loaded image.\n\n\n\n\n\n\nThe LED should be blinking!\n\n\n\n\nBut wait...not 
so fast.\n Let's double check that it is indeed booting from flash and making 
the LED blink from the image in flash. Pull the USB cable off the Olimex JTAG 
adaptor, severing the debug connection to the JTAG port. Next power off the 
Olimex board by pulling out the USB cable from the board. Wait for a couple of 
seconds and plug the USB cable back to the board.\n\n\nThe LED light will start 
blinking again. Success!\n\n\nNote #1:\n If you want to download the image to 
flash and a gdb session opened up, use \nnewt debug blinky\n. Type \nc\n to 
continue inside the gdb s
 ession.\n\n\n    $ newt debug blinky\n    Debugging with 
~/dev/myproj/hw/bsp/olimex_stm32-e407_...\n    Debugging 
~/dev/myproj/project/blinky/bin/blinky/blinky.elf\n    GNU gdb (GNU Tools for 
ARM Embedded Processors) 7.8.0.20150604-cvs\n    Copyright (C) 2014 Free 
Software Foundation, Inc.\n    License GPLv3+: GNU GPL version 3 
\nhttp://gnu.org/licenses/gpl.html\n\n    ...\n    (info)\n    ...\n    target 
state: halted\n    target halted due to debug-request, current mode: Thread\n   
 xPSR: 0x01000000 pc: 0x08000250 msp: 0x10010000\n    Info : accepting \ngdb\n 
connection from 3333\n    Info : device id = 0x10036413\n    Info : flash size 
= 1024kbytes\n    Reset_Handler () at startup_STM32F40x.s:199\n    199     ldr  
  r1, =__etext\n    (gdb)\n\n\n\n\n\n\n\nNote #2:\n If you want to erase the 
flash and load the image again you may use the following commands from within 
gdb. \nflash erase_sector 0 0 x\n tells it to erase sectors 0 through x. When 
you ask it to display (in hex notatio
 n) the contents of the sector starting at location 'lma,' you should see all 
f's. The memory location 0x8000000 is the start or origin of the flash memory 
contents and is specified in the olimex_stm32-e407_devboard.ld linker script. 
The flash memory locations is specific to the processor.\n\n\n    (gdb) monitor 
flash erase_sector 0 0 4\n    erased sectors 0 through 4 on flash bank 0 in 
2.296712s\n    (gdb) monitor mdw 0x08000000 16\n    0x08000000: ffffffff 
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\n    
(0x08000020: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
ffffffff\n    (0x08000000: ffffffff ffffffff ffffffff ffffffff ffffffff 
ffffffff ffffffff ffffffff\n    (0x08000020: ffffffff ffffffff ffffffff 
ffffffff ffffffff ffffffff ffffffff ffffffff         \n    (gdb) monitor flash 
info 0\n\n\n\n\n\nConclusion\n\n\nCongratulations! You have now tried out a 
project on actual hardware. If this is your first time to embedded systems, 
this must feel l
 ike the best hands-on and low-level \"Hello World\" program ever.\n\n\nGood, 
we have more fun tutorials for you to get your hands dirty. Be bold and try 
other Blinky-like \ntutorials\n or try enabling additional functionality such 
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 appropriate mailing 
lists on our \nCommunity Page\n.\n\n\nKeep on hacking and blinking!", 
+            "text": "Blinky, your \"Hello World!\", on 
Olimex\n\n\nObjective\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. Fun stuff!\n\n\nThis tutorial shows 
you how to create a blinky application for the Olimex board. It also shows you 
how to load the application onto the board's flash memory and run the 
application.\n\n\n\n\nPrerequisites\n\n\nEnsure that you have met the following 
prerequisites before continuing with this tutorial:\n\n\n\n\nHave a STM32-E407 
development board from Olimex. \n\n\nHave a ARM-USB-TINY-H connector with JTAG 
interface for debugging ARM microcontrollers (comes with the ribbon cable to 
hook up to the board)\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 USB A-B type cable to connect the debugger to your 
computer.\n\n\nHave a USB Micro-A cable to connect your computer to the 
board.\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\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 \ncreate the 
targets\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\n    $cd myproj\n\n    $ newt install\n  
  apache-mynewt-core\n    $\n\n\n\n\n\n\n\nCreate
  the Targets\n\n\nCreate two targets for the Olimex board - one for the 
bootloader and one for the Blinky application.\n\n\nRun the following \nnewt 
target\n commands, from your project directory,  to create a bootloader target. 
We name the target \nboot_olimex\n.\n\n\n$ newt target create boot_olimex\n$ 
newt target set boot_olimex build_profile=optimized\n$ newt target set 
boot_olimex app=@apache-mynewt-core/apps/boot\n$ newt target set boot_olimex 
bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n\n\n\n\n\n\nRun the 
following \nnewt target\n commands to create a target for the Blinky 
application. We name the target \nolimex_blinky\n.\n\n\n$ newt target create 
olimex_blinky\n$ newt target set olimex_blinky build_profile=debug\n$ newt 
target set olimex_blinky 
bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n$ newt target set 
olimex_blinky app=apps/blinky\n\n\n\n\n\n\n\nBuild the Bootloader\n\n\nRun the 
\nnewt build boot_olimex\n command to build the bootloader:\n\
 n\n$ newt build boot_olimex\nBuilding target targets/boot_olimex\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c\nCompiling 
bin/targets/boot_olimex/generated/src/boot_olimex-sysflash.c\n\n     
...\n\nArchiving libc_baselibc.a\nArchiving sys_flash_map.a\nArchiving 
sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/boot_olimex/app/apps/boot/boot.elf\nTarget 
successfully built: targets/boot_olimex\n\n\n\n\n\n\n\nBuild the Blinky 
Application\n\n\nRun the \nnewt build olimex_blinky\n command to build the 
blinky application:\n\n\n$ newt build olimex_blinky\nBuilding target 
targets/olimex_blinky\nAssembling 
repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/src/arch/cortex_m4/startup_STM32F40x.s\nCompiling
 repos/apache-mynewt-core/hw/drivers/uart/src/uart.c\nCompiling 
repos/apache-mynewt-core/h
 w/cmsis-core/src/cmsis_nvic.c\nCompiling 
repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/src/sbrk.c\nCompiling
 apps/blinky/src/main.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/uart_hal/src/uart_hal.c\nCompiling 
repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/src/hal_bsp.c\nCompiling
 
repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/src/system_stm32f4xx.c\nCompiling
 repos/apache-mynewt-core/hw/hal/src/hal_common.c\nCompiling 
repos/apache-mynewt-core/hw/hal/src/hal_flash.c\n\n   ...\n\nArchiving 
sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/olimex_blinky/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/olimex_blinky\n\n\n\n\n\n\n\nSign and Create the 
Blinky Application Image\n\n\nRun the \nnewt create-image olimex_blinky 1.0.0\n 
command to sign and create an image file for the blinky application. You may 
assign an arbitrary version (e.g. 1.0.0) number.\n\n\n$ newt create-image 
olimex_bl
 inky 1.0.0\nApp image succesfully generated: 
~/dev/myproj/bin/targets/olimex_blinky/app/apps/blinky/blinky.img\n\n\n\n\n\n\n\nConnect
 to the Board\n\n\nConfigure the board to bootload from flash memory and to use 
USB-OTG2 for the power source. Refer to the following diagrams to locate the 
boot jumpers and power input select jumpers on the board. \n\n\nNote:\n The 
labels for the \nUSB-OTG1\n and \nUSB-OTG2\n ports on the diagram are reversed. 
The port labeled USB-OTG1 on the diagram is the USB-OTG2 port and the port 
labeled USB-OTG2 on the diagram is the USB-OTG1 
port.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLocate the boot jumpers on the 
lower right corner of the board.  \nB1_1/B1_0\n and \nB0_1/B0_0\n are PTH 
jumpers to control the boot mode when a bootloader is present.  These two 
jumpers must be moved together.  The board searches for the bootloader in three 
places: User Flash Memory, System Memory or the Embedded SRAM. For this Blinky 
project, we configure the board to boot fro
 m flash by jumpering \nB0_0\n and \nB1_0\n.\n\nNote:\n The markings on the 
board may not always be accurate, and you should always refer to the manual for 
the correct positioning. \n\n\n\n\n\n\nLocate the \nPower Input Select\n 
jumpers on the lower left corner of the board.  Set the Power Select jumpers to 
position 5 and 6 to use the USB-OTG2 port for the power source. If you would 
like to use a different power source, refer to the \nOLIMEX STM32-E407 user 
manual\n for pin specifications.\n\n\n\n\n\n\nConnect the USB Micro-A cable to 
the USB-OTG2 port on the board. \n\n\n\n\n\n\nConnect the JTAG connector to the 
JTAG/SWD interface on the board. \n\n\n\n\n\n\nConnect the USB A-B cable to the 
ARM-USB-TINY-H connector and your computer.\n\n\n\n\n\n\nCheck that the red PWR 
LED lights up.\n\n\n\n\n\n\n\nLoad the Bootloader and Blinky 
Application\n\n\nRun the \nnewt load boot_olimex\n command to load the 
bootloader image onto the board:\n\n\n$newt load -v boot_olimex\nLoading 
bootloader\n
 Load command: 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard 
~/dev/myproj/bin/targets/boot_olimex/app/apps/boot/boot\nSuccessfully loaded 
image.\n\n\n\n\n\nRun the \nnewt load olimex_blinky\n command to load the 
blinky application image onto the board:\n\n\nnewt load -v 
olimex_blinky\nLoading app image into slot 1\nLoad command: 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard 
~/dev/myproj/bin/targets/olimex_blinky/app/apps/blinky/blinky\nSuccessfully 
loaded image.\n\n\n\n\n\n\nThe LED should be blinking!\n\n\n\nLet's double 
check that it is indeed booting from flash and making the LED blink from the 
image in flash. Pull the USB cable off the Olimex JTAG adaptor, severing the 
debug connection to the JTAG port. Next po
 wer off the Olimex board by pulling out the USB cable from the board. Wait for 
a couple of seconds and plug the USB cable back to the board.\n\n\nThe LED 
light will start blinking again. Success!\n\n\nNote #1:\n If you want to 
download the image to flash and a gdb session opened up, use \nnewt debug 
blinky\n. Type \nc\n to continue inside the gdb session.\n\n\n    $ newt debug 
blinky\n    Debugging with ~/dev/myproj/hw/bsp/olimex_stm32-e407_...\n    
Debugging ~/dev/myproj/project/blinky/bin/blinky/blinky.elf\n    GNU gdb (GNU 
Tools for ARM Embedded Processors) 7.8.0.20150604-cvs\n    Copyright (C) 2014 
Free Software Foundation, Inc.\n    License GPLv3+: GNU GPL version 3 
\nhttp://gnu.org/licenses/gpl.html\n\n    ...\n    (info)\n    ...\n    target 
state: halted\n    target halted due to debug-request, current mode: Thread\n   
 xPSR: 0x01000000 pc: 0x08000250 msp: 0x10010000\n    Info : accepting \ngdb\n 
connection from 3333\n    Info : device id = 0x10036413\n    Info : flash size 
 = 1024kbytes\n    Reset_Handler () at startup_STM32F40x.s:199\n    199     ldr 
   r1, =__etext\n    (gdb)\n\n\n\n\n\n\n\nNote #2:\n If you want to erase the 
flash and load the image again you may use the following commands from within 
gdb. \nflash erase_sector 0 0 x\n tells it to erase sectors 0 through x. When 
you ask it to display (in hex notation) the contents of the sector starting at 
location 'lma,' you should see all f's. The memory location 0x8000000 is the 
start or origin of the flash memory contents and is specified in the 
olimex_stm32-e407_devboard.ld linker script. The flash memory locations is 
specific to the processor.\n\n\n    (gdb) monitor flash erase_sector 0 0 4\n    
erased sectors 0 through 4 on flash bank 0 in 2.296712s\n    (gdb) monitor mdw 
0x08000000 16\n    0x08000000: ffffffff ffffffff ffffffff ffffffff ffffffff 
ffffffff ffffffff ffffffff\n    (0x08000020: ffffffff ffffffff ffffffff 
ffffffff ffffffff ffffffff ffffffff ffffffff\n    (0x08000000: ffffffff fffff
 fff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\n    (0x08000020: 
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff         
\n    (gdb) monitor flash info 0\n\n\n\n\n\nConclusion\n\n\nCongratulations! 
You have now tried out a project on actual hardware. If this is your first time 
to embedded systems, this must feel like the best hands-on and low-level 
\"Hello World\" program ever.\n\n\nGood, we have more fun tutorials for you to 
get your hands dirty. Be bold and try other Blinky-like \ntutorials\n or try 
enabling additional functionality such 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 appropriate mailing lists on our \nCommunity 
Page\n.\n\n\nKeep on hacking and blinking!", 
             "title": "Blinky on Olimex"
         }, 
         {
@@ -612,7 +607,7 @@
         }, 
         {
             "location": "/os/tutorials/olimex/#prerequisites", 
-            "text": "Ensure that you have met the following prerequisites 
before continuing with this tutorial:   Have a STM32-E407 development board 
from Olimex.   Have a ARM-USB-TINY-H connector with JTAG interface for 
debugging ARM microcontrollers (comes with the ribbon cable to hook up to the 
board)  Have Internet connectivity to fetch remote Mynewt components.  Have a 
computer to build a Mynewt application and connect to the board over USB.  Have 
USB A-B type cable to connect the debugger to your computer.  Install the Newt 
tool and toolchains (See  Basic Setup ).  Create a project space (directory 
structure) and populated it with the core code repository (apache-mynewt-core) 
or know how to as explained in  Creating Your First Project .  Read the Mynewt 
OS  Concepts  section.", 
+            "text": "Ensure that you have met the following prerequisites 
before continuing with this tutorial:   Have a STM32-E407 development board 
from Olimex.   Have a ARM-USB-TINY-H connector with JTAG interface for 
debugging ARM microcontrollers (comes with the ribbon cable to hook up to the 
board)  Have Internet connectivity to fetch remote Mynewt components.  Have a 
computer to build a Mynewt application and connect to the board over USB.  Have 
a USB A-B type cable to connect the debugger to your computer.  Have a USB 
Micro-A cable to connect your computer to the board.  Install the Newt tool and 
toolchains (See  Basic Setup ).  Create a project space (directory structure) 
and populated it with the core code repository (apache-mynewt-core) or know how 
to as explained in  Creating Your First Project .  Read the Mynewt OS  Concepts 
 section.", 
             "title": "Prerequisites"
         }, 
         {
@@ -637,12 +632,12 @@
         }, 
         {
             "location": "/os/tutorials/olimex/#connect-to-the-board", 
-            "text": "Configure the board to bootload from flash memory and to 
use the JTAG/SWD for the power source. Refer to the following diagrams to 
locate the boot jumpers and power input select jumpers on the board.          
Locate the boot jumpers on the lower right corner of the board.   B1_1/B1_0  
and  B0_1/B0_0  are PTH jumpers to control the boot mode when a bootloader is 
present.  These two jumpers must be moved together.  The board searches for the 
bootloader in three places: User Flash Memory, System Memory or the Embedded 
SRAM. For this Blinky project, we configure the board to boot from flash by 
jumpering  B0_0  and  B1_0 . Note:  The markings on the board may not always be 
accurate, and you should always refer to the manual for the correct 
positioning.     Locate the  Power Input Select  jumpers on the lower left 
corner of the board.  Set the Power Select jumpers to position 3 and 4 to use 
the JTAG/SWD for the power source. If you would like to use a different power 
 source, refer to the  OLIMEX STM32-E407 user manual  for pin specifications.   
 Connect the JTAG connector to the JTAG/SWD interface on the board.     Connect 
the USB A-B cable to the ARM-USB-TINY-H connector and your computer.    Check 
that the red PWR LED lights up.", 
+            "text": "Configure the board to bootload from flash memory and to 
use USB-OTG2 for the power source. Refer to the following diagrams to locate 
the boot jumpers and power input select jumpers on the board.   Note:  The 
labels for the  USB-OTG1  and  USB-OTG2  ports on the diagram are reversed. The 
port labeled USB-OTG1 on the diagram is the USB-OTG2 port and the port labeled 
USB-OTG2 on the diagram is the USB-OTG1 port.          Locate the boot jumpers 
on the lower right corner of the board.   B1_1/B1_0  and  B0_1/B0_0  are PTH 
jumpers to control the boot mode when a bootloader is present.  These two 
jumpers must be moved together.  The board searches for the bootloader in three 
places: User Flash Memory, System Memory or the Embedded SRAM. For this Blinky 
project, we configure the board to boot from flash by jumpering  B0_0  and  
B1_0 . Note:  The markings on the board may not always be accurate, and you 
should always refer to the manual for the correct positioning.     
 Locate the  Power Input Select  jumpers on the lower left corner of the board. 
 Set the Power Select jumpers to position 5 and 6 to use the USB-OTG2 port for 
the power source. If you would like to use a different power source, refer to 
the  OLIMEX STM32-E407 user manual  for pin specifications.    Connect the USB 
Micro-A cable to the USB-OTG2 port on the board.     Connect the JTAG connector 
to the JTAG/SWD interface on the board.     Connect the USB A-B cable to the 
ARM-USB-TINY-H connector and your computer.    Check that the red PWR LED 
lights up.", 
             "title": "Connect to the Board"
         }, 
         {
             "location": 
"/os/tutorials/olimex/#load-the-bootloader-and-blinky-application", 
-            "text": "Run the  newt load boot_olimex  command to load the 
bootloader image onto the board:  $newt load -v boot_olimex\nLoading 
bootloader\nLoad command: 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard 
~/dev/myproj/bin/targets/boot_olimex/app/apps/boot/boot\nSuccessfully loaded 
image.  Run the  newt load olimex_blinky  command to load the blinky 
application image onto the board:  newt load -v olimex_blinky\nLoading app 
image into slot 1\nLoad command: 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard 
~/dev/myproj/bin/targets/olimex_blinky/app/apps/blinky/blinky\nSuccessfully 
loaded image.  \nThe LED should be blinking!   But wait...not so fast.  Let's 
double check that it is indeed booting from flash and m
 aking the LED blink from the image in flash. Pull the USB cable off the Olimex 
JTAG adaptor, severing the debug connection to the JTAG port. Next power off 
the Olimex board by pulling out the USB cable from the board. Wait for a couple 
of seconds and plug the USB cable back to the board.  The LED light will start 
blinking again. Success!  Note #1:  If you want to download the image to flash 
and a gdb session opened up, use  newt debug blinky . Type  c  to continue 
inside the gdb session.      $ newt debug blinky\n    Debugging with 
~/dev/myproj/hw/bsp/olimex_stm32-e407_...\n    Debugging 
~/dev/myproj/project/blinky/bin/blinky/blinky.elf\n    GNU gdb (GNU Tools for 
ARM Embedded Processors) 7.8.0.20150604-cvs\n    Copyright (C) 2014 Free 
Software Foundation, Inc.\n    License GPLv3+: GNU GPL version 3  
http://gnu.org/licenses/gpl.html \n    ...\n    (info)\n    ...\n    target 
state: halted\n    target halted due to debug-request, current mode: Thread\n   
 xPSR: 0x01000000 pc: 0x08000
 250 msp: 0x10010000\n    Info : accepting  gdb  connection from 3333\n    Info 
: device id = 0x10036413\n    Info : flash size = 1024kbytes\n    Reset_Handler 
() at startup_STM32F40x.s:199\n    199     ldr    r1, =__etext\n    (gdb)   
Note #2:  If you want to erase the flash and load the image again you may use 
the following commands from within gdb.  flash erase_sector 0 0 x  tells it to 
erase sectors 0 through x. When you ask it to display (in hex notation) the 
contents of the sector starting at location 'lma,' you should see all f's. The 
memory location 0x8000000 is the start or origin of the flash memory contents 
and is specified in the olimex_stm32-e407_devboard.ld linker script. The flash 
memory locations is specific to the processor.      (gdb) monitor flash 
erase_sector 0 0 4\n    erased sectors 0 through 4 on flash bank 0 in 
2.296712s\n    (gdb) monitor mdw 0x08000000 16\n    0x08000000: ffffffff 
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\n    (0x0800002
 0: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\n   
 (0x08000000: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
ffffffff\n    (0x08000020: ffffffff ffffffff ffffffff ffffffff ffffffff 
ffffffff ffffffff ffffffff         \n    (gdb) monitor flash info 0", 
+            "text": "Run the  newt load boot_olimex  command to load the 
bootloader image onto the board:  $newt load -v boot_olimex\nLoading 
bootloader\nLoad command: 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard 
~/dev/myproj/bin/targets/boot_olimex/app/apps/boot/boot\nSuccessfully loaded 
image.  Run the  newt load olimex_blinky  command to load the blinky 
application image onto the board:  newt load -v olimex_blinky\nLoading app 
image into slot 1\nLoad command: 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard 
~/dev/myproj/bin/targets/olimex_blinky/app/apps/blinky/blinky\nSuccessfully 
loaded image.  \nThe LED should be blinking!  \nLet's double check that it is 
indeed booting from flash and making the LED blink from
  the image in flash. Pull the USB cable off the Olimex JTAG adaptor, severing 
the debug connection to the JTAG port. Next power off the Olimex board by 
pulling out the USB cable from the board. Wait for a couple of seconds and plug 
the USB cable back to the board.  The LED light will start blinking again. 
Success!  Note #1:  If you want to download the image to flash and a gdb 
session opened up, use  newt debug blinky . Type  c  to continue inside the gdb 
session.      $ newt debug blinky\n    Debugging with 
~/dev/myproj/hw/bsp/olimex_stm32-e407_...\n    Debugging 
~/dev/myproj/project/blinky/bin/blinky/blinky.elf\n    GNU gdb (GNU Tools for 
ARM Embedded Processors) 7.8.0.20150604-cvs\n    Copyright (C) 2014 Free 
Software Foundation, Inc.\n    License GPLv3+: GNU GPL version 3  
http://gnu.org/licenses/gpl.html \n    ...\n    (info)\n    ...\n    target 
state: halted\n    target halted due to debug-request, current mode: Thread\n   
 xPSR: 0x01000000 pc: 0x08000250 msp: 0x10010000\n   
  Info : accepting  gdb  connection from 3333\n    Info : device id = 
0x10036413\n    Info : flash size = 1024kbytes\n    Reset_Handler () at 
startup_STM32F40x.s:199\n    199     ldr    r1, =__etext\n    (gdb)   Note #2:  
If you want to erase the flash and load the image again you may use the 
following commands from within gdb.  flash erase_sector 0 0 x  tells it to 
erase sectors 0 through x. When you ask it to display (in hex notation) the 
contents of the sector starting at location 'lma,' you should see all f's. The 
memory location 0x8000000 is the start or origin of the flash memory contents 
and is specified in the olimex_stm32-e407_devboard.ld linker script. The flash 
memory locations is specific to the processor.      (gdb) monitor flash 
erase_sector 0 0 4\n    erased sectors 0 through 4 on flash bank 0 in 
2.296712s\n    (gdb) monitor mdw 0x08000000 16\n    0x08000000: ffffffff 
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\n    
(0x08000020: ffffffff ffffffff fff
 fffff ffffffff ffffffff ffffffff ffffffff ffffffff\n    (0x08000000: ffffffff 
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\n    
(0x08000020: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 
ffffffff         \n    (gdb) monitor flash info 0", 
             "title": "Load the Bootloader and Blinky Application"
         }, 
         {
@@ -752,7 +747,7 @@
         }, 
         {
             "location": "/os/tutorials/nRF52/", 
-            "text": "Blinky, your \"Hello World!\", on 
nRF52\n\n\n\n\nObjective\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\nCreate a 
project with a simple app that blinks an LED on the nRF52 board from Nordic 
Semiconductors.  Download the application to the target and watch it 
blink!\n\n\nNote that there are several versions of the nRF52 in the market. 
The boards tested with this tutorial are listed under 
\"Prerequisites\".\n\n\n\n\nPrerequisites\n\n\nEnsure that you have met the 
following prerequisites before continuing with this tutorial:\n\n\n\n\nHave a 
nRF52 Development Kit (one of the following)\n\n\nDev Kit from Nordic - PCA 
10040\n\n\nEval Kit from Rigado - BMD-300-EVAL-ES\n\n\n\n\n\n\nHave Internet 
connectivity to fetch remote Mynewt components.\n\n\nHave a compu
 ter 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 computer.\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 Nordic nRF52-DK board.\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 \ncreate the targets\n if you already have a project created.  \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    $ newt install\n    
apache-myn
 ewt-core\n    $\n\n\n\n\n\n\n\nCreate the Targets\n\n\nCreate two targets for 
the nRF52-DK board - one for the bootloader and one for the Blinky 
application.\n\n\nRun the following \nnewt target\n commands, from your project 
directory, to create a bootloader target. We name the target 
\nnrf52_boot\n:\n\n\n\nNote: This tutorial uses the Nordic nRF52-DK board.  You 
must specify the correct bsp for the board you are using. \n \n\n\n\n\nFor the 
Nordic Dev Kit choose @apache-mynewt-core/hw/bsp/nrf52dk instead (in the 
highlighted lines)\n\n\nFor the Rigado Eval Kit choose 
@apache-mynewt-core/hw/bsp/bmd300eval instead (in the highlighted 
lines)\n\n\n\n\n$ newt target create nrf52_boot\n$ newt target set nrf52_boot 
app=@apache-mynewt-core/apps/boot\n\n$ newt target set nrf52_boot 
bsp=@apache-mynewt-core/hw/bsp/nrf52dk\n\n$ newt target set nrf52_boot 
build_profile=optimized\n\n\n\n\n\n\nRun the following \nnewt target\n commands 
to create a target for the Blinky application. We name the targ
 et \nnrf52_blinky\n.\n\n\n$ newt target create nrf52_blinky\n$ newt target set 
nrf52_blinky app=apps/blinky\n\n$ newt target set nrf52_blinky 
bsp=@apache-mynewt-core/hw/bsp/nrf52dk\n\n$ newt target set nrf52_blinky 
build_profile=debug\n\n\n\n\n\n\nYou can run the \nnewt target show\n command 
to verify the target settings:\n\n\n$ newt target show \ntargets/nrf52_blinky\n 
   app=apps/blinky\n    bsp=@apache-mynewt-core/hw/bsp/nrf52dk\n    
build_profile=debug\ntargets/nrf52_boot\n    
app=@apache-mynewt-core/apps/boot\n    bsp=@apache-mynewt-core/hw/bsp/nrf52dk\n 
   build_profile=optimized\n\n\n\n\n\n\n\nBuild the Target Executables\n\n\nRun 
the \nnewt build nrf52_boot\n command to build the bootloader:\n\n\n$ newt 
build nrf52_boot\nBuilding target targets/nrf52_boot\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c\nCompiling repos/apache-
 mynewt-core/crypto/mbedtls/src/aes.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/loader.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\n    ...\n\nArchiving 
sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/nrf52_boot/app/apps/boot/boot.elf\nTarget successfully 
built: targets/nrf52_boot\n\n\n\n\n\n\nRun the \nnewt build nrf52_blinky\n 
command to build the Blinky application:\n\n\n$ newt build 
nrf52_blinky\nBuilding target targets/nrf52_blinky\nAssembling 
repos/apache-mynewt-core/hw/bsp/nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52_split.s\nCompiling
 repos/apache-mynewt-core/hw/bsp/nrf52dk/src/sbrk.c\nCompiling 
repos/apache-mynewt-core/hw/cmsis-core/src/cmsis_nvic.c\nCompiling 
repos/apache-mynewt-core/hw/drivers/uart/uart_hal/src/uart_hal.c\nAssembling 
repos/apache-mynewt-core/hw/bsp/
 nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52.s\nCompiling 
apps/blinky/src/main.c\n\n    ...\n\nArchiving sys_mfg.a\nArchiving 
sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/nrf52_blinky/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/nrf52_blinky\n\n\n\n\n\n\n\nSign and Create the 
Blinky Application Image\n\n\nRun the \nnewt create-image nrf52_blinky 1.0.0\n 
command to create and sign the application image. You may assign an arbitrary 
version (e.g. 1.0.0) to the image.\n\n\n$ newt create-image nrf52_blinky 
1.0.0\nnewt create-image nrf52_blinky 1.0.0\nApp image succesfully generated: 
~/dev/myproj/bin/targets/nrf52_blinky/app/apps/blinky/blinky.img\n\n\n\n\n\n\n\nConnect
 to the Board\n\n\n\n\nConnect a micro-USB cable from your computer to the 
micro-USB port on the nRF52-DK board.\n\n\nTurn the power on the board to ON. 
You should see the green LED light up on the board.\n\n\n\n\nLoad the 
Bootloader and the Blinky Application Image\n\n\nRun the \n
 newt load nrf52_boot\n command to load the bootloader onto the board: \n\n\n$ 
newt load nrf52_boot\nLoading bootloader\n$\n\n\n\n\n\n\nRun the \nnewt load 
nrf52_blinky\n command to load the Blinky application image onto the 
board.\n\n\n$ newt load nrf52_blinky\nLoading app image into slot 
1\n\n\n\n\n\nYou should see the LED1 on the board blink!\n\n\nNote: If the LED 
does not blink, try resetting your board.\n\n\n\n\nNote:\n If you want to erase 
the flash and load the image again, you can use JLinkExe to issue an \nerase\n 
command.\n\n\n$ JLinkExe -device nRF52 -speed 4000 -if SWD\nSEGGER J-Link 
Commander V5.12c (Compiled Apr 21 2016 16:05:51)\nDLL version V5.12c, compiled 
Apr 21 2016 16:05:45\n\nConnecting to J-Link via USB...O.K.\nFirmware: J-Link 
OB-SAM3U128-V2-NordicSemi compiled Mar 15 2016 18:03:17\nHardware version: 
V1.00\nS/N: 682863966\nVTref = 3.300V\n\n\nType \nconnect\n to establish a 
target connection, \n?\n for help\nJ-Link\nerase\nCortex-M4 
identified.\nErasing device 
 (0;?i?)...\nComparing flash   [100%] Done.\nErasing flash     [100%] 
Done.\nVerifying flash   [100%] Done.\nJ-Link: Flash download: Total time 
needed: 0.363s (Prepare: 0.093s, Compare: 0.000s, Erase: 0.262s, Program: 
0.000s, Verify: 0.000s, Restore: 0.008s)\nErasing 
done.\nJ-Link\nexit\n$\n\n\n\n\n\nConclusion\n\n\nYou have created, setup, 
compiled, loaded, and ran your first mynewt application for an nrf52 
board.\n\n\nWe have more fun tutorials for you to get your hands dirty. Be bold 
and work on the OS with tutorials on \nwriting a test suite\n or try enabling 
additional functionality such as \nremote comms\n or \nBluetooth Low Energy\n 
on your current board.\n\n\nIf you see anything missing or want to send us 
feedback, please do so by signing up for appropriate mailing lists on our 
\nCommunity Page\n.\n\n\nKeep on hacking and blinking!", 
+            "text": "Blinky, your \"Hello World!\", on 
nRF52\n\n\n\n\nObjective\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\nCreate a 
project with a simple application that blinks an LED on the nRF52 board from 
Nordic Semiconductors.  Download the application to the target and watch it 
blink!\n\n\nNote that there are several versions of the nRF52 in the market. 
The boards tested with this tutorial are listed under 
\"Prerequisites\".\n\n\n\n\nPrerequisites\n\n\nEnsure that you have met the 
following prerequisites before continuing with this tutorial:\n\n\n\n\nHave a 
nRF52 Development Kit (one of the following)\n\n\nDev Kit from Nordic - PCA 
10040\n\n\nEval Kit from Rigado - BMD-300-EVAL-ES\n\n\n\n\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 
computer.\n\n\nInstall the Newt tool and toolchains (See \nBasic 
Setup\n).\n\n\nInstall the \nSegger JLINK package\n to load your project on the 
board.\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 Nordic nRF52-DK board.\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 \ncreate the targets\n if you already have a 
project created.  \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    Projec
 t myproj successfully created.\n    $ cd myproj\n    $ newt install\n    
apache-mynewt-core\n    $\n\n\n\n\n\n\n\nCreate the Targets\n\n\nCreate two 
targets for the nRF52-DK board - one for the bootloader and one for the Blinky 
application.\n\n\nRun the following \nnewt target\n commands, from your project 
directory, to create a bootloader target. We name the target 
\nnrf52_boot\n:\n\n\n\nNote: This tutorial uses the Nordic nRF52-DK board.  You 
must specify the correct bsp for the board you are using. \n \n\n\n\n\nFor the 
Nordic Dev Kit choose @apache-mynewt-core/hw/bsp/nrf52dk instead (in the 
highlighted lines)\n\n\nFor the Rigado Eval Kit choose 
@apache-mynewt-core/hw/bsp/bmd300eval instead (in the highlighted 
lines)\n\n\n\n\n$ newt target create nrf52_boot\n$ newt target set nrf52_boot 
app=@apache-mynewt-core/apps/boot\n\n$ newt target set nrf52_boot 
bsp=@apache-mynewt-core/hw/bsp/nrf52dk\n\n$ newt target set nrf52_boot 
build_profile=optimized\n\n\n\n\n\n\nRun the following \nnew
 t target\n commands to create a target for the Blinky application. We name the 
target \nnrf52_blinky\n.\n\n\n$ newt target create nrf52_blinky\n$ newt target 
set nrf52_blinky app=apps/blinky\n\n$ newt target set nrf52_blinky 
bsp=@apache-mynewt-core/hw/bsp/nrf52dk\n\n$ newt target set nrf52_blinky 
build_profile=debug\n\n\n\n\n\n\nYou can run the \nnewt target show\n command 
to verify the target settings:\n\n\n$ newt target show \ntargets/nrf52_blinky\n 
   app=apps/blinky\n    bsp=@apache-mynewt-core/hw/bsp/nrf52dk\n    
build_profile=debug\ntargets/nrf52_boot\n    
app=@apache-mynewt-core/apps/boot\n    bsp=@apache-mynewt-core/hw/bsp/nrf52dk\n 
   build_profile=optimized\n\n\n\n\n\n\n\nBuild the Target Executables\n\n\nRun 
the \nnewt build nrf52_boot\n command to build the bootloader:\n\n\n$ newt 
build nrf52_boot\nBuilding target targets/nrf52_boot\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec256.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/image_ec.c\nCompil
 ing repos/apache-mynewt-core/boot/bootutil/src/image_rsa.c\nCompiling 
repos/apache-mynewt-core/crypto/mbedtls/src/aes.c\nCompiling 
repos/apache-mynewt-core/boot/bootutil/src/loader.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\n    ...\n\nArchiving 
sys_mfg.a\nArchiving sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/nrf52_boot/app/apps/boot/boot.elf\nTarget successfully 
built: targets/nrf52_boot\n\n\n\n\n\n\nRun the \nnewt build nrf52_blinky\n 
command to build the Blinky application:\n\n\n$ newt build 
nrf52_blinky\nBuilding target targets/nrf52_blinky\nAssembling 
repos/apache-mynewt-core/hw/bsp/nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52_split.s\nCompiling
 repos/apache-mynewt-core/hw/bsp/nrf52dk/src/sbrk.c\nCompiling 
repos/apache-mynewt-core/hw/cmsis-core/src/cmsis_nvic.c\nCompiling 
repos/apache-mynewt-core/h
 w/drivers/uart/uart_hal/src/uart_hal.c\nAssembling 
repos/apache-mynewt-core/hw/bsp/nrf52dk/src/arch/cortex_m4/gcc_startup_nrf52.s\nCompiling
 apps/blinky/src/main.c\n\n    ...\n\nArchiving sys_mfg.a\nArchiving 
sys_sysinit.a\nArchiving util_mem.a\nLinking 
~/dev/myproj/bin/targets/nrf52_blinky/app/apps/blinky/blinky.elf\nTarget 
successfully built: targets/nrf52_blinky\n\n\n\n\n\n\n\nSign and Create the 
Blinky Application Image\n\n\nRun the \nnewt create-image nrf52_blinky 1.0.0\n 
command to create and sign the application image. You may assign an arbitrary 
version (e.g. 1.0.0) to the image.\n\n\n$ newt create-image nrf52_blinky 
1.0.0\nApp image succesfully generated: 
~/dev/myproj/bin/targets/nrf52_blinky/app/apps/blinky/blinky.img\n\n\n\n\n\n\n\nConnect
 to the Board\n\n\n\n\nConnect a micro-USB cable from your computer to the 
micro-USB port on the nRF52-DK board.\n\n\nTurn the power on the board to ON. 
You should see the green LED light up on the board.\n\n\n\n\nLoad the 
Bootloader and
  the Blinky Application Image\n\n\nRun the \nnewt load nrf52_boot\n command to 
load the bootloader onto the board: \n\n\n$ newt load nrf52_boot\nLoading 
bootloader\n$\n\n\n\n\n\n\nRun the \nnewt load nrf52_blinky\n command to load 
the Blinky application image onto the board.\n\n\n$ newt load 
nrf52_blinky\nLoading app image into slot 1\n\n\n\n\n\nYou should see the LED1 
on the board blink!\n\n\nNote: If the LED does not blink, try resetting your 
board.\n\n\n\n\nNote:\n If you want to erase the flash and load the image 
again, you can use JLinkExe to issue an \nerase\n command.\n\n\n$ JLinkExe 
-device nRF52 -speed 4000 -if SWD\nSEGGER J-Link Commander V5.12c (Compiled Apr 
21 2016 16:05:51)\nDLL version V5.12c, compiled Apr 21 2016 
16:05:45\n\nConnecting to J-Link via USB...O.K.\nFirmware: J-Link 
OB-SAM3U128-V2-NordicSemi compiled Mar 15 2016 18:03:17\nHardware version: 
V1.00\nS/N: 682863966\nVTref = 3.300V\n\n\nType \nconnect\n to establish a 
target connection, \n?\n for help\nJ-Link\n
 erase\nCortex-M4 identified.\nErasing device (0;?i?)...\nComparing flash   
[100%] Done.\nErasing flash     [100%] Done.\nVerifying flash   [100%] 
Done.\nJ-Link: Flash download: Total time needed: 0.363s (Prepare: 0.093s, 
Compare: 0.000s, Erase: 0.262s, Program: 0.000s, Verify: 0.000s, Restore: 
0.008s)\nErasing done.\nJ-Link\nexit\n$\n\n\n\n\n\nConclusion\n\n\nYou have 
created, setup, compiled, loaded, and ran your first mynewt application for an 
nrf52 board.\n\n\nWe have more fun tutorials for you to get your hands dirty. 
Be bold and work on the OS with tutorials on \nwriting a test suite\n or try 
enabling additional functionality such as \nremote comms\n or \nBluetooth Low 
Energy\n on your current board.\n\n\nIf you see anything missing or want to 
send us feedback, please do so by signing up for appropriate mailing lists on 
our \nCommunity Page\n.\n\n\nKeep on hacking and blinking!", 
             "title": "Blinky on nRF52"
         }, 
         {
@@ -762,12 +757,12 @@
         }, 
         {
             "location": "/os/tutorials/nRF52/#objective", 
-            "text": "Learn how to use packages from a default application 
repository of Mynewt to build your first  Hello World  application (Blinky) on 
a target board. Once built using the  newt  tool, this application will blink 
the LED lights on the target board.  Create a project with a simple app that 
blinks an LED on the nRF52 board from Nordic Semiconductors.  Download the 
application to the target and watch it blink!  Note that there are several 
versions of the nRF52 in the market. The boards tested with this tutorial are 
listed under \"Prerequisites\".", 
+            "text": "Learn how to use packages from a default application 
repository of Mynewt to build your first  Hello World  application (Blinky) on 
a target board. Once built using the  newt  tool, this application will blink 
the LED lights on the target board.  Create a project with a simple application 
that blinks an LED on the nRF52 board from Nordic Semiconductors.  Download the 
application to the target and watch it blink!  Note that there are several 
versions of the nRF52 in the market. The boards tested with this tutorial are 
listed under \"Prerequisites\".", 
             "title": "Objective"
         }, 
         {
             "location": "/os/tutorials/nRF52/#prerequisites", 
-            "text": "Ensure that you have met the following prerequisites 
before continuing with this tutorial:   Have a nRF52 Development Kit (one of 
the following)  Dev Kit from Nordic - PCA 10040  Eval Kit from Rigado - 
BMD-300-EVAL-ES    Have Internet connectivity to fetch remote Mynewt 
components.  Have a computer to build a Mynewt application and connect to the 
board over USB.  Have a Micro-USB cable to connect the board and the computer.  
Install the Newt tool and toolchains (See  Basic Setup ).  Create a project 
space (directory structure) and populated it with the core code repository 
(apache-mynewt-core) or know how to as explained in  Creating Your First 
Project .  Read the Mynewt OS  Concepts  section.   This tutorial uses the 
Nordic nRF52-DK board.", 
+            "text": "Ensure that you have met the following prerequisites 
before continuing with this tutorial:   Have a nRF52 Development Kit (one of 
the following)  Dev Kit from Nordic - PCA 10040  Eval Kit from Rigado - 
BMD-300-EVAL-ES    Have Internet connectivity to fetch remote Mynewt 
components.  Have a computer to build a Mynewt application and connect to the 
board over USB.  Have a Micro-USB cable to connect the board and the computer.  
Install the Newt tool and toolchains (See  Basic Setup ).  Install the  Segger 
JLINK package  to load your project on the board.  Create a project space 
(directory structure) and populated it with the core code repository 
(apache-mynewt-core) or know how to as explained in  Creating Your First 
Project .  Read the Mynewt OS  Concepts  section.   This tutorial uses the 
Nordic nRF52-DK board.", 
             "title": "Prerequisites"
         }, 
         {
@@ -782,7 +777,7 @@
         }, 
         {
             "location": 
"/os/tutorials/nRF52/#sign-and-create-the-blinky-application-image", 
-            "text": "Run the  newt create-image nrf52_blinky 1.0.0  command to 
create and sign the application image. You may assign an arbitrary version 
(e.g. 1.0.0) to the image.  $ newt create-image nrf52_blinky 1.0.0\nnewt 
create-image nrf52_blinky 1.0.0\nApp image succesfully generated: 
~/dev/myproj/bin/targets/nrf52_blinky/app/apps/blinky/blinky.img", 
+            "text": "Run the  newt create-image nrf52_blinky 1.0.0  command to 
create and sign the application image. You may assign an arbitrary version 
(e.g. 1.0.0) to the image.  $ newt create-image nrf52_blinky 1.0.0\nApp image 
succesfully generated: 
~/dev/myproj/bin/targets/nrf52_blinky/app/apps/blinky/blinky.img", 
             "title": "Sign and Create the Blinky Application Image"
         }, 
         {
@@ -801,109 +796,114 @@
             "title": "Conclusion"
         }, 
         {
-            "location": "/os/tutorials/blinky_sram_olimex/", 
-            "text": "Run Blinky from SRAM without 
bootloader\n\n\nObjective\n\n\nTo download an application image directly into 
the embedded SRAM in the microcontroller and run it without the bootloader. 
This tutorial describes how you do it on an Olimex STM32 board.\n\n\nWhat you 
need\n\n\n\n\nSTM32-E407 development board from Olimex. You can order it from 
\nhttp://www.mouser.com\n, \nhttp://www.digikey.com\n, and other 
places.\n\n\nARM-USB-TINY-H connector with JTAG interface for debugging ARM 
microcontrollers (comes with the ribbon cable to hook up to the board)\n\n\nUSB 
A-B type cable to connect the debugger to your personal computer\n\n\nPersonal 
Computer with Mac OS (Mac: OS X Yosemite Version 10.10.5) or Linux box (Ubuntu 
14.10: Utopic Unicorn)\n\n\nAn account on Github repository and \ngit\n 
installed on your computer.\n\n\nIt is assumed you have already installed newt 
tool.\n\n\nIt is assumed you already installed native tools as described 
\nhere\n\n\n\n\nAlso, we assume th
 at you're familiar with UNIX shells. Let's gets started!\n\n\n\n\nPrepare the 
Software\n\n\n\n\nMake sure the PATH environment variable includes the 
$HOME/dev/go/bin directory.\n\n\n\n\n\n\nCreate a project\n\n\nCreate a new 
project to hold your work.  For a deeper understanding, you can read about 
project creation in\n\nGet Started -- Creating Your First Project\n\nor just 
follow the commands below.\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\n    $cd myproj\n\n    $ newt install 
-v\n    apache-mynewt-core\n    Downloading repository description for 
apache-mynewt-core... success!\n    ...\n    apache-mynewt-core successfully 
installed version 0.7.9-none\n\n\n\n\n\n\n\nCreate a target\n\n\nChange 
directory to ~/dev/myproj directory and define the \nblinky\n target inside 
myproj, using the \nnewt\n tool. Starting 
 with the target name, assign specific aspects of the project, as shown below, 
to pull the appropriate packages and build the right bundle or list for the 
board. For example, we set the build_profile, board support package (bsp), and 
app.\n\n\n    $ newt target create blinky\n    $ newt target set blinky 
build_profile=debug\n    $ newt target set blinky 
bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard\n    $ newt target 
set blinky app=apps/blinky\n    $ newt target show blinky\n    targets/blinky\n 
       app=apps/blinky\n        bsp=hw/bsp/olimex_stm32-e407_devboard\n        
build_profile=debug\n\n\n\n\n\n\n\nBuild the image\n\n\nNext, let's build the 
image for the above target. By default, the linker script within the 
\nhw/bsp/olimex_stm32-e407_devboard\n package builds an image for flash memory, 
which we don't want; instead, we want an image for the SRAM, so you need to 
switch that script with \nrun_from_sram.ld\n.\n\n\nAfer you build the target, 
you can find the executab
 le \nblinky.elf\n in the project directory 
\n~/dev/myproj/bin/blinky/apps/blinky/.\n\n\n    $ cd 
~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/\n    $ 
diff olimex_stm32-e407_devboard.ld run_from_sram.ld\n    (some diff will be 
displayed)\n    $ cp run_from_sram.ld olimex_stm32-e407_devboard.ld\n    $ cd 
~/dev/myproj\n    $ newt build blinky\n    Compiling case.c\n    Compiling 
suite.c\n    ...\n    Linking blinky.elf\n    App successfully 
built:~/dev/myproj/bin/blinky/apps/blinky/blinky.elf\n    $ ls 
~/dev/myproj/bin/blinky/apps/blinky/\n        blinky.elf      blinky.elf.bin    
 blinky.elf.cmd  \n        blinky.elf.lst  
blinky.elf.map\n\n\n\n\n\n\n\nPrepare the hardware to boot from embedded 
SRAM\n\n\n\n\nLocate the boot jumpers on the 
board.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nB1_1/B1_0 and B0_1/B0_0 are PTH 
jumpers. Note that because the markings on the board may not always be 
accurate, when in doubt, you should always refer to the manual for the correct 
po
 sitioning. Since the jumpers are a pair, they should move together, and as 
such, the pair is responsible for the boot mode when bootloader is present.\nTo 
locate the bootloader, the board searches in three places: User Flash Memory, 
System Memory or the Embedded SRAM. For this Blinky project, we will configure 
it to boot from SRAM by jumpering \nB0_1\n and \nB1_1\n.\n\n\n\n\n\n\nConnect 
USB-OTG#2 in the picture above to a USB port on your computer (or a powered USB 
hub to make sure there is enough power available to the 
board).\n\n\n\n\n\n\nThe red PWR LED should be lit.\n\n\n\n\n\n\nConnect the 
JTAG connector to the SWD/JTAG interface on the board. The other end of the 
cable should be connected to the USB port or hub of your 
computer.\n\n\n\n\n\n\n\n\nLet's Go!\n\n\n\n\nEnsure that you are in the blinky 
project directory with the \nblinky.elf\n executable. Run the debug command in 
the \nnewt\n tool. You'll see some status messages as shown below. In case you 
need to halt the debugg
 ing session, you can issue an \n-c \"reset halt\"\n command.\n\n\n\n\n    $ 
newt debug blinky\n    Debugging with ~/dev/core/hw/bsp/olimex_...\n    
Debugging ~/dev/core/project/blinky/bin/blinky/blinky.elf\n    GNU gdb (GNU 
Tools for ARM Embedded Processors) 7.8.0.20150604-cvs\n    Copyright (C) 2014 
Free Software Foundation, Inc.\n    License GPLv3+: GNU GPL version 3 
\nhttp://gnu.org/licenses/gpl.html\n\n    ...\n    (info)\n    ...\n    target 
state: halted\n    target halted due to debug-request, current mode: Thread\n   
 xPSR: 0x01000000 pc: 0x080003c0 msp: 0x10010000\n    Info : accepting \ngdb\n 
connection on tcp/3333\n    Info : device id = 0x10036413\n    Info : flash 
size = 1024kbytes\n\n\n\n\n\n\n\nCheck the value of the msp (main service 
pointer) register. If it is not 0x10010000 as indicated above, you will have to 
manually set it after you open the gdb tool and load the image on it. For 
example,\n\n\n    (gdb) set $msp=0x10010000\n\n\n\n\n\n\n\nNow load the image 
and t
 ype \"c\" or \"continue\" from the GNU debugger.\n\n\n    (gdb) load 
~/dev/myproj/bin/blinky/apps/blinky/blinky.elf   \n    Loading section .text, 
size 0x16b88 lma 0x20000000\n    Loading section .ARM.exidx, size 0x18 lma 
0x20016b88\n    Loading section .data, size 0x9ec lma 0x20016ba0\n    Start 
address 0x200004b8, load size 95628\n    Transfer rate: 74 KB/sec, 3825 
bytes/write.\n    (gdb) c\n    Continuing.\n\n\n\n\n\n\n\nVoil\u00e0! The 
board's LED should be blinking at 1 Hz. Success!", 
-            "title": "Run Blinky from SRAM, no bootloader"
+            "location": "/os/tutorials/rbnano2/", 
+            "text": "Blinky, your \"Hello World!\", on RedBear Nano 
2\n\n\n\n\nObjective\n\n\nLearn how to use packages from a default application 
repository of Mynewt to build your first \nHello World\n appl

<TRUNCATED>

Reply via email to