C Microkernel Realtime eXecutive
Realtime Operating System for Cortex-M based microcontrollers
 
Loading...
Searching...
No Matches
Kernel API

Description

Public API for userspace code to interface with the kernel.

This API provides access to all services of the CMRX RTOS and covers all callbacks CMRX might have into integrators's code. This API is designed to be cross-platform compatible and from the userspace point of view, it is presented as functions that can be called.

For certain purposes, mainly for customization, CMRX might require integrator to provide some callbacks that CMRX can call. These callbacks are also cross-platform compatible and allow the integrator to customize some basic services such as clock source and power management.

Modules

 Interrupt Service Routines
 Kernel services accessible from interrupt service handlers.
 
 Mutexes / Futexes
 CMRX offers mutual exclusive access facilities for userspace processes.
 
 Named constants for errors
 
 Remote Procedure Calls
 API to create remote procedure call services and to call them.
 
 Shared memory
 API to declare memory as shared between two processes.
 
 Signals
 API for sending signals and handling incoming signals.
 
 Static initialization
 Mechanisms provided for application designer to statically initialize objects.
 
 Threading functions
 Functions providing support for manipulation of system execution state.
 
 Timers
 Kernel offers mechanism to interrupt, or periodically schedule execution of thread.
 
 Timing provider API
 API providing clock source to the kernel.
 

Macros

#define NULL   ((void *) 0)
 Name the null pointer.
 

Typedefs

typedef uint8_t Thread_t
 Data type used for thread IDs.
 
typedef uint8_t Process_t
 Data type used for process IDs.
 

Macro Definition Documentation

◆ NULL

#define NULL   ((void *) 0)

Name the null pointer.

NULL is not a C name, rather than POSIX one. Introduce it here so we can have a named null pointer rather than a magic constant.

Typedef Documentation

◆ Process_t

typedef uint8_t Process_t

Data type used for process IDs.

◆ Thread_t

typedef uint8_t Thread_t

Data type used for thread IDs.