77#ifndef LZ_STATIC_ANALYSIS
78#if (LZ_CONFIG_ON_PANIC_INFINITE_LOOP + LZ_CONFIG_ON_PANIC_SOFTWARE_RESET) != 1
79#error "Only one kernel panic configuration must be defined in config.h."
void Arch_InitIdleCpuMode(void)
Initialize idle CPU modes.
void Arch_InitInstrumentation(void)
Initialize the context switch instrumentation.
Architecture Abstraction API.
void Arch_ResetSystem(void)
Reset the whole system.
void Arch_InfiniteLoop(void)
Function that loops forever, never returns.
Basic type definitions and useful macros.
Macro aliases on compiler facilities.
Include appropriate config file.
const bool LZ_CONFIG_MODULE_SERIAL_USED
Use module "serial": Serial interface configuration.
const bool LZ_CONFIG_INSTRUMENT_CONTEXT_SWITCHES
When set, add instrumentation code to measure context switches.
const bool LZ_CONFIG_ON_PANIC_INFINITE_LOOP
When 1, run an infinite loop on kernel panic.
const bool LZ_CONFIG_ON_PANIC_SOFTWARE_RESET
When 1, perform a software reset on kernel panic.
volatile lz_system_status_t systemStatus
System status "register" (bit field).
void Kernel_ManageFailure(void)
Manage a failure that can happen in a function call.
void main(void)
Main entry point for user tasks.
void Kernel_Main(void)
This is the kernel entry point.
AllocationMap kernelAllocationMap
Allocation map for the kernel.
void Kernel_Panic(void)
Kernel panic.
Kernel symbols definition.
#define SYSTEM_STATUS_FLAG_IN_KERNEL
The flag constant for the status "in kernel".
uint8_t lz_system_status_t
The type used for the system status "register".
#define SYSTEM_STATUS_IS_IN_KERNEL
Get a boolean value indicating if the system is curently in kernel mode.
Symbols defined by the linker.
uint8_t _ramend
Last address of RAM.
uint8_t _brk
Initial break address.
void Scheduler_AbortTask(void)
Abort the current running task.
void Scheduler_Init(void)
Initialize the scheduler prior to running it.
Lazuli scheduler interface.
Represents a map of the allocated memory regions and useful memory handlers for a task or the kernel.
void * endMem
End address of the memory region.
void * brk
Break position, points to the first location beyond the current end of the heap.
void * baseMem
Base address of the memory region.
void Arch_InitSerial(void)
Initialize serial line with default configuration at system startup.