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.