Skip to content

LFRC fails to start #416

@datdenkikniet

Description

@datdenkikniet

In some, well-optimized (by the compiler) binaries, the LFRC startup code can cause erratum 3.34 to occur by restarting the LFRC oscillator between 66 and 138 us after stopping it.

It's tricky to create a reproducible example because it seems to rely on compiler optimizations whether it occurs or not, but the only code you need to run for it to occur is:

Clocks::new(peripherals.CLOCK).set_lfclk_src_rc().start_lfclk();

This code may hang forever on the events_lfclkstarted check in clocks.rs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions