Register / Login  |  Desktop view  |  Jump to bottom of page

IoAbstraction & TaskManagerIO » IoAbstraction tasking platform and comparison with other tasking platforms

Author: scjerry
15/07/2020 16:02:35
Hi Dave
Looking at using a SAMD processor (Adafruit Feather M0). Can you compare with other tasking frameworks such as RTOS https://cypresssemiconductorco.github.io/abstraction-rtos/html/index.html and FreeRTOS
http://ww1.microchip.com/downloads/en/appnotes/atmel-42382-getting-started-with-freertos-on-atmel-sam-flash-mcus_applicationnote_at04056.pdf ?
Jerry

Author: davetcc
16/07/2020 09:30:11
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.

Author: davetcc
16/07/2020 10:42:14
I just re-read again. Do either of those RTOS libraries work on an Atmel cortex M0 with 32K RAM and 256K flash? The board specs look very light for that usage. Maybe it works, I don't know.

Personally, when I use mbed RTOS, I use really big boards with 256K RAM and Cortex M4 processors. Even the new Arduino Nano BLE and ESP32 that both run an RTOS have much larger RAM and clock speeds.

Like I say, this is just my opinion, as the old saying goes, "your mileage may vary".




Register / Login  |  Desktop view  |  Jump to top of page