/example-mbedos-blinky

simple example program to blink an LED on an mbed board with mbed OS

Primary LanguageC++Apache License 2.0Apache-2.0

example-mbedos-blinky

Circle CI

Blinky is a simple example program that blinks an LED on an mbed-enabled board with mbed OS.

arch-ble-gcc

arch-link-gcc

atmel-samd21g18a-gcc

atmel-samg55j19-gcc

atmel-samr21g18a-gcc

bbc-microbit-classic-gcc-nosd

bbc-microbit-classic-gcc-s130

bbc-microbit-classic-gcc

bbc-microbit-gcc

blenano-gcc

efm32gg-stk-gcc

efm32hg-stk-gcc

efm32lg-stk-gcc

efm32wg-stk-gcc

frdm-k22f-gcc

frdm-k64f-gcc

frdm-k64f-st-ble-gcc

k64f-gcc

kinetis-k22f-gcc

kinetis-k64-gcc

lex-test-gcc

mbed-gcc

mkit-gcc

nordic-nrf51822-16k-gcc

nordic-nrf51822-32k-gcc

nordic-nrf51822-gcc-unofficial-fota

nordic-nrf51822-gcc-unofficial-no-softdevice

nordic-nrf51822-gcc-unofficial

nordic-nrf51822-gcc

nrf51dk-gcc

nxp-lpc111x-gcc

nxp-lpc1768-gcc

nxpdk5-jn517x-gcc

redbearlab-nrf51822-gcc

seeedtinyble-gcc

st-nucleo-f091rc-gcc

st-nucleo-f401re-gcc

st-nucleo-f401re-st-ble-gcc

st-stm32f439zi-gcc

stk3700-gcc

stm32f4-disco-gcc

stm32f411e-disco-gcc

stm32f411re-nucleo-gcc

stm32f429i-disco-gcc

target-onsemi-ncs36510-gcc

tinyble-gcc

ublox-c029-gcc

ublox-odin-w2-evk-gcc

ublox-odin-w2-gcc

xdk110-gcc

What Blinky does

This is a short review of the Blinky code. More information is available on the user guide, where we explain how to write mbed OS applications and how to work with yotta.

  1. The code begins with include. The included header is mbed.h, from the mbed-drivers library. It is a key library for mbed OS, and includes most of the functionality standard applications need. yotta, our build system, includes mbed-drivers during compilation because that library is listed as a dependency in Blinky's module.json file.

  2. mbed OS applications start with app_start, replacing main.

  3. MINAR is the mbed OS scheduler; we use it here to create a callback that will run every 500 milliseconds. The function we're running is blinky.

  4. blinky creates a DigitalOut using the LED1 on our board. It then turns the LED on and off and prints its status to the terminal using printf.

Tip: To learn more about writing applications for mbed OS, see the mbed OS user guide's review of Blinky.

Building the example

If you're using yotta as a command-line tool

Tip: If you need help setting up yotta or building a project, see our quick guide, which uses the same example.

To build Blinky with yotta as a command-line tool:

  1. Clone the repository from GitHub:

    $ git clone https://github.com/ARMmbed/example-mbedos-blinky.git
    $ cd example-mbedos-blinky
    
  2. Select a target platform:

    $ yotta target frdm-k64f-gcc
    
  3. Build it:

    $ yotta build
    ... bunch of build messages ...
    [135/135] Linking CXX executable source/example-mbedos-blinky
    

yotta will put the compiled binary in the project's /build folder. Copy the binary /build/frdm-k64f-gcc/source/example-mbedos-blinky.bin to your mbed board over USB.

If you're on the online IDE

Tip: If you need help getting started with the IDE, see our quick guide, which uses the same example.

To build Blinky in your IDE workspace:

  1. The IDE needs to know which target to build for. Click Target:

  2. The list displays your recently used targets. If the target you need is listed, click it.

  3. If your target isn't in the drop-down list, click Search in Registry. A list of targets opens. Select your target and click Set.

  4. Click Build Project.

The IDE will build the project as a binary file and ask you to download it. When the download finishes, copy the file to your mbed board over USB.