mynewt-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ad...@apache.org
Subject [1/3] incubator-mynewt-site git commit: MYNEWT-214
Date Thu, 17 Mar 2016 01:51:36 GMT
Repository: incubator-mynewt-site
Updated Branches:
  refs/heads/master 0ff4d891f -> 7fc4a18a8


MYNEWT-214

rewrite newtmgr tutorials for new newt and cleaup


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/commit/b332b1c4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/tree/b332b1c4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/diff/b332b1c4

Branch: refs/heads/master
Commit: b332b1c46bf1601b001937ecd6b48380de3d6d7e
Parents: 4d24515
Author: Paul Dietrich <paulfdietrich@yahoo.com>
Authored: Wed Mar 16 15:43:16 2016 -0700
Committer: Paul Dietrich <paulfdietrich@yahoo.com>
Committed: Wed Mar 16 15:43:16 2016 -0700

----------------------------------------------------------------------
 docs/newtmgr/installing.md            |  67 +++++++
 docs/newtmgr/project-slinky.md        | 292 ++++++++---------------------
 docs/newtmgr/project-target-slinky.md | 179 ++++++++++++++++++
 mkdocs.yml                            |   4 +-
 4 files changed, 331 insertions(+), 211 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/b332b1c4/docs/newtmgr/installing.md
----------------------------------------------------------------------
diff --git a/docs/newtmgr/installing.md b/docs/newtmgr/installing.md
new file mode 100644
index 0000000..2a0e94f
--- /dev/null
+++ b/docs/newtmgr/installing.md
@@ -0,0 +1,67 @@
+
+# Installing Newtmgr
+
+This page shows you how to install newtmgr from source code.
+
+### Install Go (golang)
+
+If you have not already done so, install golang for your platform.  
+
+The easiest way on a MAC is to use `brew`.  
+
+```no-highlight
+brew install go
+==> Downloading https://homebrew.bintray.com/bottles/go-1.5.3.mavericks.bottle.t
+...
+==> Summary
+­čŹ║  /usr/local/Cellar/go/1.5.3: 5,336 files, 259.6M
+```
+Alternately you can download binaries from 
+[the golang.org site](https://golang.org/doc/install)
+To test your go implementation, you can query go for its version information
+
+```no-highlight
+$ go version
+go version go1.5.3 darwin/amd64
+```
+
+To use go, you must set a `$GOPATH` variable in your environment.  This tells
+go where to put all the packages it downloads, builds and runs.
+
+```no-highlight
+$ mkdir $HOME/dev
+$ export GOPATH=$HOME/dev/Go
+```
+
+Its best to add this to your `.profile` so its set automatically for your 
+environment. 
+
+### Download the newtmgr source 
+
+You will first download the source code for newt.
+
+```no-highlight
+    go get mynewt.apache.org/newt/...
+        (wait a few minutes please, this sits without any indications of working)
+```
+
+### Building newtmgr
+
+Change into the directory where the newmgr tool was downloaded and 
+install the newtmgr tool
+
+```no-highlight
+    cd $GOPATH/src/mynewt.apache.org/newt/newtmgr
+    go install
+    $ ls $GOPATH/bin
+    ... newtmgr	...
+```
+
+Note: If the `go install` command results in errors indicating some package 
+cannot be found, do a `go get` to download all the third-party files needed 
+from github.com and then run `go install` again. 
+
+### Add to your Path
+
+Add your `$GOPATH/bin` directory to your path
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/b332b1c4/docs/newtmgr/project-slinky.md
----------------------------------------------------------------------
diff --git a/docs/newtmgr/project-slinky.md b/docs/newtmgr/project-slinky.md
index 7aa1996..71137a1 100644
--- a/docs/newtmgr/project-slinky.md
+++ b/docs/newtmgr/project-slinky.md
@@ -1,18 +1,13 @@
-## Project Slinky 
+## Project Sim Slinky  
 
 
 ### Objective
 
-The goal of the project is to enable and demonstate remote communications with a device or
target via newt manager (newtmgr). We will first build the project image for a simulated device
and then build an image for a hardware target. Next, the tool newtmgr has to be installed
and a connection established with the target. Finally, various available commands in newtmgr
will be used to query the target, upgrade image, and collect data from the endpoint.
-
+The goal of the project is to enable and demonstrate remote communications with the Mynewt
OS via newt manager (newtmgr). We will do this through building a project with Mynewt called
Slinky that runs via the native platform. 
 
 ### What you need
 
-1. STM32-E407 development board from Olimex. You can order it from [http://www.mouser.com](http://www.mouser.com/ProductDetail/Olimex-Ltd/STM32-E407/?qs=UN6GZl1KCcit6Ye0xmPO4A%3D%3D),
[http://www.digikey.com](http://www.digikey.com/product-detail/en/STM32-E407/1188-1093-ND/3726951),
and other places.
-2. ARM-USB-TINY-H connector with JTAG interface for debugging ARM microcontrollers (comes
with the ribbon cable to hook up to the board)
-3. USB A-B type cable to connect the debugger to your personal computer
-4. A USB to TTL Serial Cable with female wiring harness. An example is [http://www.amazon.com/JBtek®-WINDOWS-Supported-Raspberry-Programming/dp/B00QT7LQ88/ref=lp_464404_1_9?s=pc&ie=UTF8&qid=1454631303&sr=1-9](http://www.amazon.com/JBtek®-WINDOWS-Supported-Raspberry-Programming/dp/B00QT7LQ88/ref=lp_464404_1_9?s=pc&ie=UTF8&qid=1454631303&sr=1-9)
-5. Personal Computer
+1.Personal Computer
 
 The instructions assume the user is using a Bourne-compatible shell (e.g. bash or zsh) on
your computer. The given instructions have been tested with the following releases of operating
systems:
 
@@ -20,247 +15,124 @@ The instructions assume the user is using a Bourne-compatible shell
(e.g. bash o
 
 ### Overview of steps
 
-* Define targets using the newt tool
+* Install dependencies
+* Define a target using the newt tool
 * Build executables for the targets using the newt tool
-* Set up serial connection with the targets - both the physical connection with a hardware
target and the connection profile using the newtmgr tool
+* Set up serial connection with the targets 
+* Create a connection profile using the newtmgr tool
 * Use the newtmgr tool to communicate with the targets
 
-The following instructions will walk you through the update of the larva nest and the installation
of newtmgr as well.
+### Installing newt
 
-### Creating local repository
+If you have not already installed `newt` see the 
+[newt installation instructions](../newt/tutorials/newt_mac.md) and ensure newt is installed
an in your path.
 
-Make sure Mynewt's default nest `larva` is up to date by downloading the latest from the
Apache mynewt repository ([https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva)).
+### Installing newtmgr
 
-```no-highlight
-        $ pwd
-        /Users/<user>/dev/larva
-        $ ls -al
-        total 72
-        drwxr-xr-x  18 <user>  staff    612 Feb  3 15:47 .
-        drwxr-xr-x   5 <user>  staff    170 Feb  3 13:32 ..
-        drwxr-xr-x  13 <user>  staff    442 Feb  3 13:32 .git
-        -rw-r--r--   1 <user>  staff     66 Feb  3 13:32 .gitignore
-        -rw-r--r--   1 <user>  staff      0 Feb  3 13:32 .gitmodules
-        drwxr-xr-x   4 <user>  staff    136 Feb  3 16:13 .nest
-        -rw-r--r--   1 <user>  staff  11358 Feb  3 13:32 LICENSE
-        ...
-        ...
-        drwxr-xr-x   5 <user>  staff    170 Feb  3 13:32 sys
-        $ git pull origin master
-```
+If you have not already installed `newtmgr` see the 
+[newtmgr installation instructions](installing.md) and ensure newtmgr is installed an in
your path.
+
+### Creating a new project
 
-### Installing Newtmgr
+Instructions for creating a project are located in the [Getting Started](../os/get_started/project_create.md)
section of the [Mynewt OS Manual](../os/get_started/introduction.md)
 
-You will first download the source code for newt. Currently, you need to create a symbolic
link for all the directory references in the go scripts to work correctly.
+We will list only the steps here for brevity.  We will name the project
+`slinky`.
 
 ```no-highlight
-        $ cd ~/dev
-        $ go get git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/newt
-        $ ln -s ~/dev/go/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git ~/dev/go/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt
-
-        $ pwd
-       /Users/<user>/dev/go
-        $ ls
-         bin	pkg	   src
-        $ cd src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/newt
-        $ ls
-        newt	newtmgr	   newtvm	util
-        $ cd newtmgr
-        $ go build
-        $ 
+    $ newt new slinky
+    Downloading project skeleton from apache/incubator-mynewt-blinky...
+    ...
+    Installing skeleton in slink...
+    Project slink successfully created
+    $ cd slinky
+    $ newt install -v
+    Downloading repository description for apache-mynewt-core... success!
+    ...
+    Repos successfully installed
 ```
 
-Note: If the `go build` command results in errors indicating some package cannot be found,
do a `go get` to download all the third-party files needed from github.com and then run `go
build` again. 
+### Setting up your target build
 
-### Building Targets
-
-You will create a total of 4 targets. The first one is a simulation target and the second
a hardware target (for STM32-E407 Olimex development board). In order to run an image from
the flash on the Olimex board, a bootloader is required. You will build two additional targets
(bootloader and bin2img) as explained in Project Blinky under [Using flash to make LED blink](../get_started/project1/#using-flash-to-make-led-blink)
and as shown below.
-
-Here;'s how to create the target for simulation.
+Create a target for `slinky` using the native bsp.  See 
+[How to Define a Target](../newt/tutorials/define_target.md) for a detailed
+description.  We will list only the steps and suppress the tool output 
+here for brevity.
 
 ```no-highlight
-        $ newt target create slinky_sim
-        Creating target slinky_sim
-        Target slinky_sim sucessfully created!
-        $ newt target set slinky_sim arch=sim
-        Target slinky_sim successfully set arch to sim
-        $ newt target set slinky_sim compiler=sim
-        Target slinky_sim successfully set compiler to sim
-        $ newt target set slinky_sim project=slinky
-        Target slinky_sim successfully set project to slinky
-        $ newt target set slinky_sim compiler_def=debug
-        Target slinky_sim successfully set compiler_def to debug
-        $ newt target set slinky_sim bsp=hw/bsp/native
-        Target slinky_sim successfully set bsp to hw/bsp/native
-        $ newt target show slinky_sim
-        slinky_sim
-        	arch: sim
-        	bsp: hw/bsp/native
-        	compiler: sim
-        	compiler_def: debug
-        	name: slinky_sim
-        	project: slinky     
+    $ newt target create sim_slinky
+    $ newt target set sim_slinky bsp=@apache-mynewt-core/hw/bsp/native
+    $ newt target set sim_slinky build_profile=debug
+    $ newt target set sim_slinky app=@apache-mynewt-core/apps/slinky
 ```
-Repeat the above steps using the attribute information for each target from the target output
shown below to create the remaining three targets. The four target definitions are:
 
-```no-highlight
-        $ newt target show
-        bin2img
-        	arch: sim
-        	bsp: hw/bsp/native
-        	compiler: sim
-        	compiler_def: debug
-        	name: bin2img
-        	project: bin2img
-        boot_olimex
-        	arch: cortex_m4
-	        bsp: hw/bsp/olimex_stm32-e407_devboard
-	        compiler: arm-none-eabi-m4
-	        compiler_def: optimized
-	        name: boot_olimex
-	        project: boot
-        slinky1
-        	arch: cortex_m4
-	        bsp: hw/bsp/olimex_stm32-e407_devboard
-	        compiler: arm-none-eabi-m4
-	        compiler_def: debug
-	        name: slinky1
-	        project: slinky
-        slinky_sim
-	        arch: sim
-	        bsp: hw/bsp/native
-	        compiler: sim
-	        compiler_def: debug
-	        name: slinky_sim
-	        project: slinky
-```
-Go ahead and build all the targets. The build command for slinky_sim is shown below.
-```no-highlight
-        $ newt target build slinky_sim
-        Building target slinky_sim (project = slinky)
-        Compiling base64.c
-        Compiling cbmem.c
-        ...
-        Archiving libnative.a
-        Compiling main.c
-        Building project slinky
-        Linking slinky.elf
-        Successfully run!
-```
-Now run the `newt target build` command for the remaining three targets.
-     
+### Building Your target
 
-### Using newtmgr with a sim target 
-
-* Run the executable you have build for the simulated environment. The serial port name on
which the simulated target is connected is shown in the output.
+To build your target, use `newt build`.  When complete, an executable file
+is created.
 
 ```no-highlight
-        $ pwd
-        /Users/<user>/dev/larva/project/slinky
-        $ ./bin/slinky_sim/slinky.elf
-        uart0 at /dev/ttys007
+    $ newt build sim_slinky 
+    Compiling main.c
+    ...
+    Linking slinky.elf
+    App successfully built: ~/dev/slinky/bin/sim_slinky/apps/slinky/slinky.elf
 ```
-* You will now set up a connection profile using `newtmgr` for the serial port connection
and start communicating with the simulated remote device.
-
-```no-highlight
-        $ newtmgr conn add sim1 type=serial connstring=/dev/ttys007
-        Connection profile sim1 successfully added
-        $ newtmgr conn show
-        Connection profiles: 
-          sim1: type=serial, connstring='/dev/ttys007'
-        $ newtmgr -c sim1 taskstats
-        Return Code = 0
-          uart_poller (prio=0 tid=3 runtime=0 cswcnt=43810 stksize=1024 stkusage=325 last_checkin=0
next_checkin=0)
-          newtmgr (prio=4 tid=4 runtime=0 cswcnt=6 stksize=1024 stkusage=585 last_checkin=0
next_checkin=0)
-          task1 (prio=1 tid=5 runtime=0 cswcnt=551 stksize=1024 stkusage=83 last_checkin=0
next_checkin=0)
-          task2 (prio=2 tid=6 runtime=0 cswcnt=551 stksize=1024 stkusage=85 last_checkin=0
next_checkin=0)
-          idle (prio=255 tid=0 runtime=552525 cswcnt=44005 stksize=1024 stkusage=529 last_checkin=0
next_checkin=0)
-          os_sanity (prio=254 tid=1 runtime=0 cswcnt=551 stksize=1024 stkusage=82 last_checkin=0
next_checkin=0)
-          shell (prio=3 tid=2 runtime=0 cswcnt=20 stksize=1024 stkusage=142 last_checkin=0
next_checkin=0)
-        $ newtmgr -c sim1 stat stat
-        Return Code = 0
-        Stats Name: stat
-          s0: 1
-```
-
 
+### Run the target
 
-### Using newtmgr with a remote target 
-
-* First make sure the USB A-B type cable is connected to the ARM-USB-TINY-H debugger connector
on the Olimex board. 
-
-     Next go the to project directory and download the slinky project image to the flash
of the Olimex board. You will see the executables in the `slinky1` directory created for the
Olimex target to run the slinky project.
+* Run the executable you have build for the simulated environment. The serial port name on
which the simulated target is connected is shown in the output
+when mynewt slinky starts.
 
 ```no-highlight
-        $ pwd
-        /Users/<user>/dev/larva/project/slinky
-        $ ls
-        bin		egg.yml		slinky.yml	src
-        $ ls bin
-        slinky1		slinky_sim
-        $ ls bin/slinky1
-        slinky.elf	slinky.elf.bin	slinky.elf.cmd    slinky.elf.img    slinky.elf.lst    slinky.elf.map
-        $ newt target download boot_olimex
-        Downloading with /Users/<user>/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
-        $ newt target download slinky1
-        Downloading with /Users/<user>/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh
+    $ ~/dev/slinky/bin/sim_slinky/apps/slinky/slinky.elf
+    uart0 at /dev/ttys005
 ```
 
-   You can now disconnect the debugging cable from the board. You should see the green LED
blinking. If not, try powercycling the board.
-   
-* Now you have to set up the serial connection from your computer to the Olimex board. Locate
the PC6/USART6_TX (pin#3), PC7/USART6_RX (pin#4), and GND (pin#2) of the UEXT connector on
the Olimex board. More information on the UEXT connector can be found at [https://www.olimex.com/Products/Modules/UEXT/](https://www.olimex.com/Products/Modules/UEXT/).
The schematic of the board can be found at [https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407_sch.pdf](https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407_sch.pdf)
for reference.
-
-     ![Alt Layout - Serial Connection](pics/serial_conn.png)
-
+In this example, the slinky app opened up a com port `/dev/ttys005`
+for communications with newtmgr. *NOTE: this application will block. You
+will need to open a new console (or execute this in another console) to
+continue the tutorial.*
 
-	* Connect the female RX pin of the USB-TTL serial cable to the TX of the UEXT connector
on the board. 
-	* Connect the female TX pin of the USB-TTL serial cable to the RX of the UEXT connector
on the board. 
-	* Connect the GND pin of the USB-TTL serial cable to the GND of the UEXT connector on the
board.
+### Setting up a connection profile
 
-
-* Locate the serial connection established in the /dev directory of your computer. It should
be of the type `tty.usbserial-<some identifier>`.
+You will now set up a connection profile using `newtmgr` for the serial port connection and
start communicating with the simulated remote device.
 
 ```no-highlight
-        $ ls /dev/tty.usbserial-AJ03HAQQ 
-        /dev/tty.usbserial-AJ03HAQQ
+    $ newtmgr conn add sim1 type=serial connstring=/dev/ttys005
+    Connection profile sim1 successfully added
+    $ newtmgr conn show
+    Connection profiles: 
+      sim1: type=serial, connstring='/dev/ttys007'
 ```
 
-* You now have to define a connection profile using newtmgr. You can give it any name you
want. The example below shows the connection profile being named as the very imaginative `olimex01`.
+### Executing newtmgr commands with the target
+
+You can now use connection profile `sim1` to talk to the running sim_blinky.
+As an example, we will query the running mynewt OS for the usage of its 
+memory pools.  
 
 ```no-highlight
-        $ pwd
-        /Users/<user>/dev/larva/project/slinky
-        $ newtmgr conn add olimex01 type=serial connstring=/dev/tty.usbserial-AJ03HAQQ 
-        Connection profile olimex01 successfully added
-        $ newtmgr conn show
-        Connection profiles: 
-          sim1: type=serial, connstring='/dev/ttys007'
-          olimex01: type=serial, connstring='/dev/tty.usbserial-AJ03HAQQ'
+    $ newtmgr -c sim1 mpstats
+    Return Code = 0
+      nffs_cache_inode_pool (blksize=36 nblocks=4 nfree=4)
+      nffs_cache_block_pool (blksize=32 nblocks=64 nfree=64)
+      nffs_dir_pool (blksize=8 nblocks=4 nfree=4)
+      default_mbuf_data (blksize=256 nblocks=10 nfree=8)
+      nffs_file_pool (blksize=12 nblocks=4 nfree=4)
+      nffs_inode_entry_pool (blksize=24 nblocks=100 nfree=98)
+      nffs_block_entry_pool (blksize=12 nblocks=100 nfree=100)
 ```
 
-* Now go ahead and query the Olimex board to get responses back. The simplest command is
the `echo` command to ask it to respond with the text you send it. 
+As a test command, you can send an arbitrary string to the target and it
+will echo that string back in a response to newtmgr.
 
 ```no-highlight
-        $ newtmgr echo -c olimex01 hello
-        {"r": "hello"}
-        $ newtmgr image -c olimex01 list
-        Images:
-            0 : 11.22.33.44
-        $ newtmgr -c olimex01 taskstats
-        Return Code = 0
-          shell (prio=3 tid=1 runtime=0 cswcnt=5 stksize=1024 stkusage=60 last_checkin=0
next_checkin=0)
-          newtmgr (prio=4 tid=2 runtime=0 cswcnt=4 stksize=1024 stkusage=256 last_checkin=0
next_checkin=0)
-          task1 (prio=1 tid=3 runtime=0 cswcnt=23 stksize=1024 stkusage=32 last_checkin=0
next_checkin=0)
-          task2 (prio=2 tid=4 runtime=0 cswcnt=24 stksize=1024 stkusage=33 last_checkin=0
next_checkin=0)
-          idle (prio=255 tid=0 runtime=23121 cswcnt=26 stksize=32 stkusage=16 last_checkin=0
next_checkin=0)
+    $ newtmgr -c sim1 echo "Hello Mynewt"
+    {"r": "Hello Mynewt"}
 ```
 
+The response comes back as a json string.
 
-
-
-
-
-
-
-
-
+In addition to these, uou can also examine running tasks, statistics, 
+logs, image status (not on sim), and configuration.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/b332b1c4/docs/newtmgr/project-target-slinky.md
----------------------------------------------------------------------
diff --git a/docs/newtmgr/project-target-slinky.md b/docs/newtmgr/project-target-slinky.md
new file mode 100644
index 0000000..f66730e
--- /dev/null
+++ b/docs/newtmgr/project-target-slinky.md
@@ -0,0 +1,179 @@
+## Project Slinky 
+
+
+### Objective
+
+The goal of the project is to enable and demonstrate remote communications with the Mynewt
OS via newt manager (newtmgr). We will do this through building a project with Mynewt called
Slinky that runs on the STM32-E407 board.
+
+### What you need
+
+1. STM32-E407 development board from Olimex. You can order it from [http://www.mouser.com](http://www.mouser.com/ProductDetail/Olimex-Ltd/STM32-E407/?qs=UN6GZl1KCcit6Ye0xmPO4A%3D%3D),
[http://www.digikey.com](http://www.digikey.com/product-detail/en/STM32-E407/1188-1093-ND/3726951),
and other places.
+2. ARM-USB-TINY-H connector with JTAG interface for debugging ARM microcontrollers (comes
with the ribbon cable to hook up to the board)
+3. USB A-B type cable to connect the debugger to your personal computer
+4. A USB to TTL Serial Cable with female wiring harness. An example is [http://www.amazon.com/JBtek®-WINDOWS-Supported-Raspberry-Programming/dp/B00QT7LQ88/ref=lp_464404_1_9?s=pc&ie=UTF8&qid=1454631303&sr=1-9](http://www.amazon.com/JBtek®-WINDOWS-Supported-Raspberry-Programming/dp/B00QT7LQ88/ref=lp_464404_1_9?s=pc&ie=UTF8&qid=1454631303&sr=1-9)
+5. Personal Computer
+
+The instructions assume the user is using a Bourne-compatible shell (e.g. bash or zsh) on
your computer. The given instructions have been tested with the following releases of operating
systems:
+
+* Mac: OS X Yosemite Version 10.10.5
+
+### Overview of steps
+
+* Install dependencies
+* Define a target using the newt tool
+* Build executables for the targets using the newt tool
+* Set up serial connection with the targets 
+* Create a connection profile using the newtmgr tool
+* Use the newtmgr tool to communicate with the targets
+
+### Installing newt
+
+If you have not already installed `newt` see the 
+[newt installation instructions](../newt/tutorials/newt_mac.md) and ensure newt is installed
an in your path.
+
+### Installing newtmgr
+
+If you have not already installed `newtmgr` see the 
+[newtmgr installation instructions](installing.md) and ensure newtmgr is installed an in
your path.
+
+### Creating a new project
+
+Instructions for creating a project are located in the [Getting Started](../os/get_started/project_create.md)
section of the [Mynewt OS Manual](../os/get_started/introduction.md)
+
+If you already completed [sim slinky](project-slinky.md) you can skip this step.
+
+We will list only the steps here for brevity.  We will name the project
+`slinky`.
+
+```no-highlight
+$ newt new slinky
+Downloading project skeleton from apache/incubator-mynewt-blinky...
+...
+Installing skeleton in slink...
+Project slink successfully created
+$ cd slinky
+$newt install -v
+Downloading repository description for apache-mynewt-core... success!
+...
+Repos successfully installed
+```
+
+### Setting up your target builds
+
+Create a target for `stm32_slinky` using the native bsp.  See 
+[How to Define a Target](../newt/tutorials/define_target.md) for a detailed
+description.  The tool output is suppressed below for brevity.
+
+```no-highlight
+$ newt target create stm32_slinky
+$ newt target set stm32_slinky bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard
+$ newt target set stm32_slinky build_profile=debug
+$ newt target set stm32_slinky app=@apache-mynewt-core/apps/slinky
+```
+
+Create a second target for `stm32_bootloader` to build a bootloader to boot
+the `stm32_slinky` image.  The tool output is suppressed below for brevity.
+
+```no-highlight
+$ newt target create stm32_bootloader
+$ newt target set stm32_bootloader bsp=@apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard
+$ newt target set stm32_bootloader build_profile=optimized
+$ newt target set stm32_bootloader target.app=@apache-mynewt-core/apps/boot
+```
+
+### Building Targets
+
+```no-highlight
+$ newt build stm32_slinky
+Compiling main.c
+...
+Linking slinky.elf
+App successfully built: ~/dev/slinky/bin/stm32_slinky/apps/slinky/slinky.elf
+```
+
+```no-highlight
+newt build stm32_bootloader
+Compiling crc16.c
+...
+Linking boot.elf
+App successfully built: ~/slinky/bin/stm32_bootloader/apps/boot/boot.elf
+```
+
+For the main image, you need to create an image using newt create-image.
+Give this image some arbitrary version number "1.2.3".
+
+```no-highlight
+$ newt create-image stm32_slinky 1.2.3
+App image succesfully generated: /Users/paulfdietrich/dev/slinky/bin/stm32_slinky/apps/slinky/slinky.img
+Build manifest: /Users/paulfdietrich/dev/slinky/bin/stm32_slinky/apps/slinky/manifest.json
+```
+
+### Using newtmgr with a remote target 
+
+* First make sure the USB A-B type cable is connected to the ARM-USB-TINY-H debugger connector
on the Olimex board. 
+
+     Next go the to project directory and download the slinky project image to the flash
of the Olimex board. 
+
+```no-highlight
+$ newt load stm32_bootloader
+$ newt load stm32_slinky
+```
+
+   You can now disconnect the debugging cable from the board. You should see the green LED
blinking. If not, try powercycling the board.
+   
+* Now you have to set up the serial connection from your computer to the Olimex board. Locate
the PC6/USART6_TX (pin#3), PC7/USART6_RX (pin#4), and GND (pin#2) of the UEXT connector on
the Olimex board. More information on the UEXT connector can be found at [https://www.olimex.com/Products/Modules/UEXT/](https://www.olimex.com/Products/Modules/UEXT/).
The schematic of the board can be found at [https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407_sch.pdf](https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407_sch.pdf)
for reference.
+
+     ![Alt Layout - Serial Connection](pics/serial_conn.png)
+
+
+	* Connect the female RX pin of the USB-TTL serial cable to the TX of the UEXT connector
on the board. 
+	* Connect the female TX pin of the USB-TTL serial cable to the RX of the UEXT connector
on the board. 
+	* Connect the GND pin of the USB-TTL serial cable to the GND of the UEXT connector on the
board.
+
+
+* Locate the serial connection established in the /dev directory of your computer. It should
be of the type `tty.usbserial-<some identifier>`.
+
+```no-highlight
+        $ ls /dev/tty.usbserial-AJ03HAQQ 
+        /dev/tty.usbserial-AJ03HAQQ
+```
+
+* You now have to define a connection profile using newtmgr. You can give it any name you
want. The example below shows the connection profile being named as the very imaginative `olimex01`.
+
+```no-highlight
+        $ pwd
+        /Users/<user>/dev/larva/project/slinky
+        $ newtmgr conn add olimex01 type=serial connstring=/dev/tty.usbserial-AJ03HAQQ 
+        Connection profile olimex01 successfully added
+        $ newtmgr conn show
+        Connection profiles: 
+          sim1: type=serial, connstring='/dev/ttys007'
+          olimex01: type=serial, connstring='/dev/tty.usbserial-AJ03HAQQ'
+```
+
+* Now go ahead and query the Olimex board to get responses back. The simplest command is
the `echo` command to ask it to respond with the text you send it. 
+
+```no-highlight
+    $ newtmgr echo -c olimex01 hello
+    {"r": "hello"}
+    $ newtmgr image -c olimex01 list
+    Images:
+        0 : 1.2.3
+    $ newtmgr -c olimex01 taskstats
+    Return Code = 0
+      newtmgr (prio=4 tid=2 runtime=0 cswcnt=12 stksize=512 stkusage=255 last_checkin=0 next_checkin=0)
+      task1 (prio=1 tid=3 runtime=0 cswcnt=299 stksize=128 stkusage=33 last_checkin=0 next_checkin=0)
+      task2 (prio=2 tid=4 runtime=0 cswcnt=300 stksize=128 stkusage=31 last_checkin=0 next_checkin=0)
+      idle (prio=255 tid=0 runtime=299916 cswcnt=313 stksize=32 stkusage=18 last_checkin=0
next_checkin=0)
+      shell (prio=3 tid=1 runtime=1 cswcnt=20 stksize=384 stkusage=60 last_checkin=0 next_checkin=0)
+```
+
+
+
+
+
+
+
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/b332b1c4/mkdocs.yml
----------------------------------------------------------------------
diff --git a/mkdocs.yml b/mkdocs.yml
index 3583b46..2d5b189 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -304,8 +304,10 @@ pages:
             - 'newt version': 'newt/command_list/newt_version.md'
 - Newt Manager Manual:
     - 'Introduction': 'newtmgr/overview.md'
+    - 'Installing': 'newtmgr/installing.md'
     - Tutorials:
-        - 'Project Slinky': 'newtmgr/project-slinky.md'
+        - 'Sim Slinky': 'newtmgr/project-slinky.md'
+        - 'Target Slinky': 'newtmgr/project-target-slinky.md'
     - Manual:
         - 'Protocol': 'newtmgr/protocol.md'
 - Appendix:


Mime
View raw message