ESP32 FreeRTOS vs taskshceduler (what is the difference?)

Thread Starter

zazas321

Joined Nov 29, 2015
936
Hello. I have been programming the ESP32 for a while now but never really HAD to use FreeRTOS. I couple of weeks back, I have tried to use FreeRTOS to do various tasks and I liked it very much. Now I think I am going to be using FreeRTOS for every project! :D

Anyways, I have been reading and learning about various ESP32 task scheduling methods and have found this post:
https://www.electrosoftcloud.com/en/arduino-taskscheduler-no-more-millis-or-delay/

I have 1 question:

What is the real difference between FreeRTOS and TaskScheduler? It seems that both of these are very simmilar
 

MrSalts

Joined Apr 2, 2020
2,767
Hello. I have been programming the ESP32 for a while now but never really HAD to use FreeRTOS. I couple of weeks back, I have tried to use FreeRTOS to do various tasks and I liked it very much. Now I think I am going to be using FreeRTOS for every project! :D

Anyways, I have been reading and learning about various ESP32 task scheduling methods and have found this post:
https://www.electrosoftcloud.com/en/arduino-taskscheduler-no-more-millis-or-delay/

I have 1 question:

What is the real difference between FreeRTOS and TaskScheduler? It seems that both of these are very simmilar
freeRTOS is a standalone OS that has been ported to many microcontrollers.

the TsskScheduler is a plug-in for ArduinoIDE and appears to have some convenient scheduling features - if you want to do one of the things it was designed to do. It is likely a challenge to modify the core scheduler code if you want to do something your way instead of the developer's way.
 

nsaspook

Joined Aug 27, 2009
13,261
A task-scheduler is part of a typical RTOS implementation.
Schedulers
As we know, the illusion that all the tasks are running concurrently is achieved by allowing each to have a share of the processor time. This is the core functionality of a kernel. The way that time is allocated between tasks is termed “scheduling”. The scheduler is the software that determines which task should be run next. The logic of the scheduler and the mechanism that determines when it should be run is the scheduling algorithm. We will look at a number of scheduling algorithms in this section. Task scheduling is actually a vast subject, with many whole books devoted to it. The intention here is to just give sufficient introduction that you can understand what a given RTOS has to offer in this respect.
https://www.embedded.com/tasks-and-scheduling/
https://www.embedded.com/program-structure-and-real-time/
https://www.embedded.com/introducing-rtos-revealed/
 
Top