![]() |
SuperTinyKernel™ RTOS 1.05.3
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
|
#include <stdio.h>#include <exception>#include <CppUTest/TestHarness.h>#include <stk_config.h>#include <stk.h>#include <arch/stk_arch_common.h>#include <sync/stk_sync.h>#include <time/stk_time.h>#include "stktest_context.h"Go to the source code of this file.
Classes | |
| class | stk::test::TestAssertPassed |
| Throwable class for catching assertions from STK_ASSERT_HANDLER(). More... | |
| class | stk::test::PlatformTestMock |
| IPlatform mock. More... | |
| struct | stk::test::PlatformTestMock::StackInfo |
| class | stk::test::KernelServiceMock |
| IKernelService mock. More... | |
| class | stk::test::TaskMock< _AccessMode > |
| Task mock. More... | |
| class | stk::test::TaskMockW< _Weight, _AccessMode > |
| Task mock for SwitchStrategySmoothWeightedRoundRobin and similar algorithms. More... | |
| struct | stk::test::MutexMock |
| struct | stk::test::SyncObjectMock |
Namespaces | |
| namespace | stk |
| Namespace of STK package. | |
| namespace | stk::test |
| Namespace of the test inventory. | |
Macros | |
| #define | _STK_UNDER_TEST |
| #define | __stk_relax_cpu __stktest_relax_cpu |
| Emits a CPU pipeline-relaxation hint for use inside hot busy-wait (spin) loops (in-code statement). | |
Functions | |
| static void | __stktest_relax_cpu () |
| __stk_relax_cpu interceptor. | |
Variables | |
| void(* | g_RelaxCpuHandler )() |
| __stk_relax_cpu handler. | |
| IKernelService * | stk::test::g_KernelService = NULL |
| int32_t | stk::test::g_CriticalSectionState = false |
| Critical section state. | |
| bool | stk::test::g_InsideISR = false |
| ISR state. | |
| EKernelPanicId | stk::test::g_PanicValue = KERNEL_PANIC_NONE |
| Panic value. | |
| #define __stk_relax_cpu __stktest_relax_cpu |
Emits a CPU pipeline-relaxation hint for use inside hot busy-wait (spin) loops (in-code statement).
PAUSE instruction via __builtin_ia32_pause() or _mm_pause().PAUSE hint via __builtin_riscv_pause().__stk_full_memfence().YIELD instruction via __yield().__stk_full_memfence() (no dedicated hint).__stk_full_memfence(). Definition at line 33 of file stktest.h.
Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelService::Delay(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnTaskSleep(), stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnTaskSleepUntil(), and stk::Kernel< TMode, TSize, TStrategy, TPlatform >::OnTaskWait().
|
inlinestatic |
__stk_relax_cpu interceptor.
Definition at line 23 of file stktest.h.
References g_RelaxCpuHandler.
|
extern |
__stk_relax_cpu handler.
Definition at line 17 of file stktest.cpp.
Referenced by __stktest_relax_cpu(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST(), stk::test::TEST_GROUP(), stk::test::TEST_GROUP(), stk::test::Test_SyncWait(), and stk::test::TestTaskSleep().