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 2016/01/13 19:26:38 UTC

[6/7] incubator-mynewt-site git commit: Fix second level navigation and function formats in docs

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/bc3112c0/get_started/project1/index.html
----------------------------------------------------------------------
diff --git a/get_started/project1/index.html b/get_started/project1/index.html
index 4193cf5..2842d80 100644
--- a/get_started/project1/index.html
+++ b/get_started/project1/index.html
@@ -121,16 +121,40 @@
                 
                     <ul class="current-toc">
                         
-                            <li class="toctree-l3"><a href="../newt_concepts/">Newt Concepts</a></li>
+                            <li class="toctree-l2"><a href="../newt_concepts/">Newt Concepts</a></li>
                             
                         
-                            <li class="toctree-l3"><a href="./">Blinky, The First Project</a></li>
+                            <li class="toctree-l2"><a href="./">Blinky, The First Project</a></li>
+                            
+                                
+                                    
+                                        <li class="toctree-l3"><a href="#objective">Objective</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#what-you-need">What you need</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#access-to-the-apache-repo">Access to the Apache repo</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#getting-your-mac-ready">Getting your Mac Ready</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#getting-your-ubuntu-machine-ready">Getting your Ubuntu machine Ready</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#getting-your-windows-machine-ready-for-simulated-target">Getting your Windows machine ready for simulated target</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#getting-your-windows-machine-ready-for-hardware-target">Getting your Windows machine ready for hardware target</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#building-test-code-on-simulator">Building test code on simulator</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#using-sram-to-make-led-blink">Using SRAM to make LED blink</a></li>
+                                    
+                                        <li class="toctree-l3"><a href="#using-flash-to-make-led-blink">Using flash to make LED blink</a></li>
+                                    
+                                
                             
                         
-                            <li class="toctree-l3"><a href="../how_to_edit_docs/">How to edit docs</a></li>
+                            <li class="toctree-l2"><a href="../how_to_edit_docs/">How to edit docs</a></li>
                             
                         
-                            <li class="toctree-l3"><a href="../try_markdown/">Sample doc to edit</a></li>
+                            <li class="toctree-l2"><a href="../try_markdown/">Sample doc to edit</a></li>
                             
                         
                     </ul>
@@ -224,27 +248,26 @@
 </ul>
 <p>The following shows how to clone a Mynewt OS code repository:</p>
 <ul>
-<li>
-<p>Non Committers</p>
-<pre><code>$ git clone http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git
-</code></pre>
-</li>
-<li>
-<p>Committers</p>
-<pre><code>$ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git
+<li>Non Committers</li>
+</ul>
+<pre><code class="no-highlight">        $ git clone http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git
 </code></pre>
-</li>
+
+<ul>
+<li>Committers</li>
 </ul>
+<pre><code class="no-highlight">        $ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git
+</code></pre>
+
 <h3 id="getting-your-mac-ready">Getting your Mac Ready<a class="headerlink" href="#getting-your-mac-ready" title="Permanent link">&para;</a></h3>
 <h4 id="installing-homebrew-to-ease-installs-on-os-x">Installing Homebrew to ease installs on OS X<a class="headerlink" href="#installing-homebrew-to-ease-installs-on-os-x" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>Do you have Homebrew? If not, open a terminal on your Mac and paste the following at a Terminal prompt. It will ask you for your sudo password.</p>
-<pre><code>$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+<li>Do you have Homebrew? If not, open a terminal on your Mac and paste the following at a Terminal prompt. It will ask you for your sudo password.</li>
+</ul>
+<pre><code class="no-highlight">        $ ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;
 </code></pre>
+
 <p>Alternatively, you can just extract (or <code>git clone</code>) Homebrew and install it to <code>/usr/local</code>.</p>
-</li>
-</ul>
 <h4 id="installing-go">Installing Go<a class="headerlink" href="#installing-go" title="Permanent link">&para;</a></h4>
 <ul>
 <li>
@@ -261,153 +284,158 @@
 </li>
 </ul>
 <p>The GOPATH environment variable specifies the location of your workspace. First create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the newt tool repository.</p>
-<pre><code>$ cd $HOME
-$ mkdir -p dev/go  
-$ cd dev/go
-$ export GOPATH=`pwd`
+</li>
+</ul>
+<pre><code class="no-highlight">        $ cd $HOME
+        $ mkdir -p dev/go  
+        $ cd dev/go
+        $ export GOPATH=`pwd`
 </code></pre>
+
 <p>Note that you need to add export statements to ~/.bash_profile to export variables permanently. Don't forget to source the file for the change to go into effect.</p>
-<pre><code>$ vi ~/.bash_profile
-$ source ~/.bash_profile
+<pre><code class="no-highlight">        $ vi ~/.bash_profile
+        $ source ~/.bash_profile
 </code></pre>
-</li>
-<li>
-<p>Next you will use Homebrew to install Go. The summary message at the end of the installation should indicate that it is installed in the /usr/local/Cellar/go/ directory. You will use the Go command 'install' to compile and install packages (called eggs in the Mynewt world) and dependencies. </p>
-<pre><code>$ brew install go
-==&gt; 
-...
-... 
-==&gt; *Summary*
-🍺  /usr/local/Cellar/go/1.5.1: 5330 files, 273M
+
+<ul>
+<li>Next you will use Homebrew to install Go. The summary message at the end of the installation should indicate that it is installed in the /usr/local/Cellar/go/ directory. You will use the Go command 'install' to compile and install packages (called eggs in the Mynewt world) and dependencies. </li>
+</ul>
+<pre><code class="no-highlight">        $ brew install go
+        ==&gt; 
+        ...
+        ... 
+        ==&gt; *Summary*
+        🍺  /usr/local/Cellar/go/1.5.1: 5330 files, 273M
 </code></pre>
+
 <p>Alternatively, you can download the Go package directly from (https://golang.org/dl/) instead of brewing it. Install it in /usr/local directory.</p>
-</li>
-</ul>
 <h4 id="creating-local-repository">Creating local repository<a class="headerlink" href="#creating-local-repository" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>You are ready to download the newt tool repository. You will use Go to copy the directory (currently the asf incubator directory). Be patient as it may take a minute or two. Check the directories installed.</p>
-<pre><code>$ go get git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
-$ ls
- bin    pkg    src
-$ ls src
-git-wip-us.apache.org   github.com      gopkg.in
-</code></pre>
-</li>
-<li>
-<p>Check that newt.go is in place.</p>
-<pre><code>$ ls $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt  
-Godeps          README.md       coding_style.txt    newt.go
-LICENSE         cli             design.txt
+<li>You are ready to download the newt tool repository. You will use Go to copy the directory (currently the asf incubator directory). Be patient as it may take a minute or two. Check the directories installed.</li>
+</ul>
+<pre><code class="no-highlight">        $ go get git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
+        $ ls
+         bin    pkg    src
+        $ ls src
+        git-wip-us.apache.org   github.com      gopkg.in
 </code></pre>
-</li>
+
+<ul>
+<li>Check that newt.go is in place.</li>
 </ul>
+<pre><code class="no-highlight">        $ ls $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt  
+        Godeps          README.md       coding_style.txt    newt.go
+        LICENSE         cli             design.txt
+</code></pre>
+
 <h4 id="building-the-newt-tool">Building the Newt tool<a class="headerlink" href="#building-the-newt-tool" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>You will use Go to run the newt.go program to build the newt tool. The command used is <code>go install</code> which compiles and writes the resulting executable to an output file named <code>newt</code>. It installs the results along with its dependencies in $GOPATH/bin.</p>
-<pre><code>$ cd $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
-$ go install
-$ ls "$GOPATH"/bin/
-godep       incubator-mynewt-newt.git     newt
+<li>You will use Go to run the newt.go program to build the newt tool. The command used is <code>go install</code> which compiles and writes the resulting executable to an output file named <code>newt</code>. It installs the results along with its dependencies in $GOPATH/bin.</li>
+</ul>
+<pre><code class="no-highlight">        $ cd $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
+        $ go install
+        $ ls &quot;$GOPATH&quot;/bin/
+        godep       incubator-mynewt-newt.git     newt
 </code></pre>
-</li>
-<li>
-<p>Try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.</p>
-</li>
+
+<ul>
+<li>Try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.</li>
 </ul>
 <p>Note: If you are going to be be modifying the newt tool itself often and wish to compile the program every time you call it, you may want to store the command in a variable in your .bash_profile. So type in <code>export newt="go run $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt/newt/go"</code> in your .bash_profile and execute it by calling <code>$newt</code> at the prompt instead of <code>newt</code>. Here, you use <code>go run</code> which runs the compiled binary directly without producing an executable. Don't forget to reload the updated bash profile by typing <code>source ~/.bash_profile</code> at the prompt! </p>
-<pre><code>    $ newt version
-    Newt version:  1.0
-    $ newt -h
-    Newt allows you to create your own embedded project based on the Mynewt
-    operating system. Newt provides both build and package management in a
-    single tool, which allows you to compose an embedded workspace, and set
-    of projects, and then build the necessary artifacts from those projects.
-    For more information on the Mynewt operating system, please visit
-    https://www.github.com/mynewt/documentation.
-
-    Please use the newt help command, and specify the name of the command
-    you want help for, for help on how to use a specific command
-
-    Usage:
-     newt [flags]
-     newt [command]
-
-    Examples:
-     newt
-     newt help [&lt;command-name&gt;]
-       For help on &lt;command-name&gt;.  If not specified, print this message.
-
-
-    Available Commands:
-     version     Display the Newt version number.
-     target      Set and view target information
-     egg         Commands to list and inspect eggs on a nest
-     nest        Commands to manage nests &amp; clutches (remote egg repositories)
-     help        Help about any command
-
-    Flags:
-     -h, --help=false: help for newt
-     -l, --loglevel="WARN": Log level, defaults to WARN.
-     -q, --quiet=false: Be quiet; only display error output.
-     -s, --silent=false: Be silent; don't output anything.
-     -v, --verbose=false: Enable verbose output when executing commands.
-
-
-    Use "newt help [command]" for more information about a command.
+<pre><code class="no-highlight">        $ newt version
+        Newt version:  1.0
+        $ newt -h
+        Newt allows you to create your own embedded project based on the Mynewt
+        operating system. Newt provides both build and package management in a
+        single tool, which allows you to compose an embedded workspace, and set
+        of projects, and then build the necessary artifacts from those projects.
+        For more information on the Mynewt operating system, please visit
+        https://www.github.com/mynewt/documentation.
+
+        Please use the newt help command, and specify the name of the command
+        you want help for, for help on how to use a specific command
+
+        Usage:
+         newt [flags]
+         newt [command]
+
+        Examples:
+         newt
+         newt help [&lt;command-name&gt;]
+           For help on &lt;command-name&gt;.  If not specified, print this message.
+
+
+        Available Commands:
+         version     Display the Newt version number.
+         target      Set and view target information
+         egg         Commands to list and inspect eggs on a nest
+         nest        Commands to manage nests &amp; clutches (remote egg repositories)
+         help        Help about any command
+
+        Flags:
+         -h, --help=false: help for newt
+         -l, --loglevel=&quot;WARN&quot;: Log level, defaults to WARN.
+         -q, --quiet=false: Be quiet; only display error output.
+         -s, --silent=false: Be silent; don't output anything.
+         -v, --verbose=false: Enable verbose output when executing commands.
+
+
+        Use &quot;newt help [command]&quot; for more information about a command.
 </code></pre>
+
 <ul>
 <li>Without creating a project repository you can't do a whole lot with the Newt tool. So you'll have to wait till you have downloaded a nest to try out the tool. </li>
 </ul>
 <h4 id="getting-the-debugger-ready">Getting the debugger ready<a class="headerlink" href="#getting-the-debugger-ready" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>Before you start building nests and hatching eggs, you need to do one final step in the environment preparation - install gcc / libc that can produce 32-bit executables. So, first install gcc. You will see the brew steps and a final summary confirming install.</p>
-<pre><code>$ brew install gcc
-...
-...
-==&gt; Summary
-🍺  /usr/local/Cellar/gcc/5.2.0: 1353 files, 248M
+<li>Before you start building nests and hatching eggs, you need to do one final step in the environment preparation - install gcc / libc that can produce 32-bit executables. So, first install gcc. You will see the brew steps and a final summary confirming install.</li>
+</ul>
+<pre><code class="no-highlight">        $ brew install gcc
+        ...
+        ...
+        ==&gt; Summary
+        🍺  /usr/local/Cellar/gcc/5.2.0: 1353 files, 248M
 </code></pre>
-</li>
-<li>
-<p>ARM maintains a pre-built GNU toolchain with a GCC source branch targeted at Embedded ARM Processors namely Cortex-R/Cortex-M processor families. Install the PX4 Toolchain and check the version installed. Make sure that the symbolic link installed by Homebrew points to the correct version of the debugger. If not, you can either change the symbolic link using the "ln -f -s" command or just go ahead and try with the version it points to!</p>
-<pre><code>$ brew tap PX4/homebrew-px4
-$ brew update
-$ brew install gcc-arm-none-eabi-49
-$ arm-none-eabi-gcc --version  
-arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288]
-Copyright (C) 2014 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-$ ls -al /usr/local/bin/arm-none-eabi-gdb
-lrwxr-xr-x  1 aditihilbert  admin  69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -&gt; /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb
+
+<ul>
+<li>ARM maintains a pre-built GNU toolchain with a GCC source branch targeted at Embedded ARM Processors namely Cortex-R/Cortex-M processor families. Install the PX4 Toolchain and check the version installed. Make sure that the symbolic link installed by Homebrew points to the correct version of the debugger. If not, you can either change the symbolic link using the "ln -f -s" command or just go ahead and try with the version it points to!</li>
+</ul>
+<pre><code class="no-highlight">        $ brew tap PX4/homebrew-px4
+        $ brew update
+        $ brew install gcc-arm-none-eabi-49
+        $ arm-none-eabi-gcc --version  
+        arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288]
+        Copyright (C) 2014 Free Software Foundation, Inc.
+        This is free software; see the source for copying conditions.  There is NO
+        warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+        $ ls -al /usr/local/bin/arm-none-eabi-gdb
+        lrwxr-xr-x  1 aditihilbert  admin  69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -&gt; /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb
 </code></pre>
+
 <p>Note: If no version is specified, brew will install the latest version available. MynewtOS will eventually work with multiple versions available including the latest releases. However, at present we have tested only with this version and recommend it for getting started. </p>
-</li>
-<li>
-<p>You have to install OpenOCD (Open On-Chip Debugger) which is an open-source software that will allow you to interface with the JTAG debug connector/adaptor for the Olimex board. It lets you program, debug, and test embedded target devices which, in this case, is the Olimex board. Use brew to install it. Brew adds a simlink /usr/local/bin/openocd to the openocd directory in the Cellar. For more on OpenOCD go to <a href="http://openocd.org">http://openocd.org</a>.</p>
-<pre><code>$ brew install open-ocd
-$ which openocd
-/usr/local/bin/openocd
-$ ls -l $(which openocd)
-lrwxr-xr-x  1 &lt;user&gt;  admin  36 Sep 17 16:22 /usr/local/bin/openocd -&gt; ../Cellar/open-ocd/0.9.0/bin/openocd
+<ul>
+<li>You have to install OpenOCD (Open On-Chip Debugger) which is an open-source software that will allow you to interface with the JTAG debug connector/adaptor for the Olimex board. It lets you program, debug, and test embedded target devices which, in this case, is the Olimex board. Use brew to install it. Brew adds a simlink /usr/local/bin/openocd to the openocd directory in the Cellar. For more on OpenOCD go to <a href="http://openocd.org">http://openocd.org</a>.</li>
+</ul>
+<pre><code class="no-highlight">        $ brew install open-ocd
+        $ which openocd
+        /usr/local/bin/openocd
+        $ ls -l $(which openocd)
+        lrwxr-xr-x  1 &lt;user&gt;  admin  36 Sep 17 16:22 /usr/local/bin/openocd -&gt; ../Cellar/open-ocd/0.9.0/bin/openocd
 </code></pre>
-</li>
-<li>
-<p>Proceed to the <a href="#building-test-code-on-simulator">Building test code on simulator</a> section.</p>
-</li>
+
+<ul>
+<li>Proceed to the <a href="#building-test-code-on-simulator">Building test code on simulator</a> section.</li>
 </ul>
 <h3 id="getting-your-ubuntu-machine-ready">Getting your Ubuntu machine Ready<a class="headerlink" href="#getting-your-ubuntu-machine-ready" title="Permanent link">&para;</a></h3>
 <h4 id="installing-some-prerequisites">Installing some prerequisites<a class="headerlink" href="#installing-some-prerequisites" title="Permanent link">&para;</a></h4>
 <ul>
-<li>Install git, libcurl, and the Go language if you do not have them already.<pre><code>$ sudo apt-get install git 
-$ sudo apt-get install libcurl4-gnutls-dev 
-$ sudo apt-get install golang
-</code></pre>
-</li>
+<li>Install git, libcurl, and the Go language if you do not have them already.</li>
 </ul>
+<pre><code class="no-highlight">        $ sudo apt-get install git 
+        $ sudo apt-get install libcurl4-gnutls-dev 
+        $ sudo apt-get install golang 
+</code></pre>
+
 <h4 id="creating-local-repository_1">Creating local repository<a class="headerlink" href="#creating-local-repository_1" title="Permanent link">&para;</a></h4>
 <ul>
 <li>
@@ -423,114 +451,120 @@ $ sudo apt-get install golang
 <p>bin contains executable commands.</p>
 </li>
 </ul>
+</li>
+</ul>
 <p>The GOPATH environment variable specifies the location of your workspace. First create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory where you will soon clone the newt tool repository.</p>
-<pre><code>$ cd $HOME
-$ mkdir -p dev/go  
-$ cd dev/go
-$ export GOPATH=$PWD
+<pre><code class="no-highlight">        $ cd $HOME
+        $ mkdir -p dev/go  
+        $ cd dev/go
+        $ export GOPATH=$PWD
 </code></pre>
+
 <p>Note that you need to add export statements to ~/.bashrc (or equivalent) to export variables permanently.</p>
-</li>
-<li>
-<p>You are ready to download the newt tool repository. You will use Go to copy the directory (currently the asf incubator directory). Be patient as it may take a minute or two. Check the directories installed.</p>
-<pre><code>$ go get git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
-$ ls
- bin    pkg    src
-$ ls src
-git-wip-us.apache.org   github.com      gopkg.in
-</code></pre>
-</li>
-<li>
-<p>Check that newt is in place.</p>
-<pre><code>$ ls $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt 
-Godeps          README.md       coding_style.txt    newt.go
-LICENSE         cli             design.txt
+<ul>
+<li>You are ready to download the newt tool repository. You will use Go to copy the directory (currently the asf incubator directory). Be patient as it may take a minute or two. Check the directories installed.</li>
+</ul>
+<pre><code class="no-highlight">        $ go get git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
+        $ ls
+         bin    pkg    src
+        $ ls src
+        git-wip-us.apache.org   github.com      gopkg.in
 </code></pre>
-</li>
+
+<ul>
+<li>Check that newt is in place.</li>
 </ul>
+<pre><code class="no-highlight">        $ ls $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt 
+        Godeps          README.md       coding_style.txt    newt.go
+        LICENSE         cli             design.txt
+</code></pre>
+
 <h4 id="building-the-newt-tool_1">Building the newt tool<a class="headerlink" href="#building-the-newt-tool_1" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>You will use Go to run the newt.go program to build the newt tool. The command used is  <code>go install</code> which compiles and writes the resulting executable to an output file named <code>newt</code>. It installs the results along with its dependencies in $GOPATH/bin.</p>
-<pre><code>$ cd $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
-$ go install
-$ ls "$GOPATH"/bin/
-godep       incubator-mynewt-newt.git     newt
+<li>You will use Go to run the newt.go program to build the newt tool. The command used is  <code>go install</code> which compiles and writes the resulting executable to an output file named <code>newt</code>. It installs the results along with its dependencies in $GOPATH/bin.</li>
+</ul>
+<pre><code class="no-highlight">        $ cd $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
+        $ go install
+        $ ls &quot;$GOPATH&quot;/bin/
+        godep       incubator-mynewt-newt.git     newt
 </code></pre>
-</li>
-<li>
-<p>Try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.</p>
-</li>
+
+<ul>
+<li>Try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.</li>
 </ul>
 <p>Note: If you are going to be be modifying the newt tool itself often and wish to compile the program every time you call it, you may want to store the command in a variable in your .bash_profile. So type in <code>export newt="go run $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt/newt/go"</code> in your ~/.bashrc (or equivalent) and execute it by calling <code>$newt</code> at the prompt instead of <code>newt</code>. Here, you use <code>go run</code> which runs the compiled binary directly without producing an executable.   </p>
-<pre><code>    $ newt version
-    Newt version:  1.0
-    $ newt -h
-    Newt allows you to create your own embedded project based on the Mynewt
-    operating system. Newt provides both build and package management in a
-    single tool, which allows you to compose an embedded workspace, and set
-    of projects, and then build the necessary artifacts from those projects.
-    For more information on the Mynewt operating system, please visit
-    https://www.github.com/mynewt/documentation.
-
-    Please use the newt help command, and specify the name of the command
-    you want help for, for help on how to use a specific command
-
-    Usage:
-     newt [flags]
-     newt [command]
-
-    Examples:
-     newt
-     newt help [&lt;command-name&gt;]
-       For help on &lt;command-name&gt;.  If not specified, print this message.
-
-
-    Available Commands:
-     version     Display the Newt version number.
-     target      Set and view target information
-     egg         Commands to list and inspect eggs on a nest
-     nest        Commands to manage nests &amp; clutches (remote egg repositories)
-     help        Help about any command
-
-    Flags:
-     -h, --help=false: help for newt
-     -l, --loglevel="WARN": Log level, defaults to WARN.
-     -q, --quiet=false: Be quiet; only display error output.
-     -s, --silent=false: Be silent; don't output anything.
-     -v, --verbose=false: Enable verbose output when executing commands.
-
-
-    Use "newt help [command]" for more information about a command.
+<pre><code class="no-highlight">        $ newt version
+        Newt version:  1.0
+        $ newt -h
+        Newt allows you to create your own embedded project based on the Mynewt
+        operating system. Newt provides both build and package management in a
+        single tool, which allows you to compose an embedded workspace, and set
+        of projects, and then build the necessary artifacts from those projects.
+        For more information on the Mynewt operating system, please visit
+        https://www.github.com/mynewt/documentation.
+
+        Please use the newt help command, and specify the name of the command
+        you want help for, for help on how to use a specific command
+
+        Usage:
+         newt [flags]
+         newt [command]
+
+        Examples:
+         newt
+         newt help [&lt;command-name&gt;]
+           For help on &lt;command-name&gt;.  If not specified, print this message.
+
+
+        Available Commands:
+         version     Display the Newt version number.
+         target      Set and view target information
+         egg         Commands to list and inspect eggs on a nest
+         nest        Commands to manage nests &amp; clutches (remote egg repositories)
+         help        Help about any command
+
+        Flags:
+         -h, --help=false: help for newt
+         -l, --loglevel=&quot;WARN&quot;: Log level, defaults to WARN.
+         -q, --quiet=false: Be quiet; only display error output.
+         -s, --silent=false: Be silent; don't output anything.
+         -v, --verbose=false: Enable verbose output when executing commands.
+
+
+        Use &quot;newt help [command]&quot; for more information about a command.
 </code></pre>
+
 <ul>
 <li>Without creating a project repository you can't do a whole lot with the Newt tool. So you'll have to wait till you have downloaded a nest to try out the tool. </li>
 </ul>
 <h4 id="getting-the-debugger-ready_1">Getting the debugger ready<a class="headerlink" href="#getting-the-debugger-ready_1" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>Before you start building nests and hatching eggs, you need to do one final step in the environment preparation - install gcc / libc that can produce 32-bit executables. You can install these as follows: </p>
-<pre><code>$ sudo apt-get install gcc-multilib libc6-i386
+<li>Before you start building nests and hatching eggs, you need to do one final step in the environment preparation - install gcc / libc that can produce 32-bit executables. You can install these as follows: </li>
+</ul>
+<pre><code class="no-highlight">        $ sudo apt-get install gcc-multilib libc6-i386
 </code></pre>
-</li>
-<li>
-<p>For the LED project on the Olimex hardware, you have to install gcc for AM 4.9.3.  This package can be installed with apt-get as documented below. The steps are explained in depth at <a href="https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded">https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded</a>.</p>
-<pre><code>$ sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi 
-$ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded 
-$ sudo apt-get update 
-$ sudo apt-get install gcc-arm-none-eabi
+
+<ul>
+<li>For the LED project on the Olimex hardware, you have to install gcc for AM 4.9.3.  This package can be installed with apt-get as documented below. The steps are explained in depth at <a href="https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded">https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded</a>.</li>
+</ul>
+<pre><code class="no-highlight">        $ sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi 
+        $ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded 
+        $ sudo apt-get update 
+        $ sudo apt-get install gcc-arm-none-eabi
 </code></pre>
-</li>
+
+<ul>
 <li>
 <p>And finally, you have to install OpenOCD (Open On-Chip Debugger) which is an open-source software that will allow you to interface with the JTAG debug connector/adaptor for the Olimex board. It lets you program, debug, and test embedded target devices which, in this case, is the Olimex board. You have to acquire OpenOCD 0.8.0. </p>
 <p>If you are running Ubuntu 15.x, then you are in luck and you can simply run: </p>
-<pre><code>$ sudo apt-get install openocd
+</li>
+</ul>
+<pre><code class="no-highlight">        $ sudo apt-get install openocd 
 </code></pre>
+
 <p>Other versions of Ubuntu may not have the correct version of openocd available.  In this case, you should download the openocd 0.8.0 package from <a href="https://launchpad.net/ubuntu/vivid/+source/openocd">https://launchpad.net/ubuntu/vivid/+source/openocd</a>. The direct link to the amd64 build is <a href="http://launchpadlibrarian.net/188260097/openocd_0.8.0-4_amd64.deb">http://launchpadlibrarian.net/188260097/openocd_0.8.0-4_amd64.deb</a>. </p>
-</li>
-<li>
-<p>Proceed to the <a href="#building-test-code-on-simulator">Building test code on simulator</a> section.</p>
-</li>
+<ul>
+<li>Proceed to the <a href="#building-test-code-on-simulator">Building test code on simulator</a> section.</li>
 </ul>
 <h3 id="getting-your-windows-machine-ready-for-simulated-target">Getting your Windows machine ready for simulated target<a class="headerlink" href="#getting-your-windows-machine-ready-for-simulated-target" title="Permanent link">&para;</a></h3>
 <p>The <code>newt</code> tool is the build software used to build Mynewt OS images or executables for any embedded hardware device/board, including the one for the current tutorial (STM32-E407 development board from Olimex). You can run the <code>newt</code> tool natively on a computer running any of the three Operating System machines - OSX, Linux, or Windows.</p>
@@ -565,38 +599,40 @@ environment variable.  To add to the PATH environment variable, right-click on t
 </ul>
 <h4 id="install-newtvm-tool">Install newtvm tool<a class="headerlink" href="#install-newtvm-tool" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>From your base user (home) directory, pull or clone the latest code from the newt repository into the <code>newt</code> directory. It includes the executable <code>newtvm.exe</code> for the newtvm tool in the <code>newtvm</code> directory.</p>
-<p>C:\Users\admin&gt; git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt newt</p>
-</li>
+<li>From your base user (home) directory, pull or clone the latest code from the newt repository into the <code>newt</code> directory. It includes the executable <code>newtvm.exe</code> for the newtvm tool in the <code>newtvm</code> directory.</li>
 </ul>
+<pre><code class="no-highlight">      C:\Users\admin&gt; git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt newt
+</code></pre>
+
 <p>The newtvm tool is what allows you to run programs in the Linux docker
 instance.  </p>
 <ul>
-<li>Run the Docker Quickstart Terminal application inside the Docker folder under Programs. You can find it by clicking Start button -&gt; All apps. By default, the Docker Toolbox installer creates a shortcut to this program on your desktop.  Wait until you see an ASCII art whale displayed in the terminal window and the Docker prompt given.  <pre><code>                  ##         .
-            ## ## ##        ==
-         ## ## ## ## ##    ===
-     /"""""""""""""""""\___/ ===
-~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
-   \______ o           __/
-     \    \         __/
-      \____\_______/
+<li>Run the Docker Quickstart Terminal application inside the Docker folder under Programs. You can find it by clicking Start button -&gt; All apps. By default, the Docker Toolbox installer creates a shortcut to this program on your desktop.  Wait until you see an ASCII art whale displayed in the terminal window and the Docker prompt given.  </li>
+</ul>
+<pre><code class="no-highlight">                          ##         .
+                    ## ## ##        ==
+                 ## ## ## ## ##    ===
+             /&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;\___/ ===
+        ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
+           \______ o           __/
+             \    \         __/
+              \____\_______/
 
- docker is configured to use the default machine with IP 192.168.99.100
- For help getting started, check out the docs at https://docs.docker.com
+         docker is configured to use the default machine with IP 192.168.99.100
+         For help getting started, check out the docs at https://docs.docker.com
 
- admin@dev1 MINGW64 ~ (master)
- $
+         admin@dev1 MINGW64 ~ (master)
+         $
 </code></pre>
-</li>
-</ul>
+
 <p>The first time you run this, it may take several minutes to complete. You will need to run the Docker Quickstart Terminal once each time you
 restart your computer.</p>
 <ul>
-<li>Open a command prompt (e.g., Windows-R, "cmd", enter). You execute the newt tool commands as though you were running newt in Linux, but you prefix each command with "newtvm".  For example:<pre><code>C:\Users\admin\newt\newtvm&gt; newtvm newt help
-</code></pre>
-</li>
+<li>Open a command prompt (e.g., Windows-R, "cmd", enter). You execute the newt tool commands as though you were running newt in Linux, but you prefix each command with "newtvm".  For example:</li>
 </ul>
+<pre><code class="no-highlight">        C:\Users\admin\newt\newtvm&gt; newtvm newt help
+</code></pre>
+
 <p>The newtvm tool will take a long time to run the first time you execute
 it.  The delay is due to the fact that the tool must download the mynewt
 docker instance.</p>
@@ -675,17 +711,20 @@ tutorial for a Windows machine assumes the specified folders.    </p>
 </li>
 </ul>
 <p>The GOPATH environment variable specifies the location of your workspace. First create a 'dev' directory and then a 'go' directory under it. Set the GOPATH environment variable to this directory and then proceed to create the directory for cloning the newt tool repository.</p>
-<pre><code>$ cd c:\
-$ mkdir dev\go
-$ cd dev\go
-</code></pre>
 </li>
-<li>
-<p>Set the following user environment variables using the steps outlined here.</p>
+</ul>
+<pre><code class="no-highlight">        $ cd c:\
+        $ mkdir dev\go
+        $ cd dev\go
+</code></pre>
+
 <ul>
-<li>GOPATH: C:\dev\go</li>
-<li>PATH: C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\bin;%GOPATH%\bin;C:\win-builds-x86_64\bin;C:\win-builds-i686\bin;C:\msys\bin</li>
+<li>Set the following user environment variables using the steps outlined here.</li>
 </ul>
+<pre><code class="no-highlight">    * GOPATH: C:\dev\go
+    * PATH: C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\bin;%GOPATH%\bin;C:\win-builds-x86_64\bin;C:\win-builds-i686\bin;C:\msys\bin
+</code></pre>
+
 <p>Steps:</p>
 <ol>
 <li>Right-click the start button</li>
@@ -695,110 +734,111 @@ $ cd dev\go
 <li>Click "Advanced system settings" in the left panel</li>
 <li>Click the "Envoronment Variables..." button</li>
 <li>There will be two sets of environment variables: user variables
-  in the upper half of the screen, and system variables in the lower
-  half.  Configuring the user variables is recommended and tested 
-  (though system variables will work as well).</li>
+      in the upper half of the screen, and system variables in the lower
+      half.  Configuring the user variables is recommended and tested 
+      (though system variables will work as well).</li>
 </ol>
-</li>
-<li>
-<p>Next, install godep. Note that the following command produces no output.</p>
-<pre><code>$ go get github.com/tools/godep
-</code></pre>
-</li>
-<li>
-<p>Set up the repository for the package building tool "newt" on your local machine. First create the appropriate directory for it and then clone the newt tool repository from the online apache repository (or its github.com mirror) into this newly created directory. Check the contents of the directory.</p>
-<pre><code>$ go get git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
-$ dir 
- bin    pkg    src
-$ dir src
-git-wip-us.apache.org   github.com      gopkg.in
-$ dir
-newt
-$ cd newt
-$ dir
-Godeps                  README.md               coding_style.txt        newt.go
-LICENSE                 cli                     design.txt
+<ul>
+<li>Next, install godep. Note that the following command produces no output.</li>
+</ul>
+<pre><code class="no-highlight">        $ go get github.com/tools/godep 
 </code></pre>
-</li>
-<li>
-<p>Check that newt is in place.</p>
-<pre><code>$ dir $GOPATH\src\git-wip-us.apache.org\repos\asf\incubator-mynewt-newt.git\newt 
-Godeps          README.md       coding_style.txt    newt.go
-LICENSE         cli             design.txt
+
+<ul>
+<li>Set up the repository for the package building tool "newt" on your local machine. First create the appropriate directory for it and then clone the newt tool repository from the online apache repository (or its github.com mirror) into this newly created directory. Check the contents of the directory.</li>
+</ul>
+<pre><code class="no-highlight">        $ go get git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
+        $ dir 
+         bin    pkg    src
+        $ dir src
+        git-wip-us.apache.org   github.com      gopkg.in
+        $ dir
+        newt
+        $ cd newt
+        $ dir
+        Godeps                  README.md               coding_style.txt        newt.go
+        LICENSE                 cli                     design.txt
 </code></pre>
-</li>
+
+<ul>
+<li>Check that newt is in place.</li>
 </ul>
+<pre><code class="no-highlight">        $ dir $GOPATH\src\git-wip-us.apache.org\repos\asf\incubator-mynewt-newt.git\newt 
+        Godeps          README.md       coding_style.txt    newt.go
+        LICENSE         cli             design.txt
+</code></pre>
+
 <h4 id="building-the-newt-tool_2">Building the newt tool<a class="headerlink" href="#building-the-newt-tool_2" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>You will use Go to run the newt.go program to build the newt tool. The command used is  <code>go install</code> which compiles and writes the resulting executable to an output file named <code>newt</code>. It installs the results along with its dependencies in $GOPATH/bin.</p>
-<pre><code>$ go install
-$ ls "$GOPATH"/bin/
-godep       incubator-mynewt-newt.git     newt
+<li>You will use Go to run the newt.go program to build the newt tool. The command used is  <code>go install</code> which compiles and writes the resulting executable to an output file named <code>newt</code>. It installs the results along with its dependencies in $GOPATH/bin.</li>
+</ul>
+<pre><code class="no-highlight">        $ go install
+        $ ls &quot;$GOPATH&quot;/bin/
+        godep       incubator-mynewt-newt.git     newt
 </code></pre>
-</li>
-<li>
-<p>Try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.</p>
+
+<ul>
+<li>Try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.</li>
+</ul>
 <p>Note: If you are going to be be modifying the newt tool itself often and wish to compile the program every time you call it, you may want to define the newt environment variable that allows you to execute the command via <code>%newt%</code>. Use <code>set newt=go run %GOPATH%\src\github.com\mynewt\newt\newt.go</code> or set it from the GUI. Here, you use <code>go run</code> which runs the compiled binary directly without producing an executable.</p>
-<pre><code>$ newt version
-Newt version:  1.0
-$ newt -h
-Newt allows you to create your own embedded project based on the Mynewt
-operating system. Newt provides both build and package management in a
-single tool, which allows you to compose an embedded workspace, and set
-of projects, and then build the necessary artifacts from those projects.
-For more information on the Mynewt operating system, please visit
-https://www.github.com/mynewt/documentation.
-
-Please use the newt help command, and specify the name of the command
-you want help for, for help on how to use a specific command
-
-Usage:
- newt [flags]
- newt [command]
-
-Examples:
- newt
- newt help [&lt;command-name&gt;]
-   For help on &lt;command-name&gt;.  If not specified, print this message.
-
-Available Commands:
- version     Display the Newt version number.
- target      Set and view target information
- egg         Commands to list and inspect eggs on a nest
- nest        Commands to manage nests &amp; clutches (remote egg repositories)
- help        Help about any command
-
-Flags:
- -h, --help=false: help for newt
- -l, --loglevel="WARN": Log level, defaults to WARN.
- -q, --quiet=false: Be quiet; only display error output.
- -s, --silent=false: Be silent; don't output anything.
- -v, --verbose=false: Enable verbose output when executing commands.
-
-Use "newt help [command]" for more information about a command.
+<pre><code class="no-highlight">        $ newt version
+        Newt version:  1.0
+        $ newt -h
+        Newt allows you to create your own embedded project based on the Mynewt
+        operating system. Newt provides both build and package management in a
+        single tool, which allows you to compose an embedded workspace, and set
+        of projects, and then build the necessary artifacts from those projects.
+        For more information on the Mynewt operating system, please visit
+        https://www.github.com/mynewt/documentation.
+
+        Please use the newt help command, and specify the name of the command
+        you want help for, for help on how to use a specific command
+
+        Usage:
+         newt [flags]
+         newt [command]
+
+        Examples:
+         newt
+         newt help [&lt;command-name&gt;]
+           For help on &lt;command-name&gt;.  If not specified, print this message.
+
+
+        Available Commands:
+         version     Display the Newt version number.
+         target      Set and view target information
+         egg         Commands to list and inspect eggs on a nest
+         nest        Commands to manage nests &amp; clutches (remote egg repositories)
+         help        Help about any command
+
+        Flags:
+         -h, --help=false: help for newt
+         -l, --loglevel=&quot;WARN&quot;: Log level, defaults to WARN.
+         -q, --quiet=false: Be quiet; only display error output.
+         -s, --silent=false: Be silent; don't output anything.
+         -v, --verbose=false: Enable verbose output when executing commands.
+
+
+        Use &quot;newt help [command]&quot; for more information about a command.
 </code></pre>
-</li>
-<li>
-<p>Without creating a project repository you can't do a whole lot with the Newt tool. So you'll have to wait till you have downloaded a nest to try out the tool. </p>
-</li>
+
+<ul>
+<li>Without creating a project repository you can't do a whole lot with the Newt tool. So you'll have to wait till you have downloaded a nest to try out the tool. </li>
 </ul>
 <h4 id="getting-the-debugger-ready_2">Getting the debugger ready<a class="headerlink" href="#getting-the-debugger-ready_2" title="Permanent link">&para;</a></h4>
 <ul>
-<li>
-<p>Use Zadig to configure the USB driver for your Olimex debugger.  If your debugger is already set up, you can skip this step.</p>
+<li>Use Zadig to configure the USB driver for your Olimex debugger.  If your debugger is already set up, you can skip this step.</li>
+</ul>
 <ol>
 <li>Plug in your Olimex debugger.</li>
 <li>Start Zadig.</li>
-<li>Check the Options -&gt; List All Devices checkbox.</li>
+<li>Check the Options -&gt; List All Devices checkbox.    </li>
 <li>Select "Olimex OpenOCD JTAG ARM-USB-TINY-H" in the dropdown menu.</li>
 <li>Select the "WinUSB" driver.</li>
 <li>Click the "Install Driver" button.</li>
 </ol>
-</li>
-<li>
-<p>Proceed to the section on how to <a href="#using-sram-to-make-led-blink">make an LED blink</a> section.</p>
-</li>
+<ul>
+<li>Proceed to the section on how to <a href="#using-sram-to-make-led-blink">make an LED blink</a> section.</li>
 </ul>
 <h3 id="building-test-code-on-simulator">Building test code on simulator<a class="headerlink" href="#building-test-code-on-simulator" title="Permanent link">&para;</a></h3>
 <p>Note: On a Windows computer, the simulator can be run only in a Linux virtual environment. Make sure you have installed the Docker instance as outlined in <a href="#getting-your-windows-machine-ready-for-simulated-target">an earlier section</a>. Consequently, all <code>newt</code> commands must be prefaced with <code>newtvm</code>.</p>
@@ -806,139 +846,140 @@ Use "newt help [command]" for more information about a command.
 <li>
 <p>First, you have to create a repository for the project i.e. build your first nest! Go to ~/dev (or your base user directory on a Windows machine)and clone the larva repository from the apache git repository into a local directory named <code>larva</code>.</p>
 <p>Substitute DOS commands for Unix commands as necessary in the following steps if your machine is running Windows. The newt tool commands do not change.</p>
-<pre><code>$ cd ~/dev 
-$ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git larva
-$ ls
-go  larva
-$ cd larva
-$ ls
-LICENSE     clutch.yml  hw      nest.yml      project
-README.md   compiler    libs        net       scripts
+</li>
+</ol>
+<pre><code class="no-highlight">        $ cd ~/dev 
+        $ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git larva
+        $ ls
+        go  larva
+        $ cd larva
+        $ ls
+        LICENSE     clutch.yml  hw      nest.yml      project
+        README.md   compiler    libs        net       scripts
 </code></pre>
+
 <p>On Windows, open a command prompt (e.g., Windows-R, "cmd", enter) and work from your home directory:</p>
-<pre><code>C:\Users\admin&gt; git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git larva
-C:\Users\admin&gt; cd larva
-C:\Users\admin\larva&gt; dir
-Volume in drive C is Windows
-Volume Serial Number is 4CBB-0920
-
-Directory of C:\Users\admin\larva
-
-&lt;DIR&gt;          .
-&lt;DIR&gt;          ..
-            76 .gitignore
-             0 .gitmodules
-               .nest
-         6,133 clutch.yml
-&lt;DIR&gt;          compiler
-&lt;DIR&gt;          hw
-&lt;DIR&gt;          libs
-        11,560 LICENSE
-            20 nest.yml
-&lt;DIR&gt;          net
-&lt;DIR&gt;          project
-         2,263 README.md
-&lt;DIR&gt;          scripts
-6 File(s)         20,052 bytes
-9 Dir(s)  90,723,442,688 bytes free
+<pre><code class="no-highlight">        C:\Users\admin&gt; git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git larva
+        C:\Users\admin&gt; cd larva
+        C:\Users\admin\larva&gt; dir
+        Volume in drive C is Windows
+        Volume Serial Number is 4CBB-0920
+
+        Directory of C:\Users\admin\larva
+
+        &lt;DIR&gt;          .
+        &lt;DIR&gt;          ..
+                    76 .gitignore
+                     0 .gitmodules
+                       .nest
+                 6,133 clutch.yml
+        &lt;DIR&gt;          compiler
+        &lt;DIR&gt;          hw
+        &lt;DIR&gt;          libs
+                11,560 LICENSE
+                    20 nest.yml
+        &lt;DIR&gt;          net
+        &lt;DIR&gt;          project
+                 2,263 README.md
+        &lt;DIR&gt;          scripts
+        6 File(s)         20,052 bytes
+        9 Dir(s)  90,723,442,688 bytes free
 </code></pre>
-</li>
-<li>
-<p>You will now create a new target using the newt tool. You can either use the compiled binary <code>newt</code> or run the newt.go program using <code>$newt</code> (assuming you have stored the command in a variable in your .bash_profile or .bashrc). When you do a <code>newt target show</code> or <code>$newt target show</code> it should list all the projects you have created so far. </p>
-<pre><code>$ newt target create sim_test
-Creating target sim_test
-Target sim_test sucessfully created!
-$ newt target show
-sim_test
-    name: sim_test
-    arch: sim
+
+<p>2.  You will now create a new target using the newt tool. You can either use the compiled binary <code>newt</code> or run the newt.go program using <code>$newt</code> (assuming you have stored the command in a variable in your .bash_profile or .bashrc). When you do a <code>newt target show</code> or <code>$newt target show</code> it should list all the projects you have created so far. </p>
+<pre><code class="no-highlight">        $ newt target create sim_test
+        Creating target sim_test
+        Target sim_test sucessfully created!
+        $ newt target show
+        sim_test
+            name: sim_test
+            arch: sim
 </code></pre>
+
 <p>Remember, on a Windows machine you will have to preface <code>newt</code> with <code>newtvm</code>!</p>
-<pre><code>C:\Users\admin\larva&gt;newtvm newt target create sim_test
+<pre><code class="no-highlight">        C:\Users\admin\larva&gt;newtvm newt target create sim_test
 </code></pre>
-</li>
-<li>
-<p>Now continue to populate and build out the sim project.</p>
-<pre><code>$ newt target set sim_test project=test
-Target sim_test successfully set project to test
-$ newt target set sim_test compiler_def=debug
-Target sim_test successfully set compiler_def to debug
-$ newt target set sim_test bsp=hw/bsp/native
-Target sim_test successfully set bsp to hw/bsp/native
-$ newt target set sim_test compiler=sim
-Target sim_test successfully set compiler to sim
-$ newt target show sim_test
-sim_test
-    arch: sim
-    project: test
-    compiler_def: debug
-    bsp: hw/bsp/native
-    compiler: sim
-    name: sim_test
+
+<p>3. Now continue to populate and build out the sim project.</p>
+<pre><code class="no-highlight">        $ newt target set sim_test project=test
+        Target sim_test successfully set project to test
+        $ newt target set sim_test compiler_def=debug
+        Target sim_test successfully set compiler_def to debug
+        $ newt target set sim_test bsp=hw/bsp/native
+        Target sim_test successfully set bsp to hw/bsp/native
+        $ newt target set sim_test compiler=sim
+        Target sim_test successfully set compiler to sim
+        $ newt target show sim_test
+        sim_test
+            arch: sim
+            project: test
+            compiler_def: debug
+            bsp: hw/bsp/native
+            compiler: sim
+            name: sim_test
 </code></pre>
+
 <p>Again remember to preface <code>newt</code> with <code>newtvm</code>on a Windows machine as shown below. Continue to fill out all the project attributes.</p>
-<pre><code>C:\Users\admin\larva&gt;newtvm newt target set sim_test project=test
-Target sim_test successfully set project to test
+<pre><code class="no-highlight">        C:\Users\admin\larva&gt;newtvm newt target set sim_test project=test
+        Target sim_test successfully set project to test
 </code></pre>
-</li>
-<li>
-<p>Configure newt to use the gnu build tools native to OS X or linux. In order for sim to work properly, it needs to be using 32-bit gcc (gcc-5). Replace 
+
+<p>4. Configure newt to use the gnu build tools native to OS X or linux. In order for sim to work properly, it needs to be using 32-bit gcc (gcc-5). Replace 
 ~/dev/larva/compiler/sim/compiler.yml with the compiler/sim/osx-compiler.yml or linux-compiler.yml file, depending on the system. On a Windows machine follow the instruction for the Linux machine as you are running commands in a Linux VM.</p>
 <p>For a Mac OS X environment:</p>
-<pre><code>$ cp compiler/sim/osx-compiler.yml compiler/sim/compiler.yml
+<pre><code class="no-highlight">        $ cp compiler/sim/osx-compiler.yml compiler/sim/compiler.yml 
 </code></pre>
+
 <p>For a Linux machine:</p>
-<pre><code>$ cp compiler/sim/linux-compiler.yml compiler/sim/compiler.yml
+<pre><code class="no-highlight">        $ cp compiler/sim/linux-compiler.yml compiler/sim/compiler.yml
 </code></pre>
-</li>
-<li>
-<p>Next, create (hatch!) the eggs for this project using the newt tool - basically, build the packages for it. You can specify the VERBOSE option if you want to see the gory details. Always remember to preface <code>newt</code> with <code>newtvm</code>on a Windows machine.</p>
-<pre><code>$ newt target build sim_test
-Successfully run!
+
+<p>5. Next, create (hatch!) the eggs for this project using the newt tool - basically, build the packages for it. You can specify the VERBOSE option if you want to see the gory details. Always remember to preface <code>newt</code> with <code>newtvm</code>on a Windows machine.</p>
+<pre><code class="no-highlight">        $ newt target build sim_test
+        Successfully run!
 </code></pre>
+
 <p>You can specify the VERBOSE option if you want to see the gory details.</p>
-<pre><code>$newt -l VERBOSE target build sim_test
-2015/09/29 09:46:12 [INFO] Building project test
-2015/09/29 09:46:12 [INFO] Loading Package /Users/aditihilbert/dev/larva/libs//bootutil...
-2015/09/29 09:46:12 [INFO] Loading Package /Users/aditihilbert/dev/larva/libs//cmsis-core...
-2015/09/29 09:46:12 [INFO] Loading Package /Users/aditihilbert/dev/larva/libs//ffs..
-...
-Successfully run!
+<pre><code class="no-highlight">        $newt -l VERBOSE target build sim_test
+        2015/09/29 09:46:12 [INFO] Building project test
+        2015/09/29 09:46:12 [INFO] Loading Package /Users/aditihilbert/dev/larva/libs//bootutil...
+        2015/09/29 09:46:12 [INFO] Loading Package /Users/aditihilbert/dev/larva/libs//cmsis-core...
+        2015/09/29 09:46:12 [INFO] Loading Package /Users/aditihilbert/dev/larva/libs//ffs..
+        ...
+        Successfully run!
 </code></pre>
-</li>
-<li>
-<p>Try running the test suite executable inside this project and enjoy your first successful hatch.</p>
-<pre><code>$ newt ./project/test/bin/sim_test/test.elf
-[pass] os_mempool_test_suite/os_mempool_test_case
-[pass] os_mutex_test_suite/os_mutex_test_basic
-[pass] os_mutex_test_suite/os_mutex_test_case_1
-[pass] os_mutex_test_suite/os_mutex_test_case_2
-[pass] os_sem_test_suite/os_sem_test_basic
-[pass] os_sem_test_suite/os_sem_test_case_1
-[pass] os_sem_test_suite/os_sem_test_case_2
-[pass] os_sem_test_suite/os_sem_test_case_3
-[pass] os_sem_test_suite/os_sem_test_case_4
-[pass] os_mbuf_test_suite/os_mbuf_test_case_1
-[pass] os_mbuf_test_suite/os_mbuf_test_case_2
-[pass] os_mbuf_test_suite/os_mbuf_test_case_3
-[pass] gen_1_1/ffs_test_unlink
-[pass] gen_1_1/ffs_test_rename
-[pass] gen_1_1/ffs_test_truncate
-[pass] gen_1_1/ffs_test_append
-[pass] gen_1_1/ffs_test_read
-[pass] gen_1_1/ffs_test_overwrite_one
-[pass] gen_1_1/ffs_test_overwrite_two
-[pass] gen_1_1/ffs_test_overwrite_three
-...
-...
-[pass] boot_test_main/boot_test_vb_ns_11
+
+<p>6. Try running the test suite executable inside this project and enjoy your first successful hatch.</p>
+<pre><code class="no-highlight">        $ newt ./project/test/bin/sim_test/test.elf
+        [pass] os_mempool_test_suite/os_mempool_test_case
+        [pass] os_mutex_test_suite/os_mutex_test_basic
+        [pass] os_mutex_test_suite/os_mutex_test_case_1
+        [pass] os_mutex_test_suite/os_mutex_test_case_2
+        [pass] os_sem_test_suite/os_sem_test_basic
+        [pass] os_sem_test_suite/os_sem_test_case_1
+        [pass] os_sem_test_suite/os_sem_test_case_2
+        [pass] os_sem_test_suite/os_sem_test_case_3
+        [pass] os_sem_test_suite/os_sem_test_case_4
+        [pass] os_mbuf_test_suite/os_mbuf_test_case_1
+        [pass] os_mbuf_test_suite/os_mbuf_test_case_2
+        [pass] os_mbuf_test_suite/os_mbuf_test_case_3
+        [pass] gen_1_1/ffs_test_unlink
+        [pass] gen_1_1/ffs_test_rename
+        [pass] gen_1_1/ffs_test_truncate
+        [pass] gen_1_1/ffs_test_append
+        [pass] gen_1_1/ffs_test_read
+        [pass] gen_1_1/ffs_test_overwrite_one
+        [pass] gen_1_1/ffs_test_overwrite_two
+        [pass] gen_1_1/ffs_test_overwrite_three
+        ...
+        ...
+        [pass] boot_test_main/boot_test_vb_ns_11
 </code></pre>
-</li>
-</ol>
+
 <h3 id="using-sram-to-make-led-blink">Using SRAM to make LED blink<a class="headerlink" href="#using-sram-to-make-led-blink" title="Permanent link">&para;</a></h3>
 <p>You are here because you want to build an image to be run from internal SRAM on the Olimex board.</p>
 <h4 id="preparing-the-software">Preparing the Software<a class="headerlink" href="#preparing-the-software" title="Permanent link">&para;</a></h4>
-<ol>
+<ul>
 <li>
 <p>Make sure the PATH environment variable includes the $HOME/dev/go/bin directory (or C:\%GOPATH%\bin on Windows machine). </p>
 <p>Substitute DOS commands for Unix commands as necessary in the following steps if your machine is running Windows (e.g. <code>cd dev\go</code> instead of <code>cd dev/go</code>). The newt tool commands do not change.</p>
@@ -946,87 +987,95 @@ Successfully run!
 <li>
 <p>If you have cloned the larva repository for the simulator test in the previous section you can skip this step. Otherwise, you have to create a repository for the project i.e. build your first nest! Go to ~/dev and clone the larva repository from the apache git repository into a local directory named <code>larva</code>.</p>
 <p>Substitute DOS commands for Unix commands as necessary in the following steps if your machine is running Windows. The newt tool commands do not change.</p>
-<pre><code>$ cd ~/dev 
-$ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git larva
-$ ls
-go  larva
-$ cd larva
-$ ls
-LICENSE     clutch.yml  hw      nest.yml      project
-README.md   compiler    libs        net       scripts
-</code></pre>
 </li>
+</ul>
+<pre><code class="no-highlight">        $ cd ~/dev 
+        $ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git larva
+        $ ls
+        go  larva
+        $ cd larva
+        $ ls
+        LICENSE     clutch.yml  hw      nest.yml      project
+        README.md   compiler    libs        net       scripts
+</code></pre>
+
+<ul>
 <li>
 <p>You first have to create a repository for the project. Go to the ~dev/larva directory and build out a second project inside larva. The project name is "blinky", in keeping with the objective. Starting with the target name, you have to specify the different aspects of the project to pull the appropriate eggs and build the right package for the board. In this case that means setting the architecture (arch), compiler, board support package (bsp), project, and compiler mode.</p>
-</li>
-</ol>
 <p>Remember to prefix each command with "newtvm" if you are executing the newt command in a Linux virtual machine on your Windows box!</p>
-<pre><code>    $ newt target create blinky
-    Creating target blinky
-    Target blinky sucessfully created!
-    $ newt target set blinky arch=cortex_m4
-    Target blinky successfully set arch to arm
-    $ newt target set blinky compiler=arm-none-eabi-m4
-    Target blinky successfully set compiler to arm-none-eabi-m4
-    $ newt target set blinky project=blinky
-    Target blinky successfully set project to blinky
-    $ newt target set blinky compiler_def=debug
-    Target blinky successfully set compiler_def to debug
-    $ newt target set blinky bsp=hw/bsp/olimex_stm32-e407_devboard
-    Target blinky successfully set bsp to hw/bsp/olimex_stm32-e407_devboard
-    $ newt target show blinky
-    blinky
-        compiler: arm-none-eabi-m4
-        project: blinky
-        compiler_def: debug
-        bsp: hw/bsp/olimex_stm32-e407_devboard
-        name: blinky
-        arch: cortex_m4
+</li>
+</ul>
+<pre><code class="no-highlight">        $ newt target create blinky
+        Creating target blinky
+        Target blinky sucessfully created!
+        $ newt target set blinky arch=cortex_m4
+        Target blinky successfully set arch to arm
+        $ newt target set blinky compiler=arm-none-eabi-m4
+        Target blinky successfully set compiler to arm-none-eabi-m4
+        $ newt target set blinky project=blinky
+        Target blinky successfully set project to blinky
+        $ newt target set blinky compiler_def=debug
+        Target blinky successfully set compiler_def to debug
+        $ newt target set blinky bsp=hw/bsp/olimex_stm32-e407_devboard
+        Target blinky successfully set bsp to hw/bsp/olimex_stm32-e407_devboard
+        $ newt target show blinky
+        blinky
+            compiler: arm-none-eabi-m4
+            project: blinky
+            compiler_def: debug
+            bsp: hw/bsp/olimex_stm32-e407_devboard
+            name: blinky
+            arch: cortex_m4
 </code></pre>
-<ol>
+
+<ul>
 <li>
 <p>Now you have to build the image. The linker script within the <code>hw/bsp/olimex_stm32-e407_devboard</code> egg builds an image for flash memory by default. Since you want an image for the SRAM, you need to switch that script with <code>run_from_sram.ld</code> in order to get the egg to produce an image for SRAM. <font color="red"> We are working on making it easier to specify where the executable will be run from for a particular project and automatically choose the correct linker scripts and generate the appropriate image. It will be specified as a project identity e.g. bootloader, RAM, flash (default) and the target will build accordingly. </font>. </p>
 <p>Once the target is built, you can find the executable "blinky.elf" in the project directory at ~/dev/larva/project/blinky/bin/blinky. It's a good idea to take a little time to understand the directory structure.</p>
-<pre><code>$ cd ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard
-$ diff olimex_stm32-e407_devboard.ld run_from_sram.ld
-$ cp run_from_sram.ld olimex_stm32-e407_devboard.ld
-$ cd ~/dev/larva/project/blinky/bin/blinky
-$ newt target build blinky
-Building target blinky (project = blinky)
-Compiling case.c
-Compiling suite.c
-...
-Successfully run!
-$ ls
-LICENSE     clutch.yml  hw      nest.yml    project
-README.md   compiler    libs        net     scripts
-$ cd project
-$ ls
-bin2img     bletest     blinky      boot        ffs2native  test
-$ cd blinky
-$ ls
-bin     blinky.yml  egg.yml     src
-$ cd bin
-$ ls
-blinky
-$ cd blinky
-$ ls
-blinky.elf  blinky.elf.bin  blinky.elf.cmd  blinky.elf.lst  blinky.elf.map
-</code></pre>
 </li>
+</ul>
+<pre><code class="no-highlight">        $ cd ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard
+        $ diff olimex_stm32-e407_devboard.ld run_from_sram.ld
+        $ cp run_from_sram.ld olimex_stm32-e407_devboard.ld
+        $ cd ~/dev/larva/project/blinky/bin/blinky
+        $ newt target build blinky
+        Building target blinky (project = blinky)
+        Compiling case.c
+        Compiling suite.c
+        ...
+        Successfully run!
+        $ ls
+        LICENSE     clutch.yml  hw      nest.yml    project
+        README.md   compiler    libs        net     scripts
+        $ cd project
+        $ ls
+        bin2img     bletest     blinky      boot        ffs2native  test
+        $ cd blinky
+        $ ls
+        bin     blinky.yml  egg.yml     src
+        $ cd bin
+        $ ls
+        blinky
+        $ cd blinky
+        $ ls
+        blinky.elf  blinky.elf.bin  blinky.elf.cmd  blinky.elf.lst  blinky.elf.map
+</code></pre>
+
+<ul>
 <li>
 <p>Check that you have all the scripts needed to get OpenOCD up and talking with the project's specific hardware. Depending on your system (Ubuntu, Windows) you may already have the scripts in your <code>/usr/share/openocd/scripts/</code> directory as they may have been part of the openocd download. If yes, you are all set and can proceed to preparing the hardware.</p>
-</li>
-</ol>
 <p>Otherwise check the <code>~/dev/larva/hw/bsp/olimex_stm32-e407_devboard</code> directory for a file named <code>f407.cfg</code>. That is the config we will use to talk to this specific hardware using OpenOCD. You are all set if you see it.</p>
-<pre><code>    $ ls ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard
-    bin                 olimex_stm32-e407_devboard_debug.sh
-    boot-olimex_stm32-e407_devboard.ld  olimex_stm32-e407_devboard_download.sh
-    egg.yml                 run_from_flash.ld
-    f407.cfg                run_from_loader.ld
-    include                 run_from_sram.ld
-    olimex_stm32-e407_devboard.ld       src
+</li>
+</ul>
+<pre><code class="no-highlight">        $ ls ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard
+        bin                 olimex_stm32-e407_devboard_debug.sh
+        boot-olimex_stm32-e407_devboard.ld  olimex_stm32-e407_devboard_download.sh
+        egg.yml                 run_from_flash.ld
+        f407.cfg                run_from_loader.ld
+        include                 run_from_sram.ld
+        olimex_stm32-e407_devboard.ld       src
 </code></pre>
+
 <h4 id="preparing-the-hardware-to-boot-from-embedded-sram">Preparing the hardware to boot from embedded SRAM<a class="headerlink" href="#preparing-the-hardware-to-boot-from-embedded-sram" title="Permanent link">&para;</a></h4>
 <ol>
 <li>
@@ -1048,232 +1097,235 @@ blinky.elf  blinky.elf.bin  blinky.elf.cmd  blinky.elf.lst  blinky.elf.map
 </li>
 </ol>
 <h4 id="lets-go">Let's Go!<a class="headerlink" href="#lets-go" title="Permanent link">&para;</a></h4>
-<ol>
-<li>
-<p>Make sure you are in the blinky project directory with the blinky.elf executable. Run the debug command in the newt tool. You should see some status messages are shown below. There is an inbuilt <code>-c "reset halt"</code> flag that tells it to halt after opening the session.</p>
-<pre><code>$ cd dev/larva/project/blinky/bin/blinky
-$ newt target debug blinky
-Debugging with /Users/aditihilbert/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_debug.sh blinky
-Debugging /Users/aditihilbert/dev/larva/project/blinky/bin/blinky/blinky.elf
-GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
-Copyright (C) 2014 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
-and "show warranty" for details.
-This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
-Type "show configuration" for configuration details.
-For bug reporting instructions, please see:
-&lt;http://www.gnu.org/software/gdb/bugs/&gt;.
-Find the GDB manual and other documentation resources online at:
-&lt;http://www.gnu.org/software/gdb/documentation/&gt;.
-For help, type "help".
-Type "apropos word" to search for commands related to "word"...
-Reading symbols from /Users/aditihilbert/dev/larva/project/blinky/bin/        blinky/blinky.elf...done.
-Open On-Chip Debugger 0.8.0 (2015-09-22-18:21)
-Licensed under GNU GPL v2
-For bug reports, read
-    http://openocd.sourceforge.net/doc/doxygen/bugs.html
-Info : only one transport option; autoselect 'jtag'
-adapter speed: 1000 kHz
-adapter_nsrst_delay: 100
-jtag_ntrst_delay: 100
-Warn : target name is deprecated use: 'cortex_m'
-DEPRECATED! use 'cortex_m' not 'cortex_m3'
-cortex_m reset_config sysresetreq
-Info : clock speed 1000 kHz
-Info : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
-Info : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020, part: 0x6413, ver: 0x0)
-Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints
-Info : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
-Info : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020, part: 0x6413, ver: 0x0)
-target state: halted
-target halted due to debug-request, current mode: Thread 
-xPSR: 0x01000000 pc: 0x20000250 msp: 0x10010000
-Info : accepting 'gdb' connection from 3333
-Info : device id = 0x10036413
-Info : flash size = 1024kbytes
-Reset_Handler () at startup_STM32F40x.s:199
-199     ldr    r1, =__etext
+<ul>
+<li>Make sure you are in the blinky project directory with the blinky.elf executable. Run the debug command in the newt tool. You should see some status messages are shown below. There is an inbuilt <code>-c "reset halt"</code> flag that tells it to halt after opening the session.</li>
+</ul>
+<pre><code class="no-highlight">        $ cd dev/larva/project/blinky/bin/blinky
+        $ newt target debug blinky
+        Debugging with /Users/aditihilbert/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_debug.sh blinky
+        Debugging /Users/aditihilbert/dev/larva/project/blinky/bin/blinky/blinky.elf
+        GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
+        Copyright (C) 2014 Free Software Foundation, Inc.
+        License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
+        This is free software: you are free to change and redistribute it.
+        There is NO WARRANTY, to the extent permitted by law.  Type &quot;show copying&quot;
+        and &quot;show warranty&quot; for details.
+        This GDB was configured as &quot;--host=x86_64-apple-darwin10 --target=arm-none-eabi&quot;.
+        Type &quot;show configuration&quot; for configuration details.
+        For bug reporting instructions, please see:
+        &lt;http://www.gnu.org/software/gdb/bugs/&gt;.
+        Find the GDB manual and other documentation resources online at:
+        &lt;http://www.gnu.org/software/gdb/documentation/&gt;.
+        For help, type &quot;help&quot;.
+        Type &quot;apropos word&quot; to search for commands related to &quot;word&quot;...
+        Reading symbols from /Users/aditihilbert/dev/larva/project/blinky/bin/        blinky/blinky.elf...done.
+        Open On-Chip Debugger 0.8.0 (2015-09-22-18:21)
+        Licensed under GNU GPL v2
+        For bug reports, read
+            http://openocd.sourceforge.net/doc/doxygen/bugs.html
+        Info : only one transport option; autoselect 'jtag'
+        adapter speed: 1000 kHz
+        adapter_nsrst_delay: 100
+        jtag_ntrst_delay: 100
+        Warn : target name is deprecated use: 'cortex_m'
+        DEPRECATED! use 'cortex_m' not 'cortex_m3'
+        cortex_m reset_config sysresetreq
+        Info : clock speed 1000 kHz
+        Info : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
+        Info : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020, part: 0x6413, ver: 0x0)
+        Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints
+        Info : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
+        Info : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020, part: 0x6413, ver: 0x0)
+        target state: halted
+        target halted due to debug-request, current mode: Thread 
+        xPSR: 0x01000000 pc: 0x20000250 msp: 0x10010000
+        Info : accepting 'gdb' connection from 3333
+        Info : device id = 0x10036413
+        Info : flash size = 1024kbytes
+        Reset_Handler () at startup_STM32F40x.s:199
+        199     ldr    r1, =__etext
 </code></pre>
+
 <p>Check 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 gdp tool and load the image on it. </p>
-<pre><code>(gdb) set $msp=0x10010000
+<pre><code class="no-highlight">        (gdb) set $msp=0x10010000
 </code></pre>
+
 <p>Now load the image and type "c" or "continue" from the GNU debugger. </p>
-<pre><code>(gdb) load ~/dev/larva/project/blinky/bin/blinky/blinky.elf
-Loading section .text, size 0x4294 lma 0x20000000
-Loading section .ARM.extab, size 0x24 lma 0x20004294
-Loading section .ARM.exidx, size 0xd8 lma 0x200042b8
-Loading section .data, size 0x874 lma 0x20004390
-Start address 0x20000250, load size 19460
-Transfer rate: 81 KB/sec, 2432 bytes/write.
-(gdb) c
-Continuing.
+<pre><code class="no-highlight">        (gdb) load ~/dev/larva/project/blinky/bin/blinky/blinky.elf
+        Loading section .text, size 0x4294 lma 0x20000000
+        Loading section .ARM.extab, size 0x24 lma 0x20004294
+        Loading section .ARM.exidx, size 0xd8 lma 0x200042b8
+        Loading section .data, size 0x874 lma 0x20004390
+        Start address 0x20000250, load size 19460
+        Transfer rate: 81 KB/sec, 2432 bytes/write.
+        (gdb) c
+        Continuing.
 </code></pre>
-</li>
-<li>
-<p>Voilà! The board's LED should be blinking at 1 Hz.</p>
-</li>
-</ol>
+
+<ul>
+<li>Voilà! The board's LED should be blinking at 1 Hz.</li>
+</ul>
 <h3 id="using-flash-to-make-led-blink">Using flash to make LED blink<a class="headerlink" href="#using-flash-to-make-led-blink" title="Permanent link">&para;</a></h3>
 <p>You are here because you want to build an image to be run from flash memory on the Olimex board.</p>
-<ol>
+<ul>
 <li>Configure the board to boot from flash by moving the two jumpers together to B0_0 and B1_0. Refer to the pictures of the board under the section titled <a href="#preparing-the-hardware-to-boot-from-embedded-sram">"Preparing the hardware to boot from embedded SRAM"</a>.</li>
-</ol>
+</ul>
 <p>You will have to reset the board once the image is uploaded to it.</p>
-<ol>
-<li>
-<p>If you skipped the first option for the project <a href="#using-sram-to-make-led-blink">(downloading an image to SRAM)</a>, then skip this step. Otherwise, continue with this step. </p>
+<ul>
+<li>If you skipped the first option for the project <a href="#using-sram-to-make-led-blink">(downloading an image to SRAM)</a>, then skip this step. Otherwise, continue with this step. </li>
+</ul>
 <p>By default, the linker script (<code>olimex_stm32-e407_devboard.ld</code>) is configured to run from bootloader and flash. However, if you first ran the image from SRAM you had changed <code>olimex_stm32-e407_devboard.ld</code> to match <code>run_from_sram.ld</code>. You will therefore return to defaults with <code>olimex_stm32-e407_devboard.ld</code> linker script matching the contents of 'run_from_loader.ld'. Return to the project directory.</p>
-<pre><code>$ cd ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard
-$ diff olimex_stm32-e407_devboard.ld run_from_sram.ld
-$ diff olimex_stm32-e407_devboard.ld run_from_loader.ld
-$ cp run_from_loader.ld olimex_stm32-e407_devboard.ld
-$ cd ~/dev/larva/project/blinky/bin/blinky
+<pre><code class="no-highlight">        $ cd ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard
+        $ diff olimex_stm32-e407_devboard.ld run_from_sram.ld
+        $ diff olimex_stm32-e407_devboard.ld run_from_loader.ld
+        $ cp run_from_loader.ld olimex_stm32-e407_devboard.ld
+        $ cd ~/dev/larva/project/blinky/bin/blinky
 </code></pre>
-</li>
-<li>
-<p>In order to run the image from flash, you need to build the bootloader as well. The bootloader does the initial bring up of the Olimex board and then transfers control to the image stored at a location in flash known to it. The bootloader in turn requires the bin2image tool to check the image header for version information, CRC checks etc. So, we will need to build these two additional targets (bootloader and bin2img).</p>
-</li>
-</ol>
+
+<ul>
+<li>In order to run the image from flash, you need to build the bootloader as well. The bootloader does the initial bring up of the Olimex board and then transfers control to the image stored at a location in flash known to it. The bootloader in turn requires the bin2image tool to check the image header for version information, CRC checks etc. So, we will need to build these two additional targets (bootloader and bin2img).</li>
+</ul>
 <p>Let's first create bin2img:</p>
-<pre><code>    $ newt target create bin2img
-    Creating target bin2img
-    Target bin2img successfully created!
-    $ newt target set bin2img arch=sim
-    Target bin2img successfully set arch to sim
-    $ newt target set bin2img compiler=sim
-    Target bin2img successfully set compiler to sim
-    $ newt target set bin2img project=bin2img
-    Target bin2img successfully set project to bin2img
-    $ newt target set bin2img compiler_def=debug
-    Target bin2img successfully set compiler_def to debug
-    $ newt target set bin2img bsp=hw/bsp/native
-    Target bin2img successfully set bsp to hw/bsp/native
-    $ newt target show bin2img
-    bin2img
-        arch: sim
-        compiler: sim
-        project: bin2img
-        compiler_def: debug
-        bsp: hw/bsp/native
-        name: bin2img
+<pre><code class="no-highlight">        $ newt target create bin2img
+        Creating target bin2img
+        Target bin2img successfully created!
+        $ newt target set bin2img arch=sim
+        Target bin2img successfully set arch to sim
+        $ newt target set bin2img compiler=sim
+        Target bin2img successfully set compiler to sim
+        $ newt target set bin2img project=bin2img
+        Target bin2img successfully set project to bin2img
+        $ newt target set bin2img compiler_def=debug
+        Target bin2img successfully set compiler_def to debug
+        $ newt target set bin2img bsp=hw/bsp/native
+        Target bin2img successfully set bsp to hw/bsp/native
+        $ newt target show bin2img
+        bin2img
+            arch: sim
+            compiler: sim
+            project: bin2img
+            compiler_def: debug
+            bsp: hw/bsp/native
+            name: bin2img
 </code></pre>
+
 <p>And then let's create boot_olimex:</p>
-<pre><code>    $ newt target create boot_olimex
-    Creating target boot_olimex
-    Target boot_olimex successfully created!
-    $ newt target set boot_olimex arch=cortex_m4
-    Target boot_olimex successfully set arch to cortex_m4
-    $ newt target set boot_olimex compiler=arm-none-eabi-m4
-    Target boot_olimex successfully set compiler to arm-none-eabi-m4
-    $ newt target set boot_olimex project=boot
-    Target boot_olimex successfully set project to boot
-    $ newt target set boot_olimex compiler_def=optimized
-    Target boot_olimex successfully set compiler_def to optimized
-    $ newt target set boot_olimex bsp=hw/bsp/olimex_stm32-e407_devboard
-    Target boot_olimex successfully set bsp to hw/bsp/olimex_stm32-e407_devboard
-    $ newt target show boot_olimex
-    boot_olimex
-        project: boot
-        compiler_def: optimized
-        bsp: hw/bsp/olimex_stm32-e407_devboard
-        name: boot_olimex
-        arch: cortex_m4
-        compiler: arm-none-eabi-m4
+<pre><code class="no-highlight">        $ newt target create boot_olimex
+        Creating target boot_olimex
+        Target boot_olimex successfully created!
+        $ newt target set boot_olimex arch=cortex_m4
+        Target boot_olimex successfully set arch to cortex_m4
+        $ newt target set boot_olimex compiler=arm-none-eabi-m4
+        Target boot_olimex successfully set compiler to arm-none-eabi-m4
+        $ newt target set boot_olimex project=boot
+        Target boot_olimex successfully set project to boot
+        $ newt target set boot_olimex compiler_def=optimized
+        Target boot_olimex successfully set compiler_def to optimized
+        $ newt target set boot_olimex bsp=hw/bsp/olimex_stm32-e407_devboard
+        Target boot_olimex successfully set bsp to hw/bsp/olimex_stm32-e407_devboard
+        $ newt target show boot_olimex
+        boot_olimex
+            project: boot
+            compiler_def: optimized
+            bsp: hw/bsp/olimex_stm32-e407_devboard
+            name: boot_olimex
+            arch: cortex_m4
+            compiler: arm-none-eabi-m4
 </code></pre>
-<ol>
-<li>
-<p>Let's build all the three targets now.</p>
-<pre><code>$ newt target build bin2img
-Building target bin2img (project = bin2img)
-Building project bin2img
-Successfully run!
-$ newt target build boot_olimex
-Building target boot_olimex (project = boot)
-Building project boot
-Successfully run!
-$ newt target build blinky
-Building target blinky (project = blinky)
-Building project blinky
-Successfully run!
+
+<ul>
+<li>Let's build all the three targets now.</li>
+</ul>
+<pre><code class="no-highlight">        $ newt target build bin2img
+        Building target bin2img (project = bin2img)
+        Building project bin2img
+        Successfully run!
+        $ newt target build boot_olimex
+        Building target boot_olimex (project = boot)
+        Building project boot
+        Successfully run!
+        $ newt target build blinky
+        Building target blinky (project = blinky)
+        Building project blinky
+        Successfully run!
 </code></pre>
-</li>
-<li>
-<p>Go to the project directory and download the bootloader and the image to flash ... in a flash! </p>
-<pre><code>$ cd ~/dev/larva/project/blinky/bin/blinky
-$ newt target download boot_olimex
-Downloading with ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
-$ newt target download blinky
-Downloading with ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
+
+<ul>
+<li>Go to the project directory and download the bootloader and the image to flash ... in a flash! </li>
+</ul>
+<pre><code class="no-highlight">        $ cd ~/dev/larva/project/blinky/bin/blinky
+        $ newt target download boot_olimex
+        Downloading with ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
+        $ newt target download blinky
+        Downloading with ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
 </code></pre>
-</li>
+
+<ul>
 <li>
 <p>The LED should be blinking!</p>
 </li>
 <li>
 <p>But wait...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. The debug connection to the JTAG port is now severed. 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. </p>
+</li>
+</ul>
 <p>The LED light will start blinking again. Success!</p>
 <p>Note #1: If you want to download the image to flash and a gdb session opened up, use <code>newt target debug blinky</code> instead of <code>newt target download blinky</code>.</p>
-<pre><code>$ newt target debug blinky
-Debugging with ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_debug.sh blinky
-Debugging ~/dev/larva/project/blinky/bin/blinky/blinky.elf
-GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
-Copyright (C) 2014 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
-and "show warranty" for details.
-This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
-Type "show configuration" for configuration details.
-For bug reporting instructions, please see:
-&lt;http://www.gnu.org/software/gdb/bugs/&gt;.
-Find the GDB manual and other documentation resources online at:
-&lt;http://www.gnu.org/software/gdb/documentation/&gt;.
-For help, type "help".
-Type "apropos word" to search for commands related to "word"...
-Reading symbols from /Users/aditihilbert/dev/larva/project/blinky/bin/blinky/blinky.elf...done.
-Open On-Chip Debugger 0.8.0 (2015-09-22-18:21)
-Licensed under GNU GPL v2
-For bug reports, read
-    http://openocd.sourceforge.net/doc/doxygen/bugs.html
-Info : only one transport option; autoselect 'jtag'
-adapter speed: 1000 kHz
-adapter_nsrst_delay: 100
-jtag_ntrst_delay: 100
-Warn : target name is deprecated use: 'cortex_m'
-DEPRECATED! use 'cortex_m' not 'cortex_m3'
-cortex_m reset_config sysresetreq
-Info : clock speed 1000 kHz
-Info : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
-Info : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020, part: 0x6413, ver: 0x0)
-Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints
-Info : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
-Info : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020, part: 0x6413, ver: 0x0)
-target state: halted
-target halted due to debug-request, current mode: Thread 
-xPSR: 0x01000000 pc: 0x08000250 msp: 0x10010000
-Info : accepting 'gdb' connection from 3333
-Info : device id = 0x10036413
-Info : flash size = 1024kbytes
-Reset_Handler () at startup_STM32F40x.s:199
-199     ldr    r1, =__etext
-(gdb)
+<pre><code class="no-highlight">        $ newt target debug blinky
+        Debugging with ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_debug.sh blinky
+        Debugging ~/dev/larva/project/blinky/bin/blinky/blinky.elf
+        GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
+        Copyright (C) 2014 Free Software Foundation, Inc.
+        License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
+        This is free software: you are free to change and redistribute it.
+        There is NO WARRANTY, to the extent permitted by law.  Type &quot;show copying&quot;
+        and &quot;show warranty&quot; for details.
+        This GDB was configured as &quot;--host=x86_64-apple-darwin10 --target=arm-none-eabi&quot;.
+        Type &quot;show configuration&quot; for configuration details.
+        For bug reporting instructions, please see:
+        &lt;http://www.gnu.org/software/gdb/bugs/&gt;.
+        Find the GDB manual and other documentation resources online at:
+        &lt;http://www.gnu.org/software/gdb/documentation/&gt;.
+        For help, type &quot;help&quot;.
+        Type &quot;apropos word&quot; to search for commands related to &quot;word&quot;...
+        Reading symbols from /Users/aditihilbert/dev/larva/project/blinky/bin/blinky/blinky.elf...done.
+        Open On-Chip Debugger 0.8.0 (2015-09-22-18:21)
+        Licensed under GNU GPL v2
+        For bug reports, read
+            http://openocd.sourceforge.net/doc/doxygen/bugs.html
+        Info : only one trans

<TRUNCATED>