#include <cmsis-plus/os-versions.h>#include <cmsis-plus/rtos/port/os-decls.h>#include <cmsis-plus/diag/trace.h>#include <cstdint>#include <cstddef>#include <cerrno>#include <cstring>#include <cmsis-plus/rtos/internal/os-lists.h>#include <cmsis-plus/rtos/os-types.h>#include <cmsis-plus/estd/system_error>Go to the source code of this file.
Classes | |
| class | os::rtos::internal::attributes_clocked |
| Base class for attributes. More... | |
| class | os::rtos::port::clock_highres |
| class | os::rtos::port::clock_rtc |
| class | os::rtos::port::clock_systick |
| class | os::rtos::port::context |
| class | os::rtos::port::interrupts::critical_section |
| class | os::rtos::null_locker |
| Null locker. More... | |
| class | os::rtos::internal::object_named |
| Base class for named objects. More... | |
| class | os::rtos::internal::object_named_system |
| Base class for named system objects. More... | |
| class | os::rtos::port::thread |
| class | os::rtos::port::interrupts::uncritical_section |
Namespaces | |
| namespace | os |
| System namespace. | |
| namespace | os::rtos |
| RTOS namespace. | |
| namespace | os::rtos::flags |
| Generic flags namespace. | |
| namespace | os::rtos::flags::mode |
| Flags modes. | |
| namespace | os::rtos::internal |
| A namespace to group all internal implementation objects. | |
| namespace | os::rtos::interrupts |
| Interrupts namespace. | |
| namespace | os::rtos::memory |
| namespace | os::rtos::port |
| namespace | os::rtos::port::clock |
| namespace | os::rtos::port::interrupts |
| namespace | os::rtos::port::scheduler |
| namespace | os::rtos::port::this_thread |
| namespace | os::rtos::result |
| Values returned by RTOS functions. | |
| namespace | os::rtos::scheduler |
| Scheduler namespace. | |
| namespace | os::rtos::statistics |
| Statistics namespace. | |
| namespace | os::rtos::this_thread |
| A convenience namespace to access the current running thread. | |
Macros | |
| #define | os_assert_err(__e, __er) assert (__e) |
| Assert or return an error. | |
| #define | os_assert_throw(__e, __er) assert (__e) |
| Assert or throw a system error exception. | |
| #define | OS_BOOL_RTOS_SCHEDULER_PREEMPTIVE (true) |
| #define | OS_INTEGER_RTOS_IDLE_STACK_SIZE_BYTES (os::rtos::port::stack::default_size_bytes) |
| #define | OS_INTEGER_RTOS_MAIN_STACK_SIZE_BYTES (os::rtos::port::stack::default_size_bytes) |
| #define | OS_INTEGER_RTOS_REUSE_MAGIC (0xA55AAA55) |
| #define | OS_INTEGER_SYSTICK_FREQUENCY_HZ (1000) |
Typedefs | |
| using | os::rtos::statistics::counter_t = uint64_t |
| Type of variables holding context switches counters. | |
| using | os::rtos::statistics::duration_t = uint64_t |
| Type of variables holding durations in CPU cycles. | |
| using | os::rtos::port::clock::duration_t = uint32_t |
| Type of variables holding timer durations. | |
| using | os::rtos::flags::mask_t = uint32_t |
| Type of variables holding flags masks. | |
| using | os::rtos::flags::mode_t = uint32_t |
| Type of variables holding flags modes. | |
| using | os::rtos::port::clock::offset_t = int64_t |
| using | os::rtos::result_t = uint32_t |
| Type of values returned by RTOS functions. | |
| using | os::rtos::scheduler::state_t = port::scheduler::state_t |
| Type of variables holding scheduler state codes. | |
| using | os::rtos::interrupts::state_t = port::interrupts::state_t |
| Type of variables holding interrupts status codes. | |
| using | os::rtos::port::clock::timestamp_t = uint64_t |
| Type of variables holding time stamps. | |
Enumerations | |
| enum | : result_t { os::rtos::result::ok = 0 } |
| Custom enumerated values. More... | |
| enum | : mask_t { os::rtos::flags::any = 0 , os::rtos::flags::all = 0xFFFFFFFF } |
| Flags sets with special meaning. More... | |
| enum | : mode_t { os::rtos::flags::mode::all = 1 , os::rtos::flags::mode::any = 2 , os::rtos::flags::mode::clear = 4 } |
| Bits used to specify the flags modes. More... | |
Functions | |
| void | os::rtos::port::scheduler::_wait_for_interrupt (void) |
| void | os::rtos::port::scheduler::greeting (void) |
| bool | os::rtos::port::interrupts::in_handler_mode (void) |
| result_t | os::rtos::port::scheduler::initialize (void) |
| port::scheduler::state_t | os::rtos::port::scheduler::lock (void) |
| port::scheduler::state_t | os::rtos::port::scheduler::locked (port::scheduler::state_t state) |
| bool | os::rtos::port::scheduler::locked (void) |
| bool | os::rtos::port::scheduler::preemptive (bool) |
| bool | os::rtos::port::scheduler::preemptive (void) |
| void | os::rtos::port::this_thread::prepare_suspend (void) |
| void | os::rtos::port::scheduler::reschedule (void) |
| void | os::rtos::port::scheduler::start (void) |
| stack::element_t * | os::rtos::port::scheduler::switch_stacks (stack::element_t *sp) |
| port::scheduler::state_t | os::rtos::port::scheduler::unlock (void) |
| void | os::rtos::port::this_thread::yield (void) |
| #define os_assert_err | ( | __e, | |
| __er | |||
| ) | assert (__e) |
As required by the ANSI standards, if NDEBUG is defined, the assertion is disabled and if the condition is true, the given error code is returned.
Definition at line 1101 of file os-decls.h.
| #define os_assert_throw | ( | __e, | |
| __er | |||
| ) | assert (__e) |
As required by the ANSI standards, if NDEBUG is defined, the assertion is disabled and if the condition is true, a ssytem error exception is thrown (which is replaced by an abort() if exceptions are disabled).
Definition at line 1122 of file os-decls.h.
| #define OS_BOOL_RTOS_SCHEDULER_PREEMPTIVE (true) |
Definition at line 1149 of file os-decls.h.
| #define OS_INTEGER_RTOS_IDLE_STACK_SIZE_BYTES (os::rtos::port::stack::default_size_bytes) |
Definition at line 1144 of file os-decls.h.
| #define OS_INTEGER_RTOS_MAIN_STACK_SIZE_BYTES (os::rtos::port::stack::default_size_bytes) |
Definition at line 1139 of file os-decls.h.
| #define OS_INTEGER_RTOS_REUSE_MAGIC (0xA55AAA55) |
Definition at line 1153 of file os-decls.h.
| #define OS_INTEGER_SYSTICK_FREQUENCY_HZ (1000) |
Definition at line 1133 of file os-decls.h.