Repository: incubator-mynewt-site Updated Branches: refs/heads/develop 777620961 -> 7d0d5f8a0
Documentation for Mynewt OS support on Windows 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/c616db4e Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/tree/c616db4e Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/diff/c616db4e Branch: refs/heads/develop Commit: c616db4e6c138ddbe13a90602f4c9593aa9bd777 Parents: 7776209 Author: cwanda <[email protected]> Authored: Wed May 3 08:33:45 2017 -0700 Committer: cwanda <[email protected]> Committed: Tue May 9 10:28:55 2017 -0700 ---------------------------------------------------------------------- docs/os/get_started/cross_tools.md | 86 ++++++++---- docs/os/get_started/get_started.md | 2 +- docs/os/get_started/native_install_intro.md | 22 ++-- docs/os/get_started/native_tools.md | 19 ++- docs/os/get_started/project_create.md | 130 +++++++++++-------- docs/os/get_started/serial_access.md | 99 +++++++++++--- docs/os/introduction.md | 6 +- docs/os/tutorials/add_shell.md | 14 +- docs/os/tutorials/arduino_zero.md | 6 + docs/os/tutorials/bletiny_project.md | 14 +- docs/os/tutorials/blinky_console.md | 15 ++- docs/os/tutorials/blinky_primo.md | 10 +- docs/os/tutorials/blinky_stm32f4disc.md | 6 +- docs/os/tutorials/nRF52.md | 7 +- docs/os/tutorials/olimex.md | 20 ++- .../os/tutorials/pics/device_manager_ft232H.png | Bin 0 -> 67817 bytes .../tutorials/pics/device_manager_no_ft232H.png | Bin 0 -> 67365 bytes docs/os/tutorials/pics/putty.png | Bin 0 -> 56099 bytes docs/os/tutorials/project-nrf52-slinky.md | 19 ++- docs/os/tutorials/project-sim-slinky.md | 2 +- docs/os/tutorials/project-slinky.md | 2 +- docs/os/tutorials/project-stm32-slinky.md | 18 ++- docs/os/tutorials/rbnano2.md | 4 + docs/os/tutorials/wi-fi_on_arduino.md | 16 ++- mkdocs.yml | 2 + 25 files changed, 366 insertions(+), 153 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/get_started/cross_tools.md ---------------------------------------------------------------------- diff --git a/docs/os/get_started/cross_tools.md b/docs/os/get_started/cross_tools.md index efd6f96..3276aa1 100644 --- a/docs/os/get_started/cross_tools.md +++ b/docs/os/get_started/cross_tools.md @@ -1,21 +1,18 @@ -# Installing Cross Tools for ARM +# Installing the Cross Tools for ARM -This page shows how to install tools on your laptop/computer to use for direct communication (e.g. for debugging) with some ARM based HW platforms running Apache Mynewt. It shows you how to install the following tools for Mac OS X and Linux: +This page shows you how to install the tools to build, run, and debug Mynewt OS applications that run on supported ARM target boards. It shows you how to install the following tools on Mac OS, Linux and Windows: -* ARM Cross toolchain -* Debugger to load and debug your device +* ARM cross toolchain to compile and build Mynewt applications for the target boards. +* Debuggers to load and debug applications on the target boards. <br> -## Install ARM Cross Toolchain +## Installing the ARM Cross Toolchain +ARM maintains a pre-built GNU toolchain with gcc and gdb targeted at Embedded ARM Processors, namely Cortex-R/Cortex-M processor families. Mynewt OS has been tested with version 4.9 of the toolchain and we recommend you install this version to get started. Mynewt OS will eventually work with multiple versions available, including the latest releases. -### Install ARM Toolchain For Mac OS X +### Installing the ARM Toolchain For Mac OS X -Install the PX4 Toolchain and check the version installed. ARM maintains a -pre-built GNU toolchain with a GCC source branch targeted at Embedded ARM -Processors, namely Cortex-R/Cortex-M processor families. After installing, -ensure that the symbolic link installed by Homebrew points to the correct -version of the debugger. +Add the **PX4/homebrew-px4** homebrew tap and install version 4.9 of the toolchain. After installing, check that the symbolic link that homebrew created points to the correct version of the debugger. ```no-highlight $ brew tap PX4/homebrew-px4 @@ -29,13 +26,10 @@ 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 -> /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb ``` -**Note:** If no version is specified, brew will install the latest version -available. Mynewt OS 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. +**Note:** If no version is specified, brew will install the latest version available. <br> -### Install ARM Toolchain For Linux +### Installing the ARM Toolchain For Linux On a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with apt-get as documented below. The steps are explained in depth at @@ -49,20 +43,36 @@ $ sudo apt-get install gcc-arm-none-eabi $ sudo apt-get install gdb-arm-none-eabi ``` <br> -## Install Debugger -Mynewt uses, depending on the board, either the OpenOCD or SEGGER J-Link debugger. +### Installing the ARM Toolchain for Windows +Step 1: Download and run the [installer](https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q2-update/+download/gcc-arm-none-eabi-4_9-2015q2-20150609-win32.exe) to install arm-none-eabi-gcc and arm-none-eabi-gdb. Select the default destination folder: **C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q2**. +**Note:** You may select a different folder but the installation instructions use the default values. -### Install OpenOCD +Step 2: Add the path:** C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q2\bin** to your Windows **Path** environment variable. Note: You must add **bin** to the path. + +Step 3: Check that you are using the installed versions arm-none-eabi-gcc and arm-none-eabi-gdb. Open a MinGW terminal and run the `which` commands. + +**Note:** You must start a new MinGW terminal to inherit the new **Path** values. + +```no-highlight +$ which arm-none-eabi-gcc +/c/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q2/bin/arm-none-eabi-gcc +$which arm-none-eabi-gdb +/c/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q2/bin/arm-none-eabi-gdb +``` +## Installing the Debuggers +Mynewt uses, depending on the board, either the OpenOCD or SEGGER J-Link debuggers. +<br> +### Installing the OpenOCD Debugger OpenOCD (Open On-Chip Debugger) is open-source software that allows your computer to interface with the JTAG debug connector on a variety of boards. A JTAG connection lets you debug and test embedded target devices. For more on OpenOCD go to [http://openocd.org](http://openocd.org). -OpenOCD version 0.10.0 with nrf52 support is required. A binary for this version is available to download for Mac OS and Linux. +OpenOCD version 0.10.0 with nrf52 support is required. A binary for this version is available to download for Mac OS, Linux, and Windows. <br> -#### Install OpenOCD on Mac OS +#### Installing OpenOCD on Mac OS Step 1: Download the [binary tarball for Mac OS](https://github.com/runtimeco/openocd-binaries/raw/master/openocd-bin-0.10.0-MacOS.tgz). Step 2: Change to the root directory: @@ -75,7 +85,7 @@ Step 3: Untar the tarball and install into ** /usr/local/bin**. You will need t sudo tar -xf ~/Downloads/openocd-bin-0.10.0-MacOS.tgz ` ``` <br> -Step 4: Check the OpenOCD version you are using: +Step 4: Check the OpenOCD version you are using. ```no-highlight $which openocd @@ -90,7 +100,7 @@ http://openocd.org/doc/doxygen/bugs.html You should see version: **0.10.0**. <br> -#### Install OpenOCD on Linux +#### Installing OpenOCD on Linux Step 1: Download the [binary tarball for Linux](https://github.com/runtimeco/openocd-binaries/raw/master/openocd-bin-0.10.0-Linux.tgz) Step 2: Change to the root directory: @@ -130,5 +140,33 @@ run the following command to install the libraries: $sudo apt-get install libhidapi-dev:i386 ``` <br> -###Install SEGGAR J-Link +#### Installing OpenOCD on Windows +Step 1: Download the [binary zip file for Windows](https://github.com/runtimeco/openocd-binaries/raw/master/openocd-0.10.0.zip). + +Step 2: Extract into the **C:\openocd-0.10.0** folder. + +Step 3: Add the path: ** C:\openocd-0.10.0\bin** to your Windows User **Path** environment variable. Note: You must add **bin** to the path. + +Step 4: Check the OpenOCD version you are using. Open a new MinGW terminal and run the following commands: + +**Note:** You must start a new MinGW terminal to inherit the new **Path** values. + +```no-highlight +$which openocd +/c/openocd-0.10.0/bin/openocd +$openocd -v +Open On-Chip Debugger 0.10.0 +Licensed under GNU GPL v2 +For bug reports, read + http://openocd.org/doc/doxygen/bugs.html +``` +You should see version: **0.10.0**. + +<br> +###Installing SEGGAR J-Link You can download and install Segger J-LINK Software and documentation pack from [SEGGER](https://www.segger.com/jlink-software.html). + +**Note:** On Windows, perform the following after the installation: + +* Add the installation destination folder path to your Windows user **Path** environment variable. You do not need to add **bin** to the path. +* Open a new MinGW terminal to inherit the new **Path** values. http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/get_started/get_started.md ---------------------------------------------------------------------- diff --git a/docs/os/get_started/get_started.md b/docs/os/get_started/get_started.md index add6d37..833ea21 100644 --- a/docs/os/get_started/get_started.md +++ b/docs/os/get_started/get_started.md @@ -5,7 +5,7 @@ If you are curious about Mynewt and want to get a quick feel for the project, yo <br> **Option 1 (Recommended)** allows you to install the Newt tool, instances of the Mynewt OS (for simulated targets), and toolchains for developing embedded software (e.g. GNU toolchain) natively on your laptop or computer. We have tried to make the process easy. For example, for the Mac OS we created brew formulas. -We recommend this option if you are familiar with such environments or are concerned about performance on your machine. Follow the instructions to [install native tools](native_tools.md) and [install cross tools for ARM](cross_tools.md) if you prefer this option. +We recommend this option if you are familiar with such environments or are concerned about performance on your machine. Follow the instructions in the [Native Install Option](native_install_intro.md) if you prefer this option. <br> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/get_started/native_install_intro.md ---------------------------------------------------------------------- diff --git a/docs/os/get_started/native_install_intro.md b/docs/os/get_started/native_install_intro.md index 1459835..2e3e19a 100644 --- a/docs/os/get_started/native_install_intro.md +++ b/docs/os/get_started/native_install_intro.md @@ -1,17 +1,23 @@ # Native Installation -This section shows you how to install tools on Mac OS and Linux platforms to develop, build, run, and debug Mynewt OS applications. You can build Mynewt OS applications to run as a native application on your computer or to run on your target board. These tools include: +This section shows you how to install the tools to develop and build Mynewt OS applications on Mac OS, Linux, and Windows, and run and debug the applications on target boards. For Mac OS and Linux, you can also build Mynewt OS applications that run on Mynewt's simulated hardware. These applications run natively on Mac OS and Linux. -* Newt tool - Tool to create, build, load, and debug a mynewt target. +The tools you need are: + +* Newt tool: Tool to create, build, load, and debug Mynewt OS applications. * See [Installing the Newt Tool on Mac OS](/newt/install/newt_mac.md) to install on Mac OS. * See [Installing the Newt Tool on Linux](/newt/install/newt_linux.md) to install on Linux. + * See [Installing the Newt Tool on Windows](/newt/install/newt_windows.md) to install on Windows. + -<br> - -* Native toolchain - Native toolchain to build and run Mynewt OS as a native application on your computer. - (See [Installing Native Toolchain](/os/get_started/native_tools.md)). +* Native toolchain: Native toolchain to compile and build Mynewt OS applications that run on Mynewt's simulated hardware on Mac OS and Linux. + + (See [Installing Native Toolchain](/os/get_started/native_tools.md)). -* Cross toolchain for ARM - Cross toolchain for ARM to build and run a Mynewt OS application on a target board - (See [Installing Cross Tools for ARMs](/os/get_started/cross_tools.md)). +* Cross tools for ARM: + * Cross toolchain for ARM to compile and build Mynewt OS applications for target boards. + * Debuggers to load and debug applications on target boards. + + (See [Installing Cross Tools for ARMs](/os/get_started/cross_tools.md)). http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/get_started/native_tools.md ---------------------------------------------------------------------- diff --git a/docs/os/get_started/native_tools.md b/docs/os/get_started/native_tools.md index 852e037..54c3322 100644 --- a/docs/os/get_started/native_tools.md +++ b/docs/os/get_started/native_tools.md @@ -1,21 +1,20 @@ -# Installing Native Mynewt Tools +# Installing Native Toolchain -This page shows how to install tools for native Mynewt targets (simulated targets on your laptop/computer) without using a Docker container. In other words, it allows you to run Mynewt OS as a native application on your Mac or Linux machine to simulate a target and use the Newt tool running natively on your machine to manage the simulated target. It also allows you to run the test suites for all packages not requiring HW support. You may choose to do this instead of using the build toolchain and Newt tool available in a Docker container. +This page shows you how to install the toolchain to build Mynewt OS applications that run native on Mac OS and Linux. The applications run on Mynewt's simulated hardware. It also allows you to run the test suites for all packages that do not require HW support. -This page provides guidance for MAC and Linux. See the relevant sections below. +**Note:** This is not supported on Windows. <br> -## Set up toolchain for Mac +## Setting Up the Toolchain for Mac -### Install Brew +### Installing Brew -If you have not already installed Homebrew from the -[`newt` tutorials pages](../../newt/install/newt_mac.md), install it. +If you have not already installed Homebrew from the [`newt` tutorials pages](../../newt/install/newt_mac.md), install it. <br> -###Install gcc/libc +###Installing gcc/libc OS X ships with a C compiler called Clang. To build applications for the Mynewt simulator with, a different compiler is used as default: gcc. @@ -84,7 +83,7 @@ A third option is to simply **downgrade to gcc 5.x**. <br> -###Install gdb +###Installing gdb ```no-highlight $ brew install gdb @@ -103,7 +102,7 @@ continue without the ability to debug your mynewt application on your PC.* <br> -## Set up toolchain for Linux +## Setting Up the Toolchain for Linux The below procedure can be used to set up a Debian-based Linux system (e.g., Ubuntu). If you are running a different Linux distribution, you will need to http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/get_started/project_create.md ---------------------------------------------------------------------- diff --git a/docs/os/get_started/project_create.md b/docs/os/get_started/project_create.md index 8cdca42..cd24198 100644 --- a/docs/os/get_started/project_create.md +++ b/docs/os/get_started/project_create.md @@ -1,37 +1,51 @@ -## Create Your First Mynewt Project +## Creating Your First Mynewt Project -This page shows how to create a Mynewt Project using the `newt` command-line tool. +This page shows you how to create a Mynewt project using the `newt` command-line tool. The project is a blinky application that toggles a pin. The application uses the Mynewt's simulated hardware and runs as a native application on Mac OS and Linux. + +**Note:** The Mynewt simulator is not yet supported on Windows. If you are using the native install option (not the Docker option), you will need to create the blinky application for a target board. We recommend that you read the section on creating a new project and fetching the source repository to understand the Mynewt repository structure, create a new project, and fetch the source dependencies before proceeding to one of the [Blinky Tutorials](/os/tutorials/blinky.md). + +This guide shows you how to: + +1. Create a new project and fetch the source repository and dependecies. +2. Test the project packages (Not supported on Windows). +3. Build and run the simulated blinky application (Not supported on Windows). <br> ### Prerequisites - * Have Internet connectivity to fetch remote Mynewt components. -* Install Newt: - * If you have taken the native install route, see the installation instructions for [Mac OS](../../newt/install/newt_mac.md) or for [Linux](../../newt/install/newt_linux.md). - * If you have taken the Docker route, you have already installed Newt. +* Install the newt tool: + * If you have taken the native install option, see the installation instructions for [Mac OS](../../newt/install/newt_mac.md), [Linux](../../newt/install/newt_linux.md), or [Windows](../../newt/install/newt_windows.md). + * If you have taken the Docker option, you have already installed Newt. * Install the [native toolchain](native_tools.md) to compile and build a Mynewt native application. <br> -### Newt New +### Creating a New Project and Fetching the Source Repository +This section describes how to use the newt tool to create a new project and fetch the core mynewt source repository. + +<br> +####Creating a New Project + +Choose a name for your project. We name the project `myproj`. + +<br> +Run the `newt new myproj` command, from your **dev** directory, to create a new project: -Choose a project name. For this tutorial we will call this project `myproj`. -Enter the `newt new myproj` command. +**Note:** This tutorial assumes you created a **dev** directory under your home directory. ``` no-highlight +$cd ~/dev $ newt new myproj Downloading project skeleton from apache/incubator-mynewt-blinky... Installing skeleton in myproj... Project myproj successfully created. ``` - <br> -Newt populates this new project with a base skeleton of a new Apache Mynewt -project. It has the following structure. +The newt tool creates a project base directory name **myproj**. All newt tool commands are run from the project base directory. The newt tool populates this new project with a base skeleton of a new Apache Mynewt project in the project base directory. It has the following structure: -**Note**: If you do not have `tree`, run `brew install tree` to install on Mac OS or run `sudo apt-get install tree` to install on Linux. +**Note**: If you do not have `tree`, run `brew install tree` to install on Mac OS, `sudo apt-get install tree` to install on Linux, and `pacman -Su tree` from a MinGW terminal to install on Windows. ```no-highlight $ cd myproj @@ -61,25 +75,23 @@ $ tree <br> -The Newt tool has installed the base files for a project comprising the following: +The newt tool installs the following files for a project in the project base directory: 1. The file `project.yml` contains the repository list that the project uses to fetch -its packages. Your project is a collection of repositories. In this case, the project just -comprises the core mynewt repository. Later you will add more repositories -to include other mynewt components. -2. The file `apps/blinky/pkg.yml` contains the description of your application -and its package dependencies. -3. A `target` directory containing `my_blinky_sim`, a target descriptor used to -build a version of myproj. Use `newt target show` to see available build +its packages. Your project is a collection of repositories. In this case, the project only +comprises the core mynewt repository. Later, you will add more repositories to include other mynewt components. +2. The file `apps/blinky/pkg.yml` contains the description of your application and its package dependencies. +3. A `target` directory that contains the `my_blinky_sim` directory. The `my_blinky_sim` directory +a target information to build a version of myproj. Use `newt target show` to see available build targets. 4. A non-buildable target called `unittest`. This is used internally by `newt` and is not a formal build target. -**NOTE:** The actual code and package files are not installed -(except the template for `main.c`). See the next step for installing the packages. +**Note:** The actual code and package files are not installed (except the template for `main.c`). See the next step to install the packages. + +<br> +#### Fetching the Mynewt Source Repository and Dependencies -**NOTE:** By default newt uses the code in the master branch. This is the latest stable -code for newt. If you need to use a different branch, you can set this in the project.yml -file. +By default, Mynewt projects rely on a single repository: **apache-mynewt-core** and uses the source in the master branch. If you need to use a different branch, you need to change the `vers` value in the project.yml file: ```no-highlight repository.apache-mynewt-core: @@ -88,28 +100,24 @@ repository.apache-mynewt-core: user: apache repo: incubator-mynewt-core ``` -Changing to 0-dev will put you on the latest master branch. **This branch may not be stable and you may encounter bugs or other problems.** - -<br> -### Newt Install +Changing vers to 0-dev will put you on the latest master branch. **This branch may not be stable and you may encounter bugs or other problems.** -Once you've switched into your new project's directory, the next step is to fetch -any dependencies this project has. By default, all Newt projects rely on a -single remote repository, apache-mynewt-core. The _newt install_ command will -fetch this repository. +<br> +Run the `newt install` command, from your project base directory (myproj), to fetch the source repository and dependencies: ```no-highlight $ newt install apache-mynewt-core ``` -**NOTE:** _apache-mynewt-core_ may take a while to download. To see progress, -use the _-v_ (verbose) option to install. +**Note:** It may take a while to download the apache-mynewt-core reposistory. Use the _-v_ (verbose) option to see the installation progress. <br> -Once _newt install_ has successfully finished, the contents of _apache-mynewt-core_ will have been downloaded into your local directory. You can view them by issuing the following commands in the base directory of the new project. The actual output will depend on what is in the latest 'master' branch you have pulled from. +View the core of the Apache Mynewt OS that is downloaded into your local directory. + +(The actual output will depend on what is in the latest 'master' branch) ```no-highlight $ tree -L 2 repos/apache-mynewt-core/ @@ -222,14 +230,13 @@ repos/apache-mynewt-core/ 94 directories, 9 files ``` -As you can see, the core of the Apache Mynewt operating system has been brought -into your local directory. - <br> -### Test the project's packages +### Testing the Project Packages + +**Note**: This is not yet supported on Windows. -You have already built your first basic project. You can ask Newt to execute the unit tests in a package. For example, to test the `sys/config` package in the `apache-mynewt-core` repo, call newt as shown below. +You can use the newt tool to execute the unit tests in a package. For example, run the following command to test the `sys/config` package in the `apache-mynewt-core` repo: ```no-highlight $ newt test @apache-mynewt-core/sys/config @@ -264,15 +271,16 @@ Passed tests: [sys/config/test-fcb sys/config/test-nffs] All tests passed ``` -**NOTE:** If you've installed the latest gcc using homebrew on your Mac, you will likely be running gcc-6. Make sure you have adjusted the compiler.yml configuration to reflect that as noted in [Native Install Option](native_tools.md). You can choose to downgrade to gcc-5 in order to use the default gcc compiler configuration for MyNewt. - -**NOTE:** If you are running the standard gcc for 64-bit machines, it does not support 32-bit. In that case you will see compilation errors. You need to install multiboot gcc (e.g. gcc-multilib if you running on a 64-bit Ubuntu). +**Note:** If you installed the latest gcc using homebrew on your Mac, you are probably running gcc-6. Make sure you change the compiler.yml configuration to specify that you are using gcc-6 (See [Native Install Option](native_tools.md)). You can also downgrade your installation to gcc-5 and use the default gcc compiler configuration for MyNewt: ```no-highlight $ brew uninstall gcc-6 $ brew link gcc-5 ``` +**Note:** If you are running the standard gcc for 64-bit machines, it does not support 32-bit. In that case you will see compilation errors. You need to install multilib gcc (e.g. gcc-multilib if you running on a 64-bit Ubuntu). + + <br> To test all the packages in a project, specify `all` instead of the package name. @@ -298,9 +306,14 @@ All tests passed <br> -### Build the Project +### Building and Running the Simulated Blinky Application +The section shows you how to build and run the blinky application to run on Mynewt's simulated hardware. -To build and run your new application, simply issue the following command: +**Note**: This is not yet supported on Windows. Refer to the [Blinky Tutorials](/os/tutorials/blinky.md) to create a blinky application on a target boards. + +<br> +####Building the Application +To build the simulated blinky application, run `newt build my_blinky_sim`: ```no-highlight $ newt build my_blinky_sim @@ -325,10 +338,19 @@ Target successfully built: targets/my_blinky_sim <br> -### Run the Project +#### Running the Blinky Application + +You can run the simulated version of your project and see the simulated LED blink. + +If you natively install the toolchain execute the binary directly: + +```no-highlight +$ ./bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf +hal_gpio set pin 1 to 0 -You can run the simulated version of your project and see the simulated LED -blink. If you are using newt docker, use `newt run` to run the simulated binary. +``` +<br> +If you are using newt docker, use `newt run` to run the simulated binary. ```no-highlight $ newt run my_blinky_sim @@ -341,16 +363,10 @@ Reading symbols from /bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf...don ``` Type `r` at the `(gdb)` prompt to run the project. You will see an output indicating that the hal_gpio pin is toggling between 1 and 0 in a simulated blink. -If you natively install the toolchain, you can either use `newt run` or call the binary directly. Generally, `newt run` is the expected way to call things. - -```no-highlight -$ ./bin/targets/my_blinky_sim/app/apps/blinky/blinky.elf -hal_gpio set pin 1 to 0 -``` <br> -### Complete +### Exploring other Mynewt OS Features Congratulations, you have created your first project! The blinky application is not terribly exciting when it is run in the simulator, as there is no LED to http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/get_started/serial_access.md ---------------------------------------------------------------------- diff --git a/docs/os/get_started/serial_access.md b/docs/os/get_started/serial_access.md index ee4fe9e..9ea240b 100644 --- a/docs/os/get_started/serial_access.md +++ b/docs/os/get_started/serial_access.md @@ -71,21 +71,29 @@ Your Arduino M0 Pro should look like this: <br> ##Setup Serial Communications +You will need to know the serial port to connect to and use a terminal program to connect to the board. -As mentioned earlier, we'll be using the built in `screen` command for this, but we'll still -need to know which serial port to connect to. So, before plugging in the FT232H Board, -check to see what USB devices are already connected: +### Example for Mac OS and Linux Platforms +First check what USB devices are already connected before connecting the FT232H board to your computer. The ports are listed in the **/dev** directory and the format of the port name is platform dependent: -``` +* Mac OS uses the format `tty.usbserial-<some identifier>`. +* Linux uses the format `TTYUSB<N>`, where `N` is a number. For example, TTYUSB2. + +<br> +This example is run on a Mac OS system. + +Check what USB devices are already connected: +<br> +```no-highlight $ ls -la /dev/*usb* 0 crw-rw-rw- 1 root wheel 20, 63 Nov 23 11:13 /dev/cu.usbmodem401322 0 crw-rw-rw- 1 root wheel 20, 62 Nov 23 11:13 /dev/tty.usbmodem401322 $ ``` - -Now, plug in the FT232H board, and run that command again: - -``` +<br> +Plug in the FT232H board and check the ports again: +<br> +```no-highlight $ ls -la /dev/*usb* 0 crw-rw-rw- 1 root wheel 20, 63 Nov 23 11:13 /dev/cu.usbmodem401322 0 crw-rw-rw- 1 root wheel 20, 65 Nov 23 11:26 /dev/cu.usbserial-0020124 @@ -93,25 +101,25 @@ $ ls -la /dev/*usb* 0 crw-rw-rw- 1 root wheel 20, 64 Nov 23 11:26 /dev/tty.usbserial-0020124 $ ``` - -So the FT232H is connected to `/dev/tty.usbserial-0020124` (The number after tty.usbserial -will be different on your machine.) - -So let's connect to it: - +<br> +The FT232H is connected to `/dev/tty.usbserial-0020124` (The number after tty.usbserial will be different on your machine.) +<br> +Use the screen command to connect to the board: +<br> ``` $ screen /dev/tty.usbserial-0020124 115200 ``` - +<br> To exit out of `screen` you'll type `control-A` followed by `control-\` and you'll be back to a terminal prompt. -If you'd like to use Minicom: +<br> +You can also use minicom: +<br> ``` $ minicom -D /dev/tty.usbserial-0020124 -``` Welcome to minicom 2.7 OPTIONS: @@ -120,18 +128,67 @@ Port /dev/tty.usbserial-0020124, 09:57:17 Press Meta-Z for help on special keys ``` - <br> - If there's no Mynewt app running, or the Mynewt app doesn't have the Shell and Console enabled, you won't see anything there, but you can always refer back to this page from later tutorials if you need to. +<br> +### Example for Windows Platforms + +First check what USB devices are already connected before connecting the FT232H board to your computer. You can locate the ports from a MinGW terminal or use the Windows Device Manager. + +On a MinGW terminal, the ports are listed in the /dev directory and the format of the port name is `ttyS<N>` where N is a number. You must map the port name to a Windows COM port: `/dev/ttyS<N>` maps to `COM<N+1>`. For example, `/dev/ttyS2` maps to `COM3`. + +Check what USB devices are already connected: +<br> +```no-highlight +$ls -l /dev/ttyS* +crw-rw-rw- 1 <user> None 117, 5 May 9 04:24 /dev/ttyS5 +$ +``` +<br> +/dev/ttyS5 maps to the Windows COM6 port. You can run Windows Device Manager to confirm: + +<br> + + +<br> + +Plug in the FT232H board and check the ports again: +<br> +```no-highlight +$ls -l /dev/ttyS* +ls -l /dev/ttyS* +crw-rw-rw- 1 <user> None 117, 10 May 9 04:55 /dev/ttyS10 +crw-rw-rw- 1 <user> None 117, 5 May 9 04:55 /dev/ttyS5 +$ +``` +<br> +The FT232H board is connected to port /dev/ttyS10 (or COM11): + +<br> + -Now that you know how to communicate with your mynewt application, let's move on to -creating one! <br> +We use the PuTTY terminal application to connect to the board on the COM11 port: +<br> + + + +<br> + +Press Open and you should get a terminal screen titled "COM11 - PuTTY" + + +If there's no Mynewt app running, or the Mynewt app doesn't have the Shell and Console +enabled, you won't see anything there, but you can always refer back to this page +from later tutorials if you need to. +<br> + +Now that you know how to communicate with your mynewt application, let's move on to +creating one! http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/introduction.md ---------------------------------------------------------------------- diff --git a/docs/os/introduction.md b/docs/os/introduction.md index f145b56..39c5a3d 100644 --- a/docs/os/introduction.md +++ b/docs/os/introduction.md @@ -50,16 +50,16 @@ In order to provide all this functionality, and operate in an extremely low resource environment, Mynewt provides a very fine-grained source package management and build system tool, called *newt*. -You can install *newt* for [Mac OS](../newt/install/newt_mac/) or [Linux](../newt/install/newt_linux/). +You can install *newt* for [Mac OS](../newt/install/newt_mac/), [Linux](../newt/install/newt_linux/), or [Windows](../newt/install/newt_windows/). <br> ### Newt Manager ### -In order to enable a user to communicate with remote instances of Mynewt OS and query, configure, and operate them, Mynewt provides an application tool called Newt Manager or `newtmgr`. +In order to enable a user to communicate with remote instances of Mynewt OS and query, configure, and operate them, Mynewt provides an application tool called Newt Manager or *newtmgr*. -You can install *newtmgr* for [Mac OS](../newtmgr/install_mac/) or [Linux](../newtmgr/install_linux/). +You can install *newtmgr* for [Mac OS](../newtmgr/install_mac/), [Linux](../newtmgr/install_linux/), or [Windows](../newtmgr/install_newtmgr/). <br> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/add_shell.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/add_shell.md b/docs/os/tutorials/add_shell.md index 2a645eb..2a6cd6c 100644 --- a/docs/os/tutorials/add_shell.md +++ b/docs/os/tutorials/add_shell.md @@ -106,9 +106,17 @@ Tutorial for more information on setting up your serial communications. ###Connecting with your app -Once you have a connection set up, you can connect to your device with ```minicom -D /dev/tty.usbmodem<port> -b 115200``` to run connect -to the console of your app. - +Once you have a connection set up, you can connect to your device as follows: + +* On Mac OS and Linux platforms, you can run ```minicom -D /dev/tty.usbserial-<port> -b 115200``` to connect to the console of your app. Note that on Linux, the format of the port name is `/dev/ttyUSB<N>`, where N is a number. + +* On Windows, you can use a terminal application such as PuTTY to connect to the device. + + If you located your port from a MinGW terminal, the port name format is `/dev/ttyS<N>`, where `N` is a number. You must map the port name to a Windows COM port: `/dev/ttyS<N>` maps to `COM<N+1>`. For example, `/dev/ttyS2` maps to `COM3`. + + You can also use the Windows Device Manager to locate the COM port. + +<br> To test and make sure that the Shell is running, first just hit <return>: ```no-highlight http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/arduino_zero.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/arduino_zero.md b/docs/os/tutorials/arduino_zero.md index 506c1c7..bd0c02e 100644 --- a/docs/os/tutorials/arduino_zero.md +++ b/docs/os/tutorials/arduino_zero.md @@ -249,6 +249,9 @@ Error: Target not halted ``` <br> To erase your board, start a debug session and enter the highlighted commands at the `(gdb)` prompts: + +**Note:** On Windows, openocd and gdb are started in separate Windows Command Prompt terminals, and the terminals are automatically closed when you quit gdb. In addition, the output of openocd is logged to the openocd.log file in your project's base directory instead of the terminal. + ```hl_lines="2, 5, 14" $ newt debug arduino_blinky (gdb) mon at91samd chip-erase @@ -277,6 +280,9 @@ Run the `newt load arduino_boot` command again after erasing the board. After you load the bootloader successfully onto your board, you can load and run the Blinky application. Run the `newt run arduino_blinky 1.0.0` command to build the arduino_blinky target (if necessary), create an image with version 1.0.0, load the image onto the board, and start a debugger session. + +**Note** The output of the debug session below is for Mac OS and Linux platforms. On Windows, openocd and gdb are started in separate Windows Command Prompt terminals. The output of openocd is logged to the openocd.log file in your project's base directory and not to the terminal. The openocd and gdb terminals will close automatically when you quit gdb. +<br> ```no-highlight $ newt run arduino_blinky 1.0.0 App image succesfully generated: ~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.img http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/bletiny_project.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/bletiny_project.md b/docs/os/tutorials/bletiny_project.md index 4426a12..f841091 100644 --- a/docs/os/tutorials/bletiny_project.md +++ b/docs/os/tutorials/bletiny_project.md @@ -184,16 +184,18 @@ section. <br> -You may use any terminal emulation program to communicate with the board. This tutorial shows a Minicom set up. +Once you have a connection set up, you can connect to your device as follows: +* On Mac OS and Linux platforms, you can run ```minicom -D /dev/tty.usbserial-<port> -b 115200``` to connect to the console of your app. Note that on Linux, the format of the port name is `/dev/ttyUSB<N>`, where N is a number. -``` -$ minicom -D /dev/tty.usbserial-1a12 -b 115200 -``` +* On Windows, you can run ```PuTTY``` to connect to the device. + + If you located your port from a MinGW terminal, the port name format is `/dev/ttyS<N>`, where `N` is a number. You must map the port name to a Windows COM port: `/dev/ttyS<N>` maps to `COM<N+1>`. For example, `/dev/ttyS2` maps to `COM3`. + + You can also use the Windows Device Manager to locate the COM port number. <br> - -When the Minicom screen comes up, type in `?` +This tutorial uses minicom. When the Minicom screen comes up, type in `?` ```hl_lines="9" Welcome to minicom 2.7 http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/blinky_console.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/blinky_console.md b/docs/os/tutorials/blinky_console.md index 094e65a..fa92ae6 100644 --- a/docs/os/tutorials/blinky_console.md +++ b/docs/os/tutorials/blinky_console.md @@ -161,15 +161,22 @@ Loading app image into slot 1 ### Set Up a Serial Connection -You'll need a Serial connection to see the output of your program. You can reference the [Serial Port Setup](../get_started/serial_access.md) -Tutorial for more information on setting up your serial communication. +You'll need a Serial connection to see the output of your program. You can reference the [Serial Port Setup](../get_started/serial_access.md) Tutorial for more information on setting up your serial communication. <br> - ###Communicate with the Application -Once you have a connection set up, run ```minicom -D /dev/tty.usbserial<port> -b 115200``` to connect to the application console. +Once you have a connection set up, you can connect to your device as follows: + +* On Mac OS and Linux platforms, you can run ```minicom -D /dev/tty.usbserial-<port> -b 115200``` to connect to the console of your app. Note that on Linux, the format of the port name is `/dev/ttyUSB<N>`, where N is a number. + +* On Windows, you can use a terminal application such as PuTTY to connect to the device. + + If you located your port from a MinGW terminal, the port name format is `/dev/ttyS<N>`, where `N` is a number. You must map the port name to a Windows COM port: `/dev/ttyS<N>` maps to `COM<N+1>`. For example, `/dev/ttyS2` maps to `COM3`. + + You can also use the Windows Device Manager to locate the COM port. +<br> To test and make sure that the Shell is running, first just hit <return>: ```no-highlight http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/blinky_primo.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/blinky_primo.md b/docs/os/tutorials/blinky_primo.md index 4eaf92d..7876d7c 100644 --- a/docs/os/tutorials/blinky_primo.md +++ b/docs/os/tutorials/blinky_primo.md @@ -176,9 +176,11 @@ Note: If the LED does not blink, try resetting the board. <br> -**Note:** If you want to erase the flash and load the image again, use JLinkExe and issue the `erase` command when you are using the Jlink debug probe: - -``` +If you want to erase the flash and load the image again, use JLinkExe and issue the `erase` command when you are using the Jlink debug probe: + +**Note:** On Windows: Run the `jlink` command with the same arguments from a Windows Command Prompt terminal. +<br> +```no-highlight $ JLinkExe -device nRF52 -speed 4000 -if SWD SEGGER J-Link Commander V5.12c (Compiled Apr 21 2016 16:05:51) DLL version V5.12c, compiled Apr 21 2016 16:05:45 @@ -206,6 +208,8 @@ $ If you are using the OpenOCD debugger, run the `newt debug primoblinky` command and issue the highlighted command at the (gdb) prompt: +**Note:** The output of the debug session below is for Mac OS and Linux platforms. On Windows, openocd and gdb are started in separate Windows Command Prompt terminals, and the terminals are automatically closed when you quit gdb. In addition, the output of openocd is logged to the openocd.log file in your project's base directory instead of the terminal. + ```hl_lines="11" $newt debug primoblinky [~/dev/myproj/repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52/primo_debug.sh ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/arduino_primo_nrf52 ~/dev/myproj/bin/targets/primoblinky/app/apps/blinky/blinky] http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/blinky_stm32f4disc.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/blinky_stm32f4disc.md b/docs/os/tutorials/blinky_stm32f4disc.md index 74dffc6..283e592 100644 --- a/docs/os/tutorials/blinky_stm32f4disc.md +++ b/docs/os/tutorials/blinky_stm32f4disc.md @@ -169,7 +169,11 @@ Note: If the LED does not blink, try resetting your board. <br> -**Note:** If you want to erase the flash and load the image again, start a debug session, and enter `mon stm32f2x mass_erase 0` at the gdb prompt: +If you want to erase the flash and load the image again, start a debug session, and enter `mon stm32f2x mass_erase 0` at the gdb prompt: + +**Note:** The output of the debug session below is for Mac OS and Linux platforms. On Windows, openocd and gdb are started in separate Windows Command Prompt terminals, and the terminals are automatically closed when you quit gdb. In addition, the output of openocd is logged to the openocd.log file in your project's base directory instead of the terminal. + +<br> ```no-highlight $newt debug stm32f4disc_blinky [~/dev/myproj/repos/apache-mynewt-core/hw/bsp/stm32f4discovery/stm32f4discovery_debug.sh ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/stm32f4discovery ~/dev/myproj/bin/targets/stm32f4disc_blinky/app/apps/blinky/blinky] http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/nRF52.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/nRF52.md b/docs/os/tutorials/nRF52.md index deca009..433b8c5 100644 --- a/docs/os/tutorials/nRF52.md +++ b/docs/os/tutorials/nRF52.md @@ -166,9 +166,12 @@ Note: If the LED does not blink, try resetting your board. <br> -**Note:** If you want to erase the flash and load the image again, you can use JLinkExe to issue an `erase` command. +If you want to erase the flash and load the image again, you can run `JLinkExe` to issue an `erase` command. -``` +**Note:** On Windows: Run the `jlink` command with the same arguments from a Windows Command Prompt terminal. + +<br> +```no-highlight $ JLinkExe -device nRF52 -speed 4000 -if SWD SEGGER J-Link Commander V5.12c (Compiled Apr 21 2016 16:05:51) DLL version V5.12c, compiled Apr 21 2016 16:05:45 http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/olimex.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/olimex.md b/docs/os/tutorials/olimex.md index 0233b59..290f6d4 100644 --- a/docs/os/tutorials/olimex.md +++ b/docs/os/tutorials/olimex.md @@ -148,7 +148,6 @@ Configure the board to bootload from flash memory and to use USB-OTG2 for the po * Check that the red PWR LED lights up. <br> - ### Load the Bootloader and Blinky Application Run the `newt load boot_olimex` command to load the bootloader image onto the board: @@ -158,6 +157,16 @@ Loading bootloader Load command: ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_download.sh ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard ~/dev/myproj/bin/targets/boot_olimex/app/apps/boot/boot Successfully loaded image. ``` + +Note: If you are using Windows and get the `no device found` error, you will need to install the usb drivers for your Olimex debugger. Download [Zadig](http://zadig.akeo.ie) and run it: + +* Select Options > List All Devices. +* Select Olimex OpenOCD JTAG ARM-USB-TINY-H from the drop down menu. +* Select the WinUSB drivers. +* Click Install Driver. +* Run the `newt load boot_olimex` command again. + +<br> Run the `newt load olimex_blinky` command to load the blinky application image onto the board: ```no-highlight newt load -v olimex_blinky @@ -174,7 +183,12 @@ Let's double check that it is indeed booting from flash and making the LED blink The LED light will start blinking again. Success! - **Note #1:** If you want to download the image to flash and a gdb session opened up, use `newt debug blinky`. Type `c` to continue inside the gdb session. +If you want to download the image to flash and open a gdb session, use `newt debug blinky`. + +**Note:** The output of the debug session below is for Mac OS and Linux platforms. On Windows, openocd and gdb are started in separate Windows Command Prompt terminals, and the terminals are automatically closed when you quit gdb. In addition, the output of openocd is logged to the openocd.log file in your project's base directory instead of the terminal. + +<br> +Type `c` to continue inside the gdb session. ```no-highlight $ newt debug blinky @@ -199,7 +213,7 @@ Let's double check that it is indeed booting from flash and making the LED blink <br> - **Note #2:** If you want to erase the flash and load the image again you may use the following commands from within gdb. `flash erase_sector 0 0 x` tells it to erase sectors 0 through x. When you ask it to display (in hex notation) the contents of the sector starting at location 'lma,' you should see all f's. The memory location 0x8000000 is the start or origin of the flash memory contents and is specified in the olimex_stm32-e407_devboard.ld linker script. The flash memory locations is specific to the processor. +If you want to erase the flash and load the image again you may use the following commands from within gdb. `flash erase_sector 0 0 x` tells it to erase sectors 0 through x. When you ask it to display (in hex notation) the contents of the sector starting at location 'lma,' you should see all f's. The memory location 0x8000000 is the start or origin of the flash memory contents and is specified in the olimex_stm32-e407_devboard.ld linker script. The flash memory locations is specific to the processor. ```no-highlight (gdb) monitor flash erase_sector 0 0 4 erased sectors 0 through 4 on flash bank 0 in 2.296712s http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/pics/device_manager_ft232H.png ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/pics/device_manager_ft232H.png b/docs/os/tutorials/pics/device_manager_ft232H.png new file mode 100755 index 0000000..ce7bd59 Binary files /dev/null and b/docs/os/tutorials/pics/device_manager_ft232H.png differ http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/pics/device_manager_no_ft232H.png ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/pics/device_manager_no_ft232H.png b/docs/os/tutorials/pics/device_manager_no_ft232H.png new file mode 100755 index 0000000..ab4c2d4 Binary files /dev/null and b/docs/os/tutorials/pics/device_manager_no_ft232H.png differ http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/pics/putty.png ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/pics/putty.png b/docs/os/tutorials/pics/putty.png new file mode 100755 index 0000000..63c5f10 Binary files /dev/null and b/docs/os/tutorials/pics/putty.png differ http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/project-nrf52-slinky.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/project-nrf52-slinky.md b/docs/os/tutorials/project-nrf52-slinky.md index 4f845fb..63ea12a 100644 --- a/docs/os/tutorials/project-nrf52-slinky.md +++ b/docs/os/tutorials/project-nrf52-slinky.md @@ -139,23 +139,38 @@ $ Set up a serial connection from your computer to the nRF52-DK board (See [Serial Port Setup](/os/get_started/serial_access.md)). -Locate the port, in the /dev directory on your computer, that the serial connection uses. It should be of the type `tty.usbserial-<some identifier>`. +Locate the port, in the /dev directory on your computer, that the serial connection uses. The format of the port name is platform dependent: +* Mac OS uses the format `tty.usbserial-<some identifier>`. +* Linux uses the format `TTYUSB<N>`, where `N` is a number. For example, TTYUSB2. +* MinGW on Windows uses the format `ttyS<N>`, where `N` is a number. You must map the port name to a Windows COM port: `/dev/ttyS<N>` maps to `COM<N+1>`. For example, `/dev/ttyS2` maps to `COM3`. + + You can also use the Windows Device Manager to find the COM port number. + +<br> ```no-highlight $ ls /dev/tty*usbserial* /dev/tty.usbserial-1d11 $ ``` <br> + Setup a newtmgr connection profile for the serial port. For our example, the port is `/dev/tty.usbserial-1d11`. -Run the `newtmgr conn add` command to define a newtmgr connection profile for the serial port. We name the connection profile `nrf52serial`. You will need to replace the `connstring` with the specific port for your serial connection. +Run the `newtmgr conn add` command to define a newtmgr connection profile for the serial port. We name the connection profile `nrf52serial`. + +**Note**: +* You will need to replace the `connstring` with the specific port for your serial connection. +* On Windows, you must specify `COM<N+1>` for the connstring if `/dev/ttyS<N>` is the serial port. + +<br> ```no-highlight $ newtmgr conn add nrf52serial type=serial connstring=/dev/tty.usbserial-1d11 Connection profile nrf52serial successfully added $ ``` + <br> You can run the `newt conn show` command to see all the newtmgr connection profiles: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/project-sim-slinky.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/project-sim-slinky.md b/docs/os/tutorials/project-sim-slinky.md index 8a6eb4e..05c8beb 100644 --- a/docs/os/tutorials/project-sim-slinky.md +++ b/docs/os/tutorials/project-sim-slinky.md @@ -1,6 +1,6 @@ ## Project Sim Slinky -This tutorial shows you how to create, build and run the Slinky application and communicate with newtmgr for a simulated device. +This tutorial shows you how to create, build and run the Slinky application and communicate with newtmgr for a simulated device. This is supported on Mac OS and Linux platforms. <br> ### Prerequisites http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/project-slinky.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/project-slinky.md b/docs/os/tutorials/project-slinky.md index 10c62ad..c71580b 100644 --- a/docs/os/tutorials/project-slinky.md +++ b/docs/os/tutorials/project-slinky.md @@ -7,7 +7,7 @@ If you have an existing project using a target that does not use the Slinky appl ###Available Tutorials Tutorials are available for the following boards: -* [Slinky on a simulated device](/os/tutorials/project-sim-slinky). +* [Slinky on a simulated device](/os/tutorials/project-sim-slinky). This is supported on Mac OS and Linux platforms. * [Slinky on a nRF52](/os/tutorials/project-nrf52-slinky). * [Slinky on an Olimex](/os/tutorials/project-stm32-slinky). <br> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/project-stm32-slinky.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/project-stm32-slinky.md b/docs/os/tutorials/project-stm32-slinky.md index 16387c5..e7d9127 100644 --- a/docs/os/tutorials/project-stm32-slinky.md +++ b/docs/os/tutorials/project-stm32-slinky.md @@ -149,8 +149,16 @@ Locate the PC6/USART6_TX (pin 3), PC7/USART6_RX (pin 4), and GND (pin 2) of the * Connect the GND pin of the USB-TTL serial cable to the GND (Pin 2) of the UEXT connector on the board. <br> -Locate the port, in the /dev directory on your computer, that the serial connection uses. It should be of the type `tty.usbserial-<some identifier>`. +Locate the port, in the /dev directory on your computer, that the serial connection uses. The format of the port name is platform dependent: + +* Mac OS uses the format `tty.usbserial-<some identifier>`. +* Linux uses the format `TTYUSB<N>`, where `N` is a number. For example, TTYUSB2. +* MinGW on Windows uses the format `ttyS<N>`, where `N` is a number. You must map the port name to a Windows COM port: `/dev/ttyS<N>` maps to `COM<N+1>`. For example, `/dev/ttyS2` maps to `COM3`. + + You can also use the Windows Device Manager to find the COM port number. + +<br> ```no-highlight $ ls /dev/tty*usbserial* /dev/tty.usbserial-1d13 @@ -160,8 +168,14 @@ $ <br> Setup a newtmgr connection profile for the serial port. For our example, the port is `/dev/tty.usbserial-1d13`. -Run the `newtmgr conn add` command to define a newtmgr connection profile for the serial port. We name the connection profile `stm32serial`. You will need to replace the `connstring` with the specific port for your serial connection. +Run the `newtmgr conn add` command to define a newtmgr connection profile for the serial port. We name the connection profile `stm32serial`. + +**Note**: +* You will need to replace the `connstring` with the specific port for your serial connection. +* On Windows, you must specify `COM<N+1>` for the connstring if `/dev/ttyS<N>` is the serial port. + +<br> ```no-highlight $ newtmgr conn add stm32serial type=serial connstring=/dev/tty.usbserial-1d13 Connection profile stm32serial successfully added http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/rbnano2.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/rbnano2.md b/docs/os/tutorials/rbnano2.md index 987b549..20ff4dd 100644 --- a/docs/os/tutorials/rbnano2.md +++ b/docs/os/tutorials/rbnano2.md @@ -142,6 +142,10 @@ $ <br> Note: The flash memory on the RedBear Nano 2 comes write protected from the factory. If you get an error loading the bootloader and you are using a brand new chip, you need to clear the write protection from the debugger and then load the bootloader again. Run the `newt debug rbnano2_blinky` command and issue the following commands at the highlighted (gdb) prompts. +**Note:** The output of the debug session below is for Mac OS and Linux platforms. On Windows, openocd and gdb are started in separate Windows Command Prompt terminals, and the terminals are automatically closed when you quit gdb. In addition, the output of openocd is logged to the openocd.log file in your project's base directory instead of the terminal. + +<br> + ```hl_lines="8 9 11 14" $newt debug rbnano2_blinky [~/dev/myproj/repos/apache-mynewt-core/hw/bsp/rb-nano2/rb-nano2_debug.sh ~/dev/myproj/repos/apache-mynewt-core/hw/bsp/rb-nano2 ~/dev/myproj/bin/targets/rbnano2_blinky/app/apps/blinky/blinky] http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/docs/os/tutorials/wi-fi_on_arduino.md ---------------------------------------------------------------------- diff --git a/docs/os/tutorials/wi-fi_on_arduino.md b/docs/os/tutorials/wi-fi_on_arduino.md index 4a49291..0f1e18f 100644 --- a/docs/os/tutorials/wi-fi_on_arduino.md +++ b/docs/os/tutorials/wi-fi_on_arduino.md @@ -235,8 +235,19 @@ Set up a serial connection from your computer to the MKR1000 board (See [Serial <br> <p> <br> -Locate the port, in the /dev directory on your computer, that the serial connection uses. It should be of the type `tty.usbserial-<some identifier>`. +<br> +Locate the port, in the /dev directory on your computer, that the serial connection uses. The format of the port name is + platform dependent: + + +* Mac OS uses the format `tty.usbserial-<some identifier>`. +* Linux uses the format `TTYUSB<N>`, where `N` is a number. For example, TTYUSB2. +* MinGW on Windows uses the format `ttyS<N>`, where `N` is a number. You must map the port name to a Windows COM port: ` +/dev/ttyS<N>` maps to `COM<N+1>`. For example, `/dev/ttyS2` maps to `COM3`. + + You can also use the Windows Device Manager to find the COM port number. +<br> ```no-highlight $ ls /dev/tty*usbserial* /dev/tty.usbserial-1d13 @@ -247,6 +258,9 @@ $ ### Start Wi-Fi via console Use a terminal emulation program to communicate with the board over the serial port. This tutorial shows a Minicom set up. Run the minicom command with the serial port you located on your computer: + +**Note:** On Windows, you can use the PuTTY application. + ```no-highlight $ minicom -D /dev/tty.usbserial-1d13 -b 115200 ``` http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/c616db4e/mkdocs.yml ---------------------------------------------------------------------- diff --git a/mkdocs.yml b/mkdocs.yml index a7b40ca..8ce61fe 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -21,6 +21,7 @@ pages: - toc: 'os/get_started/native_install_intro.md' - 'Install Newt on Mac': 'newt/install/newt_mac.md' - 'Install Newt on Linux': 'newt/install/newt_linux.md' + - 'Install Newt on Windows': 'newt/install/newt_windows.md' - 'Install Native Toolchain': 'os/get_started/native_tools.md' - 'Install Cross Tools for ARM': 'os/get_started/cross_tools.md' - 'Docker Container Option': 'os/get_started/docker.md' @@ -547,6 +548,7 @@ pages: - 'Install': - 'Install Newtmgr On Mac OS': 'newtmgr/install_mac.md' - 'Install Newtmgr On Linux': 'newtmgr/install_linux.md' + - 'Install Newtmgr On Windows': 'newtmgr/install_windows.md' - Appendix: - 'Setting Up Go to Contribute to Newt and Newtmgr Tools': 'faq/go_env.md' - 'Edit Docs': 'faq/how_to_edit_docs.md'
