28 #if KERNEL_THREAD_CREATE_CALLOUT 30 #endif // #if KERNEL_THREAD_CREATE_CALLOUT 31 #if KERNEL_THREAD_EXIT_CALLOUT 33 #endif // #if KERNEL_THREAD_EXIT_CALLOUT 34 #if KERNEL_CONTEXT_SWITCH_CALLOUT 36 #endif // #if KERNEL_CONTEXT_SWITCH_CALLOUT 38 #if KERNEL_STACK_CHECK 40 #endif // #if KERNEL_STACK_CHECK 52 #if KERNEL_STACK_CHECK 54 #endif // #if KERNEL_STACK_CHECK static void StartThreads()
StartThreads Function to start the scheduler, initial threads, etc.
void(*)(Thread *pclThread_) ThreadExitCallout
void(*)(const char *szString_) DebugPrintFunction
void(*)(Thread *pclThread_) ThreadCreateCallout
static void Init()
Init Function to perform early init of the target environment prior to using OS primatives.
#define KERNEL_STACK_GUARD_DEFAULT
static void Init()
Init Initialize the timer scheduler. Must be called before any timer, or timer-derived functions are ...
static ThreadExitCallout m_pfThreadExitCallout
Function to call on thread exit.
static void Init(void)
Init Initialize the AutoAllocator before use. Called by Kernel::Init().
static void DebugPrint(const char *szString_)
DebugPrint Print a string to the configured output interface. Has no effect if Kernel::SetDebugPrintF...
Single include file given to users of the Mark3 Kernel API.
static PanicFunc m_pfPanic
set panic function
static uint32_t GetTicks()
static void CompleteStart()
CompleteStart Call this from the thread initialization code at the point that the scheduler is to be ...
static void Start()
Start the operating system kernel - the current execution context is cancelled, all kernel services a...
static bool m_bIsStarted
true if kernel is running, false otherwise
The CriticalGuard class. This class provides an implemention of RAII for critical sections...
static ThreadCreateCallout m_pfThreadCreateCallout
Function to call on thread creation.
void(*)(Thread *pclThread_) ThreadContextCallout
static DebugPrintFunction m_pfDebugPrintFunction
Function to call to print debug info.
static uint16_t m_u16GuardThreshold
static bool m_bIsPanic
true if kernel is in panic state, false otherwise
static void Init()
Init Intiailize the scheduler, must be called before use.
static uint32_t m_u32Ticks
void(*)(uint16_t u16PanicCode_) PanicFunc
static ThreadContextCallout m_pfThreadContextCallout
Function to call on context switch.
static void Init()
Kernel Initialization Function, call before any other OS function.
static void Panic(uint16_t u16Cause_)
Panic Cause the kernel to enter its panic state.