ChibiOS Notes - portapack-mayhem/mayhem-firmware GitHub Wiki
These are miscellaneous useful notes about how ChibiOS functions.
Stacks Configuration
From ChibiOS crt0.c:
Two stacks available for Cortex-M, main stack or process stack.
- Thread mode: Used to execute application software. The processor enters Thread mode when it comes out of reset.
- Handler mode: Used to handle exceptions. The processor returns to Thread mode when it has finished all exception processing.
ChibiOS configures the Cortex-M in dual-stack mode. (CONTROL[1]=1) When CONTROL[1]=1, PSP is used when the processor is in Thread mode.
MSP is always used when the processor is in Handler mode.
- main_stack_size: Used for exception handlers. Yes, really.
- process_stack_size: Used by main().
After chSysInit(), the current instructions stream (usually main()) becomes the main thread.
Original Wiki by sharebrained at Operating System Notes