argon-rtos

Argon RTOS is a lightweight, preemptive real-time operating system designed for efficient execution on Arm Cortex-M microcontrollers.

It features highly readable and maintainable code with minimal overhead, catering to embedded systems developers requiring a balance of performance and resource conservation.

Features

  • Preemptive Multitasking: Offers preemptive task scheduling, which allows for a responsive system even under heavy load conditions.
  • C and C++ APIs: Offers APIs in both C and C++ to provide flexibility for different programming preferences and scenarios.
  • Kernel Objects: Includes thread management, semaphores, mutexes, queues, channels, timers, and run loops.
  • Efficient Timers: Timers are managed efficiently by run loops, which allow for timers to be executed within specific thread contexts.
  • Recursive Mutexes with Priority Inheritance: To avoid priority inversion, mutexes in Argon are recursive and support priority inheritance.
  • Dynamic or Static Allocation: The number of kernel objects is unlimited, and they can either be dynamically allocated at runtime or statically allocated at compile time.
  • No Mandatory Dynamic Memory: Use of dynamic memory (malloc) is not compulsory for kernel object creation, allowing for more predictable memory management.
  • Designed for Readability: The source code for Argon is written to be easy to understand and maintain, with extensive commentary.
  • Active Development and Stable API: The RTOS is under active development with a stable API that has been well-tested in various applications.
  • Interrupt Management: Exceptional handling of IRQs, designed to never disable IRQs for Cortex-M cores (with specific exceptions for Cortex-M0+).
  • Comprehensive Documentation: Comes with thorough documentation that can be accessed online or generated locally using Doxygen.
  • Open Source and BSD Licensed: Released under the BSD three-clause license, ensuring open-source collaboration and contributions.

Website: https://github.com/flit/argon-rtos

Source code: https://github.com/flit/argon-rtos

License: BSD 3-Clause "New" or "Revised" License


argon-rtos Platforms

  • ARM

argon-rtos Components