Jump to content
NicholasLindan

Announcing the PRTOS preemptive real time operating system

Recommended Posts

Announcing 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

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×