Real-Time Operating System

NitroOS v5.3.0

A preemptive real-time operating system optimized for ARM Cortex-M microcontrollers. Written in 100% assembly for maximum performance and determinism.

32
Priority Levels
<10µs
Context Switch
100%
Assembly Core
nitroos_demo.c
// Create a thread with priority 16
nt_thread_create(&thread, task_entry, 16);

// Mutex with priority inheritance
nt_mutex_get(&mutex, NT_WAIT_FOREVER);
critical_section();
nt_mutex_put(&mutex);

// Semaphore signaling
nt_semaphore_put(&sem);

// Message queue communication
nt_queue_send(&queue, &msg, NT_NO_WAIT);

// Event flags
nt_event_flags_set(&events, 0x01);

// Software timer
nt_timer_activate(&timer);

RTOS Features

Preemptive Scheduling

32-level priority-based preemptive scheduler with round-robin for same-priority threads.

Priority Inheritance

Mutex with Priority Inheritance Protocol prevents priority inversion in real-time systems.

Synchronization

Semaphores, event flags, message queues, reader-writer locks, and thread barriers.

Memory Management

Fixed-block and variable-block memory pools with deterministic allocation time.

Software Timers

One-shot and periodic timers with callback support. Integrated watchdog timer.

MISRA-C 2025

Fully compliant with MISRA-C 2025 guidelines for safety-critical applications.

API Functions

nt_thread_create()nt_thread_delete()nt_thread_suspend()nt_thread_resume() nt_thread_sleep()nt_thread_relinquish()nt_mutex_get()nt_mutex_put() nt_semaphore_get()nt_semaphore_put()nt_queue_send()nt_queue_receive() nt_event_flags_set()nt_event_flags_get()nt_timer_create()nt_timer_activate() nt_byte_allocate()nt_byte_release()nt_block_allocate()nt_block_release()

Build reliable real-time systems with NitroOS

Contact us for evaluation access and learn how NitroOS can power your embedded applications.

Contact SalesBack to Home