Riot: Ordre des fonctions auto_init

Créé le 3 mars 2020  ·  5Commentaires  ·  Source: RIOT-OS/RIOT

La description

J'utilise une puce compatible cryptoauthlib pour une carte sur laquelle je travaille. Il dispose d'une zone de configuration programmable par l'utilisateur, qui contient l'EUI-64 de l'appareil.

Je voudrais l'utiliser comme source pour luid_base() pour amener l'EUI-64 aux interfaces réseau connectées.

J'ai commencé à implémenter luid_base() en récupérant l'EUI-64 à partir de la puce cryptographique à la volée. Mais après cela, RIOT n'est pas en mesure de démarrer.

Le problème est que luid_base() est appelé avant l'exécution de la fonction cryptoauthlib auto_init, ce qui entraîne un échec du démarrage.

J'ai pu résoudre ce problème en réorganisant le fichier auto_init. L'ancien ordre :

  • Aléatoire
  • xtimer
  • crypto-authentification

Le nouvel ordre:

  • xtimer
  • cryptoauth (nécessite xtimer)
  • aléatoire (nécessite luid_base et donc cryptoauthlib dans mon cas)

Quelqu'un d'autre rencontre-t-il des difficultés similaires ? Ou est-ce que j'utilise RIOT à tort ?

sys bug enhancement

Commentaire le plus utile

Oui, mais si @jue89 veut réorganiser quelque chose, il devrait probablement attendre que ce PR soit passé en premier, sinon un méchant conflit de fusion est garanti.

Tous les 5 commentaires

Je pense que ce que vous voulez vraiment est #12641
Cela s'est malheureusement bloqué lorsqu'il s'agissait de la bonne façon de gérer plusieurs netifs et plusieurs EUI…

J'ai une branche où j'ai commencé à attribuer des identifiants uniques (croissants) aux netifs afin qu'ils puissent être utilisés par board_get_eui64() - je devrais probablement terminer cela.

Agréable! Cela résoudrait mon conflit. Le seul problème restant est que les fonctions netif auto_init sont appelées avant la fonction cryptoauthlib auto_init. Serait-ce une solution acceptable de réorganiser les fonctions auto_init ?

La commande a probablement besoin d'un nettoyage - il y en a déjà une en cours : #13542

La commande a probablement besoin d'un nettoyage - il y en a déjà une en cours : #13542

Celui-là ne réorganise _pas_ les appels de fonction (et comme il est déjà assez gros et pas très facile à suivre, je préférerais faire le réordonnancement dans un PR séparé).

Oui, mais si @jue89 veut réorganiser quelque chose, il devrait probablement attendre que ce PR soit passé en premier, sinon un méchant conflit de fusion est garanti.

Cette page vous a été utile?
0 / 5 - 0 notes