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 <[email protected]> Authored: Wed Mar 16 15:43:16 2016 -0700 Committer: Paul Dietrich <[email protected]> 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. - -  - +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. + +  + + + * 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:
