![]() |
SuperTinyKernel™ RTOS 1.05.3
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
|
Compiler and platform low-level definitions for STK. More...
#include <stddef.h>#include <stdint.h>#include "stk_config.h"Go to the source code of this file.
Namespaces | |
| namespace | stk |
| Namespace of STK package. | |
| namespace | stk::util |
| Internal utility namespace containing data structure helpers (linked lists, etc.) used by the kernel implementation. Not part of the public user API. | |
Macros | |
| #define | STK_TICKLESS_IDLE 0 |
| Enables tickless (dynamic-tick) low-power operation during idle periods. | |
| #define | STK_TICKLESS_USE_ARM_DWT 1 |
| Use DWT timer of ARM Cortex-M for a precise tick calculation. | |
| #define | STK_TICKLESS_TICKS_MAX 1000 |
| Maximum number of kernel ticks the hardware timer may be suppressed in one tickless idle interval when STK_TICKLESS_IDLE=1. Default: 1000. | |
| #define | STK_SYNC_DEBUG_NAMES 0 |
| Enable debug names for synchronization primitives (mutexes, events, etc.) for debugging and tracing purposes. | |
| #define | __stk_forceinline |
| Forces compiler to always inline the decorated function, regardless of optimisation level. | |
| #define | __stk_aligned(x) |
| Specifies minimum alignment in bytes for the decorated variable or struct member (data instance prefix). | |
| #define | __stk_attr_naked |
| Suppresses compiler-generated function prologue and epilogue (function prefix). | |
| #define | __stk_attr_noreturn |
| Declares that function never returns to its caller (function prefix). | |
| #define | __stk_attr_unused |
| Suppresses compiler warnings about an unused type, variable, or function (declaration prefix). | |
| #define | __stk_attr_used |
| Marks a symbol as used, preventing the linker from discarding it even if no references are visible (declaration prefix). | |
| #define | __stk_attr_noinline |
| Prevents compiler from inlining the decorated function (function prefix). | |
| #define | __stk_attr_deprecated |
| Marks a function, class, variable, or typedef as deprecated (declaration prefix). | |
| #define | __stk_debug_break() |
| Triggers a hardware breakpoint, halting execution in an attached debugger (in-code statement). | |
| #define | STK_ASSERT(e) |
| Runtime assertion. Halts execution if the expression e evaluates to false. | |
| #define | STK_STATIC_ASSERT_DESC_N(NAME, X, DESC) |
| Compile-time assertion with a user-defined name suffix and a custom error description. | |
| #define | STK_STATIC_ASSERT_DESC(X, DESC) |
| Compile-time assertion with a custom error description. Produces a compilation error if X is false. | |
| #define | STK_STATIC_ASSERT_N(NAME, X) |
| Compile-time assertion with a user-defined name suffix. | |
| #define | STK_STATIC_ASSERT(X) |
| Compile-time assertion. Produces a compilation error if X is false. | |
| #define | STK_STACK_MEMORY_FILLER ((Word)(sizeof(Word) <= 4 ? 0xdeadbeef : 0xdeadbeefdeadbeef)) |
| Sentinel value written to the entire stack region at initialization (stack watermark pattern). | |
| #define | STK_STACK_MEMORY_ALIGN 4 |
| Stack memory alignment. | |
| #define | STK_CRITICAL_SECTION_NESTINGS_MAX 16 |
| Maximum allowable recursion depth for critical section entry (default: 16). | |
| #define | STK_ARCH_CPU_COUNT 1 |
| Number of physical CPU cores available to the scheduler (default: 1). | |
| #define | STK_STACK_SIZE_MIN 32 |
Minimum stack size in elements of Word, shared by all stack allocation lower-bound checks. | |
| #define | STK_SLEEP_TRAP_STACK_SIZE (STK_STACK_SIZE_MIN) |
Stack size for the sleep trap in elements of Word (default: STK_STACK_SIZE_MIN). | |
| #define | STK_ALLOCATE_COUNT(MODE, FLAG, ONTRUE, ONFALSE) |
| Selects a static array element count at compile time based on a mode flag. | |
| #define | STK_ENDIAN_IDX_HI (1) |
Array index of the high 32-bit word when a 64-bit value is viewed as uint32_t[2]. | |
| #define | STK_ENDIAN_IDX_LO (0) |
Array index of the low 32-bit word when a 64-bit value is viewed as uint32_t[2]. | |
| #define | STK_NONCOPYABLE_CLASS(TYPE) |
| Disables copy construction and assignment for a class. | |
Functions | |
| template<typename T> | |
| constexpr T | stk::Min (T a, T b) noexcept |
| Compile-time minimum of two values. | |
| template<typename T> | |
| constexpr T | stk::Max (T a, T b) noexcept |
| Compile-time maximum of two values. | |
Compiler and platform low-level definitions for STK.
Definition in file stk_defs.h.
| #define __stk_aligned | ( | x | ) |
Specifies minimum alignment in bytes for the decorated variable or struct member (data instance prefix).
| [in] | x | Required alignment in bytes. Must be a power of two. |
Definition at line 118 of file stk_defs.h.
| #define __stk_attr_deprecated |
Marks a function, class, variable, or typedef as deprecated (declaration prefix).
Definition at line 200 of file stk_defs.h.
| #define __stk_attr_naked |
Suppresses compiler-generated function prologue and epilogue (function prefix).
Definition at line 133 of file stk_defs.h.
| #define __stk_attr_noinline |
Prevents compiler from inlining the decorated function (function prefix).
Definition at line 185 of file stk_defs.h.
Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::AddTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::AddTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::Delay(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::FindTaskBySP(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::FindTaskByUserTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::Initialize(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::InitTraps(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnStart(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnStop(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::RemoveTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::RequestAddTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::Sleep(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::SleepUntil(), and stk::Kernel< TMode, TSize, TStrategy, TPlatform >::Start().
| #define __stk_attr_noreturn |
Declares that function never returns to its caller (function prefix).
Definition at line 146 of file stk_defs.h.
| #define __stk_attr_unused |
Suppresses compiler warnings about an unused type, variable, or function (declaration prefix).
Definition at line 159 of file stk_defs.h.
| #define __stk_attr_used |
Marks a symbol as used, preventing the linker from discarding it even if no references are visible (declaration prefix).
Definition at line 172 of file stk_defs.h.
| #define __stk_debug_break | ( | ) |
Triggers a hardware breakpoint, halting execution in an attached debugger (in-code statement).
DEBUG nor _DEBUG defined): always expands to nothing, regardless of architecture._STK_ARCH_ARM_CORTEX_M, _STK_ARCH_RISC_V, or _STK_ARCH_X86_WIN32): emits the appropriate breakpoint instruction (bkpt, ebreak, or __debugbreak / int $3).Definition at line 303 of file stk_defs.h.
| #define __stk_forceinline |
Forces compiler to always inline the decorated function, regardless of optimisation level.
Definition at line 104 of file stk_defs.h.
Referenced by stk::ConvertTimeUsToClockCycles(), stk::Delay(), stk::SwitchStrategyFixedPriority< 32 >::GetHighestReadyPriority(), stk::GetMsFromTicks(), stk::SwitchStrategyFixedPriority< 32 >::GetTaskPriority(), stk::GetTickResolution(), stk::GetTicks(), stk::GetTicksFromMs(), stk::GetTicksFromMs(), stk::GetTid(), stk::GetTls(), stk::hw::GetTlsPtr(), stk::SchedulabilityCheck::idiv_ceil(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::IsDynamicMode(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::IsHrtMode(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::IsStaticMode(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::IsSyncMode(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::IsTicklessMode(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::IsValidFsmState(), stk::hw::PtrToWord(), stk::hw::ReadVolatile64(), stk::SetTls(), stk::hw::SetTlsPtr(), stk::Sleep(), stk::SleepUntil(), stk::hw::WordToPtr(), stk::hw::WriteVolatile64(), and stk::Yield().
| #define STK_ALLOCATE_COUNT | ( | MODE, | |
| FLAG, | |||
| ONTRUE, | |||
| ONFALSE ) |
Selects a static array element count at compile time based on a mode flag.
| [in] | MODE | Bitmask of active kernel modes (e.g. EKernelMode flags). |
| [in] | FLAG | The specific mode bit to test. |
| [in] | ONTRUE | Array count to use when FLAG is active. |
| [in] | ONFALSE | Array count to use when FLAG is inactive (may be 0 on GCC/Clang). |
Definition at line 485 of file stk_defs.h.
| #define STK_ARCH_CPU_COUNT 1 |
Number of physical CPU cores available to the scheduler (default: 1).
Definition at line 414 of file stk_defs.h.
| #define STK_ASSERT | ( | e | ) |
Runtime assertion. Halts execution if the expression e evaluates to false.
_STK_ASSERT_REDIRECT is defined: always redirects to the custom handler STK_ASSERT_HANDLER (regardless of debug/release build type). Signature: DEBUG or _DEBUG is defined (debug build): maps to the standard assert() macro from <assert.h>, which halts execution on failure._STK_ASSERT_REDIRECT, all assertions are silently removed. Safety-critical applications (ISO 26262, IEC 61508) should define _STK_ASSERT_REDIRECT to retain fault detection in all build configurations. Definition at line 330 of file stk_defs.h.
Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::AddTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::AddTask(), stk::SwitchStrategyEDF::AddTask(), stk::SwitchStrategyFixedPriority< 32 >::AddTask(), stk::SwitchStrategyMonotonic< MSS_TYPE_RATE >::AddTask(), stk::SwitchStrategyRoundRobin::AddTask(), stk::SwitchStrategySmoothWeightedRoundRobin::AddTask(), stk::ISyncObject::AddWaitObject(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::AllocateAndAddNewTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::AllocateNewTask(), AllocateTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::Bind(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::Delay(), stk::sync::EventFlags::EventFlags(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::FetchNextEvent(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::FindTaskBySP(), FreeTask(), stk::SwitchStrategyEDF::GetFirst(), stk::SwitchStrategyFixedPriority< 32 >::GetFirst(), stk::SwitchStrategyMonotonic< MSS_TYPE_RATE >::GetFirst(), stk::SwitchStrategyRoundRobin::GetFirst(), stk::SwitchStrategySmoothWeightedRoundRobin::GetFirst(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::GetHrtDeadline(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::GetHrtPeriodicity(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::GetHrtRelativeDeadline(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::GetNewFsmState(), stk::SwitchStrategyMonotonic< MSS_TYPE_RATE >::GetNext(), stk::SwitchStrategySmoothWeightedRoundRobin::GetNext(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::GetTid(), stk::hw::HiResClock::GetTimeUs(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::HrtAllocateAndAddNewTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::HrtHardFailDeadline(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::HrtInit(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::HrtOnSwitchedOut(), CTimerWrapper::Initialize(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::Initialize(), stk::PlatformContext::InitStackMemory(), stk::SchedulabilityCheck::IsSchedulableWCRT(), stk::util::DListHead< T, _ClosedLoop >::Link(), stk::sync::SpinLock::LockRecursively(), stk::TaskW< _Weight, _StackSize, _AccessMode >::OnDeadlineMissed(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnGetTid(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnStart(), stk::SwitchStrategyEDF::OnTaskDeadlineMissed(), stk::SwitchStrategyFixedPriority< 32 >::OnTaskDeadlineMissed(), stk::SwitchStrategyMonotonic< MSS_TYPE_RATE >::OnTaskDeadlineMissed(), stk::SwitchStrategyRoundRobin::OnTaskDeadlineMissed(), stk::SwitchStrategySmoothWeightedRoundRobin::OnTaskDeadlineMissed(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnTaskExit(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnTaskSleep(), stk::SwitchStrategyEDF::OnTaskSleep(), stk::SwitchStrategyFixedPriority< 32 >::OnTaskSleep(), stk::SwitchStrategyMonotonic< MSS_TYPE_RATE >::OnTaskSleep(), stk::SwitchStrategyRoundRobin::OnTaskSleep(), stk::SwitchStrategySmoothWeightedRoundRobin::OnTaskSleep(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnTaskSleepUntil(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnTaskWait(), stk::SwitchStrategyEDF::OnTaskWake(), stk::SwitchStrategyFixedPriority< 32 >::OnTaskWake(), stk::SwitchStrategyMonotonic< MSS_TYPE_RATE >::OnTaskWake(), stk::SwitchStrategyRoundRobin::OnTaskWake(), stk::SwitchStrategySmoothWeightedRoundRobin::OnTaskWake(), stk::time::PeriodicTrigger::Poll(), stk::time::TimerHost::ProcessCommands(), stk::time::TimerHost::PushCommand(), stk::sync::RWMutex::ReadUnlock(), stk::util::DListHead< T, _ClosedLoop >::RelinkTo(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::RemoveTask(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::RemoveTask(), stk::SwitchStrategyEDF::RemoveTask(), stk::SwitchStrategyFixedPriority< 32 >::RemoveTask(), stk::SwitchStrategyMonotonic< MSS_TYPE_RATE >::RemoveTask(), stk::SwitchStrategyRoundRobin::RemoveTask(), stk::SwitchStrategySmoothWeightedRoundRobin::RemoveTask(), stk::ISyncObject::RemoveWaitObject(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::RequestAddTask(), stk::time::TimerHost::Restart(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::ScheduleSleep(), stk::sync::Semaphore::Semaphore(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::WaitObject::SetupWait(), stk::sync::Semaphore::Signal(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::Sleep(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::SleepUntil(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::Start(), stk::time::TimerHost::Start(), stk::time::TimerHost::StartOrReset(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::StateExit(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::StateSleep(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::StateSwitch(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::StateWake(), stk_cv_create(), stk_cv_notify_all(), stk_cv_notify_one(), stk_cv_wait(), stk_ef_clear(), stk_ef_create(), stk_ef_get(), stk_ef_set(), stk_ef_trywait(), stk_ef_wait(), stk_event_create(), stk_event_pulse(), stk_event_reset(), stk_event_set(), stk_event_trywait(), stk_event_wait(), stk_kernel_add_task(), stk_kernel_add_task_hrt(), stk_kernel_destroy(), stk_kernel_get_state(), stk_kernel_init(), stk_kernel_is_schedulable(), stk_kernel_remove_task(), stk_kernel_start(), stk_mutex_create(), stk_mutex_lock(), stk_mutex_timed_lock(), stk_mutex_trylock(), stk_mutex_unlock(), stk_periodic_trigger_create(), stk_periodic_trigger_get_period(), stk_periodic_trigger_poll(), stk_periodic_trigger_restart(), stk_periodic_trigger_set_period(), stk_pipe_create(), stk_pipe_get_size(), stk_pipe_read(), stk_pipe_read_bulk(), stk_pipe_write(), stk_pipe_write_bulk(), stk_rwmutex_create(), stk_rwmutex_lock(), stk_rwmutex_read_lock(), stk_rwmutex_read_unlock(), stk_rwmutex_timed_lock(), stk_rwmutex_timed_read_lock(), stk_rwmutex_try_read_lock(), stk_rwmutex_trylock(), stk_rwmutex_unlock(), stk_sem_create(), stk_sem_signal(), stk_sem_wait(), stk_spinlock_create(), stk_spinlock_lock(), stk_spinlock_trylock(), stk_spinlock_unlock(), stk_task_create_privileged(), stk_task_create_user(), stk_task_destroy(), stk_task_set_id(), stk_task_set_name(), stk_task_set_priority(), stk_task_set_weight(), stk_timer_create(), stk_timer_destroy(), stk_timer_get_deadline(), stk_timer_get_period(), stk_timer_get_remaining_time(), stk_timer_get_timestamp(), stk_timer_is_active(), stk_timer_reset(), stk_timer_restart(), stk_timer_set_period(), stk_timer_start(), stk_timer_start_or_reset(), stk_timer_stop(), stk_timerhost_get_size(), stk_timerhost_get_time_now(), stk_timerhost_init(), stk_timerhost_is_empty(), stk_timerhost_shutdown(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::SwitchToNext(), stk::sync::Mutex::TimedLock(), stk::sync::RWMutex::TimedLock(), stk::sync::RWMutex::TimedReadLock(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::Unbind(), stk::util::DListHead< T, _ClosedLoop >::Unlink(), stk::sync::Mutex::Unlock(), stk::sync::RWMutex::Unlock(), stk::sync::SpinLock::Unlock(), stk::test::MutexMock::Unlock(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::UpdateSyncObjects(), stk::time::TimerHost::UpdateTime(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::Wait(), stk::sync::ConditionVariable::Wait(), stk::sync::Event::Wait(), stk::sync::Semaphore::Wait(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::WaitObject::Wake(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::Wake(), stk::sync::ConditionVariable::~ConditionVariable(), stk::sync::Event::~Event(), stk::sync::Mutex::~Mutex(), stk::test::PlatformTestMock::~PlatformTestMock(), stk::sync::RWMutex::~RWMutex(), stk::sync::Semaphore::~Semaphore(), and stk::sync::SpinLock::~SpinLock().
| #define STK_CRITICAL_SECTION_NESTINGS_MAX 16 |
Maximum allowable recursion depth for critical section entry (default: 16).
Definition at line 404 of file stk_defs.h.
| #define STK_ENDIAN_IDX_HI (1) |
Array index of the high 32-bit word when a 64-bit value is viewed as uint32_t[2].
Definition at line 502 of file stk_defs.h.
Referenced by stk::hw::ReadVolatile64(), and stk::hw::WriteVolatile64().
| #define STK_ENDIAN_IDX_LO (0) |
Array index of the low 32-bit word when a 64-bit value is viewed as uint32_t[2].
Definition at line 503 of file stk_defs.h.
Referenced by stk::hw::ReadVolatile64(), and stk::hw::WriteVolatile64().
| #define STK_NONCOPYABLE_CLASS | ( | TYPE | ) |
Disables copy construction and assignment for a class.
This macro declares a private copy constructor and copy assignment operator to prevent the compiler from generating default ones. It ensures that instances of a class cannot be duplicated.
| [in] | TYPE | The name of the class to be made non-copyable. |
private or protected section of the class declaration to be effective. = delete, however, this macro provides compatibility for legacy environments. Definition at line 517 of file stk_defs.h.
| #define STK_SLEEP_TRAP_STACK_SIZE (STK_STACK_SIZE_MIN) |
Stack size for the sleep trap in elements of Word (default: STK_STACK_SIZE_MIN).
Definition at line 467 of file stk_defs.h.
| #define STK_STACK_MEMORY_ALIGN 4 |
Stack memory alignment.
Definition at line 389 of file stk_defs.h.
Referenced by stk::PlatformContext::InitStackMemory().
| #define STK_STACK_MEMORY_FILLER ((Word)(sizeof(Word) <= 4 ? 0xdeadbeef : 0xdeadbeefdeadbeef)) |
Sentinel value written to the entire stack region at initialization (stack watermark pattern).
0xDEADBEEF on 32-bit targets and 0xDEADBEEFDEADBEEF on 64-bit targets. Can be overridden by defining STK_STACK_MEMORY_FILLER before including this header or in stk_config.h. Definition at line 377 of file stk_defs.h.
Referenced by stk::PlatformContext::InitStackMemory(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::StateSwitch(), and stk::Kernel< TMode, TSize, TStrategy, TPlatform >::StateWake().
| #define STK_STACK_SIZE_MIN 32 |
Minimum stack size in elements of Word, shared by all stack allocation lower-bound checks.
Definition at line 454 of file stk_defs.h.
| #define STK_STATIC_ASSERT | ( | X | ) |
Compile-time assertion. Produces a compilation error if X is false.
Definition at line 367 of file stk_defs.h.
Referenced by stk::hw::PtrToWord(), stk::StackMemoryWrapper<(32)>::StackMemoryWrapper(), and stk::hw::WordToPtr().
| #define STK_STATIC_ASSERT_DESC | ( | X, | |
| DESC ) |
Compile-time assertion with a custom error description. Produces a compilation error if X is false.
Definition at line 350 of file stk_defs.h.
Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::Kernel(), and stk::SwitchStrategyFixedPriority< 32 >::SwitchStrategyFixedPriority().
| #define STK_STATIC_ASSERT_DESC_N | ( | NAME, | |
| X, | |||
| DESC ) |
Compile-time assertion with a user-defined name suffix and a custom error description.
Definition at line 342 of file stk_defs.h.
| #define STK_STATIC_ASSERT_N | ( | NAME, | |
| X ) |
Compile-time assertion with a user-defined name suffix.
Definition at line 359 of file stk_defs.h.
Referenced by stk::hw::ReadVolatile64(), and stk::hw::WriteVolatile64().
| #define STK_SYNC_DEBUG_NAMES 0 |
Enable debug names for synchronization primitives (mutexes, events, etc.) for debugging and tracing purposes.
Definition at line 90 of file stk_defs.h.
| #define STK_TICKLESS_IDLE 0 |
Enables tickless (dynamic-tick) low-power operation during idle periods.
Definition at line 36 of file stk_defs.h.
Referenced by stk::IPlatform::IEventHandler::OnTick(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnTick(), and stk::test::PlatformTestMock::ProcessTick().
| #define STK_TICKLESS_TICKS_MAX 1000 |
Maximum number of kernel ticks the hardware timer may be suppressed in one tickless idle interval when STK_TICKLESS_IDLE=1. Default: 1000.
Definition at line 62 of file stk_defs.h.
Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::UpdateTaskState().
| #define STK_TICKLESS_USE_ARM_DWT 1 |
Use DWT timer of ARM Cortex-M for a precise tick calculation.
Definition at line 48 of file stk_defs.h.