PROGRAM SUBJECT : USE OF CALLBACK FUNCTION & THREAD STATUS MONITORING AND FLAG MECHANISM. WHEN DEAL WITH THREAD CALLBACK FUNCTION IS MORE USEFUL WHEN COMMON FUNCTION SHARING BETWEEN MULTI THREAD SYSTEM. THREAD STATUS MONITORING AND FLAG MECHANISM PROVIDE EFFICIENT WAY FOR COMMUNICATION BETWEEN DIFFERENT PROCESS. // CREATED BY : JAYDEEP SHAH -- radhey04ec@gmail.com

Committer:
radhey04ec
Date:
Wed Jul 15 06:22:56 2020 +0000
Revision:
0:b57dcfa14bbb
CALLBACK FUNCTION & THREAD STATUS CHECKING; COMMIT_DONE;

Who changed what in which revision?

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