Chasse à un bug embarqué fantôme : Erreur -22

2025-01-26
Chasse à un bug embarqué fantôme : Erreur -22

L'équipe de Tweede golf a rencontré un bug frustrant dans son logiciel embarqué Rust pour le microcontrôleur nRF9160, entraînant l'erreur Error::NrfError(-22) lors de l'envoi de données à un serveur. Après des semaines d'enquête, ils ont retracé le problème jusqu'à la fonction d'initialisation de la bibliothèque libmodem. Un pointeur vers une structure de configuration allouée sur la pile a été utilisé après la destruction de la structure, entraînant des écritures non intentionnelles dans la configuration de la région de mémoire partagée et résultant en une longueur de données de 0. L'ajout de `black_box` et l'utilisation de points d'arrêt ont finalement permis de localiser et de corriger le bug. L'équipe a souligné les avantages de l'utilisation de Rust pour le développement embarqué afin de prévenir de telles erreurs de bas niveau.

Lire plus
Développement