BRTOS is a lightweight preemptive real time operating system designed for low end microcontrollers.
More info about BRTOS:
https://code.google.com/p/brtos/
https://brtosblog.wordpress.com/
In this demo, clock is configured as:
External 8MHz from STLINK V2.
- Main clock: 84MHz
- AHB clock: 84MHz
- APB1 clock: 42MHz
- APB2 clcok: 84MHz
- Timers clock: 84MHz
- SDIO clock: 48MHz
Check more info about clock config for NucleoF401 in this post.
Flash Prefetch enabled and 2 wait states (minimum for 84MHz and 3.3V).
This demo uses two tasks. One of them flashes the LED and prints a string with a counter in serial every second.
The second task is used to handle the user button switch press event. When the user press the button a string is printed in serial.
Using a mutex to avoid conflicts with two tasks sharing the serial.
Serial used is USART2 that is connected in STLINK V2-1 and becomes a Virtual Serial Com port when STLINK is connected.
The demo code is hosted at my GitHub account:
https://github.com/miguelmoreto/NucleoF401-COIDE-BRTOS