Cazando un error fantasma incrustado: Error -22
El equipo de Tweede golf encontró un error frustrante en su software incrustado Rust para el microcontrolador nRF9160, lo que resultó en el error Error::NrfError(-22) al enviar datos a un servidor. Después de semanas de investigación, rastrearon el problema hasta la función de inicialización de la biblioteca libmodem. Un puntero a una estructura de configuración asignada en la pila se usó después de que la estructura se destruyó, causando escrituras no intencionales en la configuración de la región de memoria compartida y resultando en una longitud de datos de 0. Agregar `black_box` y usar puntos de vigilancia finalmente localizaron y corrigieron el error. El equipo destacó los beneficios de usar Rust para el desarrollo incrustado para prevenir errores de bajo nivel como este.