Super-Simple-Tasker
QuarkTS
Our great sponsors
Super-Simple-Tasker | QuarkTS | |
---|---|---|
3 | 1 | |
129 | 167 | |
3.9% | - | |
4.8 | 5.1 | |
about 2 months ago | 5 months ago | |
C | C | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Super-Simple-Tasker
-
At what point would you consider using an RTOS?
Lately I have been working with interrupt driven task frameworks on ARM Cortex-M. Basically they are using the ARM NVIC as a task scheduler. Examples for C/C++ include this one: Super Simple Tasker. For Rust there is RTIC. Both are based on similar ideas of using NVIC as scheduling engine. Very efficient resource-wise but use a somewhat different programming paradigm than traditional RTOS threads.
-
Seeking Innovative Project Suggestions
Take a look at the open-source Super-Simple Tasker project on GitHub. This project implements a preemptive RTOS/scheduler in the hardware of the ARM Cortex-M. It is related to such concepts and projects as:
-
How to deal with fast control loops in a RTOS environment?
I agree with KenaDra that such a kernel would be ideal for fast control loops and hard real-time requirements, so the OP should definitely take a look. Specifically for STM32 (ARM Cortex-M), there are some hardware implementations of such kernels that take advantage of the NVIC. An example is the SST for ARM Cortex-M. This kernel will outperform any traditional RTOS kernel on Cortex-M.
QuarkTS
What are some alternatives?
lwesp - Lightweight and versatile AT parser library for ESP8266 and ESP32 devices.
rt-thread - RT-Thread is an open source IoT real-time operating system (RTOS).
rulos - Ravenna Ultra-Low-Altitude Operating System: An embedded OS for AVR and ARM CPUs
atomicx - Pure C++ non stack displacement that implements cooperative multitask library for SINGLE CORE embedded development on DSPs, Microcontrollers and Processor (ARV, RISCV, ARM(all), TENSY, ESP), while also suitable for applications on Windows, Linux and MacOs and compatible with some RTOSs as well. This library allows full event driven applications while uses SMARTs LOCKS and WAIT/NOTIFY locks to also transport messages, MESSAGE BROKER is also provided (Those uses Message type size_t message and size_t tags, where tag will give meaning to the message). That implementation also introduce thread safe QUEUE (full object) and smart_ptr (to allow better implementation on minimal environment)
crect - A C++, compile-time, reactive RTOS for the Stack Resource Policy based Real-Time For the Masses kernel
picoRTOS - Very small, lightning fast, yet portable RTOS with SMP suppport
PIF-Image-Format - Image format, tools & librares for limited embedded systems
qpc - QP/C Real-Time Embedded Framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
qpcpp - QP/C++ Real-Time Embedded Framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
modern-embedded-programming-course - Companion repository to the "Modern Embedded Systems Programming" video course.
MiROS - MiROS (Minimal Real-Time Operating System) for ARM Cortex-M
stm32f429 - Keil projects and libraries for STM32F4xx devices