Skip to content

Order of auto_init functions #13541

@jue89

Description

@jue89

Description

I am using a cryptoauthlib-compatible chip for a board I am working on. It features a user-programmable config zone, which holds the EUI-64 of the device.

I would like to use this as the source for luid_base() to bring the EUI-64 to the attached network interfaces.

I started implementing luid_base() by fetching the EUI-64 from the crypto chip on-the-fly. But after doing so RIOT isn't able to boot.

The problem is luid_base() gets called before the cryptoauthlib auto_init function has been executed resulting in a failed boot-up.

I was able to resolve this problem by reordering the auto_init. The old order:

  • random
  • xtimer
  • cryptoauth

The new order:

  • xtimer
  • cryptoauth (requires xtimer)
  • random (requires luid_base and, thus, cryptoauthlib in my case)

Is anyone else experiencing similar difficulties? Or am I using RIOT wrongly?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: sysArea: SystemType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)Type: enhancementThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions