Starter code for ELEC241 C1 2019-2020

Committer:
noutram
Date:
Fri Mar 06 15:08:39 2020 +0000
Revision:
0:9e572b2e2cc8
Starter code for ELEC241 C1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
noutram 0:9e572b2e2cc8 1 ![](./resources/official_armmbed_example_badge.png)
noutram 0:9e572b2e2cc8 2 # Blinky Mbed OS example
noutram 0:9e572b2e2cc8 3
noutram 0:9e572b2e2cc8 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/).
noutram 0:9e572b2e2cc8 5
noutram 0:9e572b2e2cc8 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).
noutram 0:9e572b2e2cc8 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).)
noutram 0:9e572b2e2cc8 8
noutram 0:9e572b2e2cc8 9 1. [Install Mbed CLI](https://os.mbed.com/docs/mbed-os/latest/quick-start/offline-with-mbed-cli.html).
noutram 0:9e572b2e2cc8 10
noutram 0:9e572b2e2cc8 11 1. Clone this repository on your system, and change the current directory to where the project was cloned:
noutram 0:9e572b2e2cc8 12
noutram 0:9e572b2e2cc8 13 ```bash
noutram 0:9e572b2e2cc8 14 $ git clone git@github.com:armmbed/mbed-os-example-blinky && cd mbed-os-example-blinky
noutram 0:9e572b2e2cc8 15 ```
noutram 0:9e572b2e2cc8 16
noutram 0:9e572b2e2cc8 17 Alternatively, you can download the example project with Arm Mbed CLI using the `import` subcommand:
noutram 0:9e572b2e2cc8 18
noutram 0:9e572b2e2cc8 19 ```bash
noutram 0:9e572b2e2cc8 20 $ mbed import mbed-os-example-blinky && cd mbed-os-example-blinky
noutram 0:9e572b2e2cc8 21 ```
noutram 0:9e572b2e2cc8 22
noutram 0:9e572b2e2cc8 23
noutram 0:9e572b2e2cc8 24 ## Application functionality
noutram 0:9e572b2e2cc8 25
noutram 0:9e572b2e2cc8 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.
noutram 0:9e572b2e2cc8 27
noutram 0:9e572b2e2cc8 28 ## Building and running
noutram 0:9e572b2e2cc8 29
noutram 0:9e572b2e2cc8 30 1. Connect a USB cable between the USB port on the board and the host computer.
noutram 0:9e572b2e2cc8 31 2. <a name="build_cmd"></a> Run the following command to build the example project and program the microcontroller flash memory:
noutram 0:9e572b2e2cc8 32 ```bash
noutram 0:9e572b2e2cc8 33 $ mbed compile -m <TARGET> -t <TOOLCHAIN> --flash
noutram 0:9e572b2e2cc8 34 ```
noutram 0:9e572b2e2cc8 35 The binary is located at `./BUILD/<TARGET>/<TOOLCHAIN>/mbed-os-example-blinky.bin`.
noutram 0:9e572b2e2cc8 36
noutram 0:9e572b2e2cc8 37 Alternatively, you can manually copy the binary to the board, which you mount on the host computer over USB.
noutram 0:9e572b2e2cc8 38
noutram 0:9e572b2e2cc8 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:
noutram 0:9e572b2e2cc8 40
noutram 0:9e572b2e2cc8 41 ```bash
noutram 0:9e572b2e2cc8 42 $ mbed compile -S
noutram 0:9e572b2e2cc8 43 ```
noutram 0:9e572b2e2cc8 44
noutram 0:9e572b2e2cc8 45 ## Expected output
noutram 0:9e572b2e2cc8 46 The LED on your target turns on and off every 500 milliseconds.
noutram 0:9e572b2e2cc8 47
noutram 0:9e572b2e2cc8 48
noutram 0:9e572b2e2cc8 49 ## Troubleshooting
noutram 0:9e572b2e2cc8 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.
noutram 0:9e572b2e2cc8 51
noutram 0:9e572b2e2cc8 52 ## Related Links
noutram 0:9e572b2e2cc8 53
noutram 0:9e572b2e2cc8 54 * [Mbed OS Stats API](https://os.mbed.com/docs/latest/apis/mbed-statistics.html).
noutram 0:9e572b2e2cc8 55 * [Mbed OS Configuration](https://os.mbed.com/docs/latest/reference/configuration.html).
noutram 0:9e572b2e2cc8 56 * [Mbed OS Serial Communication](https://os.mbed.com/docs/latest/tutorials/serial-communication.html).
noutram 0:9e572b2e2cc8 57 * [Mbed OS bare metal](https://os.mbed.com/docs/mbed-os/latest/reference/mbed-os-bare-metal.html).
noutram 0:9e572b2e2cc8 58 * [Mbed boards](https://os.mbed.com/platforms/).
noutram 0:9e572b2e2cc8 59
noutram 0:9e572b2e2cc8 60 ### License and contributions
noutram 0:9e572b2e2cc8 61
noutram 0:9e572b2e2cc8 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.
noutram 0:9e572b2e2cc8 63
noutram 0:9e572b2e2cc8 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.