You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2017/03/31 17:10:42 UTC

[10/20] incubator-mynewt-site git commit: RedBear Nano2 blinky tutorial, WiFi tutorial with MKR1000, cputime module documentation, and several updates to OS guide by cwanda. Vanity import domain additions by spoonofpower.

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>