They are both very different to be honest. Task manager is basically more similar to a co-routines implementation than an RTOS, in fact, taskManager runs on top of mbed RTOS. There a huge debate around if it's better to do things on one thread, or to start many threads, but task manager sits on the side of doing things on one thread. This means your core business logic does not need to be thread-safe, it will never be invoked on multiple threads. Therefore, anything that needs to done asynchronously is either submitted to task manager for future processing, or an asynchronous task started that results in a new task being added to task manager when finished (or an interrupt raised).
What you use it up to you, based on the project that you need to work on, we don't have a port for FreeRTOS, so if you go that route, it's unlikely task manager would work without modifications and we don't support that configuration at the moment.
Boards that we fully support:
* mbed RTOS 5 in full, including all abstractions. Tested on ST microelectronics cortex 4 board.
* Arduino on AVR (Uno, Mega, Mighty etc), SAMD (MKR and Zero), Nano (IoT and Nano 33 BLE).
* ESP8266 and ESP32 in full via Arduino, augmented as needed with native API calls to fill the gaps.
Dave.
|