Rembobinage automatique pour les tests quotidiens de NuttX

2025-02-08
Rembobinage automatique pour les tests quotidiens de NuttX

Pour détecter et corriger les bogues dans Apache NuttX RTOS tôt, un système de test de rembobinage automatisé a été créé. Ce système compile et teste NuttX quotidiennement ; si un test échoue, il revient aux commits précédents, recompile et reteste jusqu'à ce que le coupable soit trouvé. Une alerte Mastodon et une notification polie sont ensuite envoyées au développeur NuttX concerné. Les extraits GitLab et une base de données Prometheus suivent et analysent les résultats, visualisés sur un tableau de bord NuttX affichant l'historique des compilations.

Lire plus
Développement Tests automatisés

Bibliothèque standard Rust sur Apache NuttX RTOS : clignotement de LED et au-delà

2025-01-27
Bibliothèque standard Rust sur Apache NuttX RTOS : clignotement de LED et au-delà

Cet article détaille la construction d'applications utilisant la bibliothèque standard Rust sur le système d'exploitation temps réel Apache NuttX. Il couvre la gestion de JSON avec Serde, les fonctions asynchrones avec Tokio et le contrôle de LED avec le crate Nix. L'auteur explique la différence entre les descripteurs de fichiers propres et bruts en Rust et compare les crates de liaison POSIX Nix et Rustix. Des étapes détaillées pour construire et exécuter des applications Rust sur NuttX, ainsi que des conseils de dépannage, sont fournis.

Lire plus
Développement

Correction d'un bug insidieux dans la commande uname d'Apache NuttX RTOS : les variables statiques contre-attaquent

2025-01-21
Correction d'un bug insidieux dans la commande uname d'Apache NuttX RTOS : les variables statiques contre-attaquent

Cet article détaille le processus de débogage d'un bug apparemment mineur dans la commande `uname` d'Apache NuttX RTOS. Le problème initial : le hachage du commit était manquant dans la sortie. L'investigation a mené à une recherche approfondie, incluant l'inspection de l'image du noyau, l'appel à `uname` au démarrage du noyau et le désassemblage de l'application. Le coupable ? Une variable statique corrompue (`g_version`) responsable du stockage du hachage du commit dans les applications NuttX. Ce comportement inattendu a mis en évidence l'importance d'un débogage minutieux dans les systèmes embarqués, soulignant que même de petites anomalies peuvent signaler des problèmes plus profonds et plus graves.

Lire plus
Développement correction de bug