Blinky, your "Hello World!", on Arduino Zero
--------------------------------------------

.. include common.rst

This tutorial shows you how to create, build and run the Blinky
application on an Arduino Zero board.

.. contents::
  :local:
  :depth: 2

Prerequisites
~~~~~~~~~~~~~

-  Meet the prerequisites listed in :doc:`Project Blinky <blinky>`.
-  Have an Arduino Zero board.
   Note: There are many flavors of Arduino. Make sure you are using an
   Arduino Zero. See below for the versions of Arduino Zero that are
   compatible with this tutorial.
-  Install the :doc:`OpenOCD debugger <../../get_started/native_install/cross_tools>`.

This tutorial uses the Arduino Zero Pro board. The tutorial has been
tested on the following three Arduino Zero boards - Zero, M0 Pro, and
Zero-Pro.

  .. figure:: ../../images/Zero_Usb_Ports.jpg
     :alt:  Arduino Zero
     :width: 200
     :align: left

  .. figure:: ../../images/Arduino-M0Pro-flat.jpg
     :alt:  Arduino M0 Pro
     :width: 160
     :align: left

  .. figure:: ../../images/ArduinoZeroPro-flat-org.jpg
     :alt:  Arduino Zero Pro
     :width: 160

Mynewt has not been tested on Arduino M0 which has no internal debugger
support.

Create a Project
~~~~~~~~~~~~~~~~

Create a new project if you do not have an existing one. You can skip
this step and proceed to `Fetch External Packages`_ if
you already created a project.

Run the following commands to create a new project:

.. code-block:: console

        $ mkdir ~/dev
        $ cd ~/dev
        $ newt new myproj
        Downloading project skeleton from apache/mynewt-blinky...
        Installing skeleton in myproj...
        Project myproj successfully created.
        $ cd myproj
        $ newt install
        apache-mynewt-core
        $

Fetch External Packages
~~~~~~~~~~~~~~~~~~~~~~~~

Mynewt uses source code provided directly from the chip manufacturer for
low level operations. Sometimes this code is licensed only for the
specific manufacturer of the chipset and cannot live in the Apache
Mynewt repository. That happens to be the case for the Arduino Zero
board which uses Atmel SAMD21. Runtime's github repository hosts such
external third-party packages and the newt tool can fetch them.

To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero
from the Runtime git repository, you need to add the repository to the
``project.yml`` file in your base project directory.

Here is an example ``project.yml`` file with the Arduino Zero repository
added. The sections with ``mynewt_arduino_zero`` that need to be added
to your project file are highlighted.

**Note:** On Windows platforms: You need to set ``vers`` to ``0-dev``
and use the latest master branch for both repositories.

.. code-block:: yaml
    :emphasize-lines: 6,14-18

    # project.yml
    project.name: "my_project"

    project.repositories:
        - apache-mynewt-core
        - mynewt_arduino_zero

    repository.apache-mynewt-core:
        type: github
        vers: 1-latest
        user: apache
        repo: mynewt-core

    repository.mynewt_arduino_zero:
        type: github
        vers: 1-latest
        user: runtimeco
        repo: mynewt_arduino_zero

Install the project dependencies using the ``newt install`` command
(you can specify ``-v`` for verbose output):

.. code-block:: console

    $ newt install
    apache-mynewt-core
    mynewt_arduino_zero
    $

**NOTE:** If there has been a new release of a repo used in your project
since you last installed it, the ``1-latest`` version for the repo in
the ``project.yml`` file will refer to the new release and will not
match the installed files. In that case you will get an error message
saying so and you will need to run ``newt upgrade`` to overwrite the
existing files with the latest codebase.

You need to create two targets for the Arduino Zero Pro board, one
for the bootloader and one for the Blinky application.

Run the following ``newt target`` commands, from your project
directory, to create a bootloader target. We name the target
``arduino_boot``.

.. code-block:: console

    $ newt target create arduino_boot
    $ newt target set arduino_boot bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero
    $ newt target set arduino_boot app=@mcuboot/boot/mynewt
    $ newt target set arduino_boot build_profile=optimized
    Target targets/arduino_boot successfully set target.build_profile to optimized
    $ newt target set arduino_boot syscfg=BSP_ARDUINO_ZERO_PRO=1
    Target targets/arduino_boot successfully set target.syscfg to BSP_ARDUINO_ZERO_PRO=1
    $

**Note:** If you have an Arduino Zero instead of an Arduino Zero Pro or
Arduino M0 Pro board, replace ``BSP_ARDUINO_ZERO_PRO`` with
``BSP_ARDUINO_ZERO`` in the last ``newt target set`` command.

These commands perform the following:

-  Create a target named ``arduino_boot`` for the Arduino Zero
   Bootloader.
-  Set the application for the ``arduino_boot`` target to the default
   MCUBoot bootloader (``@mcuboot/boot/mynewt``)
-  Set the board support package for the target to
   ``@mynewt_arduino_zero/hw/bsp/arduino_zero``. This is a reference to
   the downloaded Arduino Zero support from Github.
-  Use the "optimized" build profile for the ``arduino_boot`` target.
   This instructs Newt to generate smaller and more efficient code for
   this target. This setting is necessary due to the bootloader's strict
   size constraints.
-  Sets the system configuration setting for Board Support Package to
   support the Arduino Zero Pro.

See the :ref:`concepts` for more information on setting options.

Create a Target for the Blinky Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Run the following ``newt target`` commands to create the
Blinky application target. We name the application target
``arduino_blinky``.

.. code-block:: console

    $ newt target create arduino_blinky
    Target targets/arduino_blinky successfully created
    $ newt target set arduino_blinky app=apps/blinky
    Target targets/arduino_blinky successfully set target.app to apps/blinky
    $ newt target set arduino_blinky bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero
    Target targets/arduino_blinky successfully set target.bsp to @mynewt_arduino_zero/hw/bsp/arduino_zero
    $ newt target set arduino_blinky build_profile=debug
    Target targets/arduino_blinky successfully set target.build_profile to debug
    $ newt target set arduino_blinky syscfg=BSP_ARDUINO_ZERO_PRO=1
    Target targets/arduino_boot successfully set target.syscfg to BSP_ARDUINO_ZERO_PRO=1
    $

**Note:** If you have an Arduino Zero instead of a Arduino Zero Pro
board, replace ``BSP_ARDUINO_ZERO_PRO`` with ``BSP_ARDUINO_ZERO`` in the
last ``newt target set`` command.

Build the Bootloader
~~~~~~~~~~~~~~~~~~~~

Run the ``newt build arduino_boot`` command to build the bootloader:

.. code-block:: console

    $ newt build arduino_boot
    Building target targets/arduino_boot
    Compiling bin/targets/arduino_boot/generated/src/arduino_boot-sysinit-app.c
    Compiling repos/mcuboot/boot/bootutil/src/image_rsa.c
    Compiling repos/mcuboot/boot/bootutil/src/image_ec.c
    Compiling repos/mcuboot/boot/bootutil/src/image_ec256.c
    Compiling bin/targets/arduino_boot/generated/src/arduino_boot-sysflash.c
    Compiling repos/mcuboot/boot/bootutil/src/image_validate.c
    Compiling repos/mcuboot/boot/bootutil/src/bootutil_misc.c
    Compiling repos/mcuboot/boot/mynewt/src/main.c
    Compiling repos/apache-mynewt-core/crypto/mbedtls/src/arc4.c
    Compiling repos/mcuboot/boot/bootutil/src/loader.c
    Compiling repos/apache-mynewt-core/crypto/mbedtls/src/aes.c

          ....

    Archiving sys_mfg.a
    Archiving sys_sysinit.a
    Archiving util_mem.a
    Linking ~/dev/myproj/bin/targets/arduino_boot/app/boot/mynewt/mynewt.elf
    Target successfully built: targets/arduino_boot

Build the Blinky Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Run the ``newt build arduino_blinky`` command to build the Blinky
application image:

.. code-block:: console

    $ newt build arduino_blinky
    Building target targets/arduino_blinky
    Compiling repos/apache-mynewt-core/hw/hal/src/hal_flash.c
    Compiling apps/blinky/src/main.c
    Compiling repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/i2s/i2s.c
    Compiling repos/mynewt_arduino_zero/hw/bsp/arduino_zero/src/hal_bsp.c
    Compiling repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/i2s/i2s_callback.c
    Compiling repos/mynewt_arduino_zero/hw/mcu/atmel/samd21xx/src/sam0/drivers/nvm/nvm.c

         ...

    Archiving sys_mfg.a
    Archiving sys_sysinit.a
    Archiving util_mem.a
    Linking ~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.elf
    Target successfully built: targets/arduino_blinky

Connect to the Board
~~~~~~~~~~~~~~~~~~~~

Connect your computer to the Arduino Zero (from now on we'll call this
the target) with a Micro-USB cable through the Programming Port as shown
below. Mynewt will load the image onto the board and debug the target
through this port. You should see a green LED come on that indicates the
board has power.

No external debugger is required. The Arduino Zero comes with an
internal debugger that can be accessed by Mynewt.

The images below show the Arduino Zero Programming Port.

    .. figure:: ../../images/Zero_Usb_Ports.jpg
       :alt:  Arduino Zero
       :width: 280
       :align: left

    .. figure:: ../../images/ArduinoZeroPro-flat-org.jpg
       :alt:  Arduino Zero Pro
       :width: 240


Load the Bootloader onto the Board
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Run the ``newt load arduino_boot`` command to load the bootloader onto
the board:

.. code-block:: console

    $ newt load arduino_boot
    Loading bootloader
    $

The bootloader is loaded onto your board succesfully when the
``newt load`` command returns to the command prompt after the
``Loading bootloader`` status message. You can proceed to load and run
your Blinky application image (See `Run the Blinky Application`_).

If the ``newt load`` command outputs the following error messages, you
will need to erase the board.

.. code-block:: console

    $ newt load arduino_boot -v
    Loading bootloader
    Error: Downloading ~/dev/myproj/bin/targets/arduino_boot/boot/mynewt/mynewt.elf.bin to 0x0
    Open On-Chip Debugger 0.9.0 (2015-11-15-05:39)
    Licensed under GNU GPL v2
    For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
    Info : only one transport option; autoselect 'swd'
    adapter speed: 500 kHz
    adapter_nsrst_delay: 100
    cortex_m reset_config sysresetreq
    Info : CMSIS-DAP: SWD  Supported
    Info : CMSIS-DAP: JTAG Supported
    Info : CMSIS-DAP: Interface Initialised (SWD)
    Info : CMSIS-DAP: FW Version = 01.1F.0118
    Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1
    Info : CMSIS-DAP: Interface ready
    Info : clock speed 500 kHz
    Info : SWD IDCODE 0x0bc11477
    Info : at91samd21g18.cpu: hardware has 4 breakpoints, 2 watchpoints
    Error: Target not halted

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.

.. code-block:: console

    $ newt debug arduino_blinky
    (gdb) mon at91samd chip-erase
    chip erased
    chip erased
    (gdb) x/32wx 0
    0x0:    0xffffffff  0xffffffff  0xffffffff  0xffffffff
    0x10:   0xffffffff  0xffffffff  0xffffffff  0xffffffff
    0x20:   0xffffffff  0xffffffff  0xffffffff  0xffffffff
    0x30:   0xffffffff  0xffffffff  0xffffffff  0xffffffff
    0x40:   0xffffffff  0xffffffff  0xffffffff  0xffffffff
    0x50:   0xffffffff  0xffffffff  0xffffffff  0xffffffff
    0x60:   0xffffffff  0xffffffff  0xffffffff  0xffffffff
    0x70:   0xffffffff  0xffffffff  0xffffffff  0xffffffff
    (gdb) q

Run the ``newt load arduino_boot`` command again after erasing the
board.

:red:`Reminder if you are using Docker`: When working with actual hardware,
remember that each board has an ID. If you swap boards and do not
refresh the USB Device Filter on the VirtualBox UI, the ID might be
stale and the Docker instance may not be able to see the board
correctly. For example, you may see an error message like
``Error: unable to find CMSIS-DAP device`` when you try to load or run
an image on the board. In that case, you need to click on the USB link
in VirtualBox UI, remove the existing USB Device Filter (e.g. "Atmel
Corp. EDBG CMSIS-DAP[0101]") by clicking on the "Removes selected USB
filter" button, and add a new filter by clicking on the "Adds new USB
filter" button.

Run the Blinky Application
~~~~~~~~~~~~~~~~~~~~~~~~~~

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.

.. code-block:: console

    $ newt run arduino_blinky 1.0.0
    App image succesfully generated: ~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.img
    Loading app image into slot 1
    [~/dev/myproj/repos/mynewt_arduino_zero/hw/bsp/arduino_zero/arduino_zero_debug.sh ~/dev/myproj/repos/mynewt_arduino_zero/hw/bsp/arduino_zero ~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky]
    Open On-Chip Debugger 0.9.0 (2015-11-15-13:10)
    Licensed under GNU GPL v2
    For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
    Info : only one transport option; autoselect 'swd'
    adapter speed: 500 kHz
    adapter_nsrst_delay: 100
    cortex_m reset_config sysresetreq
    Info : CMSIS-DAP: SWD  Supported
    Info : CMSIS-DAP: JTAG Supported
    Info : CMSIS-DAP: Interface Initialised (SWD)
    Info : CMSIS-DAP: FW Version = 01.1F.0118
    Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1
    Info : CMSIS-DAP: Interface ready
    Info : clock speed 500 kHz
    Info : SWD IDCODE 0x0bc11477
    Info : at91samd21g18.cpu: hardware has 4 breakpoints, 2 watchpoints
    target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x21000000 pc: 0x0000fca6 psp: 0x20002408
    GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from ~/dev/myproj/bin/targets/arduino_blinky/app/apps/blinky/blinky.elf...(no debugging symbols found)...done.
    Info : accepting 'gdb' connection on tcp/3333
    Info : SAMD MCU: SAMD21G18A (256KB Flash, 32KB RAM)
    0x0000fca6 in os_tick_idle ()
    target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x21000000 pc: 0x000000b8 msp: 0x20008000
    target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x21000000 pc: 0x000000b8 msp: 0x20008000
    (gdb) r
    The "remote" target does not support "run".  Try "help target" or "continue".
    (gdb) c
    Continuing.

**NOTE:** The 1.0.0 is the version number to assign to the image. You
may assign an arbitrary version number. If you are not providing remote
upgrade, and are just developing locally, you can provide 1.0.0 for
every image version.

If you want the image to run without the debugger connected, simply quit
the debugger and restart the board. The image you programmed will come
and run on the Arduino on next boot!

You should see the LED blink!
