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:
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?
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:
The new order:
Is anyone else experiencing similar difficulties? Or am I using RIOT wrongly?