Quickstart
Informative
The shortest path to a running MCU: initialize, read the reset cause, and bring the clock up. Binding rules are in Mcu — Requirements; signatures in API Reference.
Bring the driver up
Mcu_Init(NULL_PTR); /* driver: UNINIT -> INIT; captures the reset cause */
uint32 resetCause = Mcu_GetResetRawValue(); /* act on it if you need to */
Set up and wait for the clock
Mcu_InitClock returns immediately; poll until the clock tree is distributed before relying on it:
Mcu_InitClock(0u); /* apply clock configuration id 0 */
while (Mcu_IsClockDistributed() == FALSE) {
Mcu_PollFunction(); /* drives stabilisation + distribution */
}
/* clocks are now stable and distributed — safe to start other drivers */
Run
/* call cyclically if clock supervision / a SW FLL is configured */
Mcu_PollFunction();
That is a complete MCU bring-up. To issue a software reset later, call Mcu_PerformReset (see
Reset handling). Clock details are in Clock setup.