Search the Community
Showing results for tags 'cortos'.
Found 1 result
NicholasLindan posted a topic in GeneralAnnouncing the release PRTOS, an open-source preemptive real time operating system kernel for bare-metal applications. You may find PRTOS a good choice if you want to learn about preemptive multitasking. The API, though having all the features of FreeRTOS or uC/OS, is much simpler and easier to learn. Additionally the system will fit into much smaller processors. PRTOS is released by Cleveland Engineering Design - the developer of the CoRTOS cooperative real time OS, also available on Sourceforge. PRTOS presently supports the MSP430 and AVR architectures. PRTOS is available on Sourceforge at https://sourceforge.net/projects/prtos-preemptive-rtos/ The advantages of PRTOS are: It has the smallest footprint of any true preemptive system: 1.3kB for basic scheduling and task control, 4.8kB with all the features below (MSP430 / size optimization); Only 950 lines of code implement all of the RTOS features (SLOC-L); The system is configurable, you include only the features you need; There is minimal to zero interrupt burden; The system is well documented with a short but comprehensive manual, well-commented source code, and a test suite demonstrating the features; The system is proven - it has been in use since 1982 with applications in in-vitro medical equipment, process control instrumentation and industrial machinery; It is released under a GPL V3 license and commercial licensing is available. PRTOS provides the following features: Scheduling Preemptive Prioritized Round-robin equal priority tasks Task Control Initialize/Ready Suspend/Resume Lock/Unlock Change priority Relinquish a round-robin turn Communication Messages, priority messages Signals Delay & Time Task delays Time-outs Periodic signals Run timers Resources (mutexes) Multiple resource ownership Priority inversion mitigation Priority or FIFO queuing Semaphores Binary Counting Signaling ISR -> task functions Send signal Send message, send priority message Resume task