Luke Parkin / Mbed OS mbed-os-example-mbed5-blinky
Committer:
98127869-a5d9-49e4-b5d6-06fd9acda6d9
Date:
Tue Nov 29 14:59:08 2022 +0000
Revision:
0:62f49adb8b8f
fun

Who changed what in which revision?

UserRevisionLine numberNew contents of line
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 1 ![](./resources/official_armmbed_example_badge.png)
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 2 # Blinky Mbed OS example
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 3
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 4 The example project is part of the [Arm Mbed OS Official Examples](https://os.mbed.com/code/) and is the [getting started example for Mbed OS](https://os.mbed.com/docs/mbed-os/v5.14/quick-start/index.html). It contains an application that repeatedly blinks an LED on supported [Mbed boards](https://os.mbed.com/platforms/).
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 5
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 6 You can build the project with all supported [Mbed OS build tools](https://os.mbed.com/docs/mbed-os/latest/tools/index.html). However, this example project specifically refers to the command-line interface tool [Arm Mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli).
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 7 (Note: To see a rendered example you can import into the Arm Online Compiler, please see our [import quick start](https://os.mbed.com/docs/mbed-os/latest/quick-start/online-with-the-online-compiler.html#importing-the-code).)
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 8
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 9 1. [Install Mbed CLI](https://os.mbed.com/docs/mbed-os/latest/quick-start/offline-with-mbed-cli.html).
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 10
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 11 1. Clone this repository on your system, and change the current directory to where the project was cloned:
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 12
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 13 ```bash
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 14 $ git clone git@github.com:armmbed/mbed-os-example-blinky && cd mbed-os-example-blinky
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 15 ```
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 16
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 17 Alternatively, you can download the example project with Arm Mbed CLI using the `import` subcommand:
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 18
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 19 ```bash
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 20 $ mbed import mbed-os-example-blinky && cd mbed-os-example-blinky
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 21 ```
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 22
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 23
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 24 ## Application functionality
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 25
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 26 The `main()` function is the single thread in the application. It toggles the state of a digital output connected to an LED on the board.
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 27
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 28 ## Building and running
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 29
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 30 1. Connect a USB cable between the USB port on the board and the host computer.
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 31 2. <a name="build_cmd"></a> Run the following command to build the example project and program the microcontroller flash memory:
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 32 ```bash
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 33 $ mbed compile -m <TARGET> -t <TOOLCHAIN> --flash
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 34 ```
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 35 The binary is located at `./BUILD/<TARGET>/<TOOLCHAIN>/mbed-os-example-blinky.bin`.
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 36
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 37 Alternatively, you can manually copy the binary to the board, which you mount on the host computer over USB.
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 38
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 39 Depending on the target, you can build the example project with the `GCC_ARM`, `ARM` or `IAR` toolchain. After installing Arm Mbed CLI, run the command below to determine which toolchain supports your target:
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 40
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 41 ```bash
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 42 $ mbed compile -S
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 43 ```
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 44
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 45 ## Expected output
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 46 The LED on your target turns on and off every 500 milliseconds.
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 47
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 48
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 49 ## Troubleshooting
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 50 If you have problems, you can review the [documentation](https://os.mbed.com/docs/latest/tutorials/debugging.html) for suggestions on what could be wrong and how to fix it.
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 51
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 52 ## Related Links
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 53
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 54 * [Mbed OS Stats API](https://os.mbed.com/docs/latest/apis/mbed-statistics.html).
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 55 * [Mbed OS Configuration](https://os.mbed.com/docs/latest/reference/configuration.html).
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 56 * [Mbed OS Serial Communication](https://os.mbed.com/docs/latest/tutorials/serial-communication.html).
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 57 * [Mbed OS bare metal](https://os.mbed.com/docs/mbed-os/latest/reference/mbed-os-bare-metal.html).
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 58 * [Mbed boards](https://os.mbed.com/platforms/).
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 59
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 60 ### License and contributions
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 61
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 62 The software is provided under Apache-2.0 license. Contributions to this project are accepted under the same license. Please see contributing.md for more info.
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 63
98127869-a5d9-49e4-b5d6-06fd9acda6d9 0:62f49adb8b8f 64 This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.