Skip to content

ChibiOS Notes

NotPike edited this page Jan 11, 2022 · 1 revision

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

Start here

How to collaborate
How to ask questions correctly

User manual

Developer Manual

Clone this wiki locally