2022-05-01 11:35 PM
Is there any task schedular for STM32? I want a bare metal task schedular for scheduling tasks so I wanted to know if there is any existing task schedular in libraries like nordic has in its SDK. If not any recommendations?
The main reason I want schedular is because I have multiple applications running on STM32L031K6 for eg: UART, EEPROM operations, IO control etc. And I want to schedule those tasks as the are occured.
2022-05-02 12:42 AM
FreeRTOS, also available in CubeIDE.
2022-05-02 12:46 AM
There is no other option? Like basic schedular (queue) in HAL libraries?
2022-05-02 05:38 PM
No, HAL is only a driver library and a broken, bloated and practically useless anyway. ST has a scheduler in a STM32CubeWB/WL packages, which they call a "sequencer" and a "timer". Both are described in AN5289 section 4.
Also check out these and some others:
https://github.com/cocoOS/cocoOS
https://github.com/arkhipenko/TaskScheduler
By the way, I looked at those:
https://devzone.nordicsemi.com/f/nordic-q-a/63209/nrf-sdk-scheduler-vs-task-manager
Do they really not provide a software timers at all?
Personally I didn't found any that meets my requirements and wrote my own. Of course, a better one... :smiling_face_with_smiling_eyes:
2022-05-03 01:41 AM
Hii, thanks for your reply. I saw sequencer you shared and it wouldnt work for me as it takes functions which have zero arguements as in (void)(* task)(void) but for my applications I need to pass two arguements event_data and event_size where event_data is an array and event_size is size of the array. (void)(* task)(void*, uint16_t) is the format I need. So, is there any other option for this?
2022-05-03 02:04 PM
You can pass any other data through global variables or other constructions and send an event to the task, which signals the necessity to process that data.
2022-05-03 02:37 PM
STM32L031 has only 8K RAM and 32K flash.
Not comfortable for FreeRTOS. Maybe only the co-routine variant.
2022-05-09 03:22 AM
Hi. For the timer you shared, does this timer server works on systick? or something else?