Messages transmitted via pc.printf to PC are supplemented with checksums to increase the reliability of communication.The pc.printf command was introduced, which sends an empty string once per second in case of data loss (corruption) during transfer

Dependencies:   _24LCXXX

Committer:
Aleksk
Date:
Fri Sep 11 08:00:35 2020 +0000
Revision:
8:bf73cc68a823
Parent:
0:f2aaa8c6decf
Messages transmitted via pc.printf to PC are supplemented with checksums to increase the reliability of communication.The pc.printf command was introduced, which sends an empty string once per second in case of data loss (corruption) during transfer

Who changed what in which revision?

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