Hetev
Retour au blog
Intégration SW/HW

Henri Garih · 1 min de lecture

Les bugs firmware qui n'en sont pas

La majorité des 'bugs firmware' que je trouve dans les projets de mes clients ne sont pas des bugs firmware.

Ce sont des hypothèses d'intégration qui n'ont jamais été validées.

Le schéma se répète sur chaque projet embarqué que je touche. L'équipe hardware conçoit un PCB avec certaines hypothèses sur les timings, les protocoles, les séquences de démarrage. L'équipe software développe le firmware avec d'autres hypothèses. Personne ne vérifie que les deux jeux d'hypothèses sont compatibles.

Quand ça casse en test d'intégration, tout le monde crie 'bug firmware !' Mais le firmware fait exactement ce qu'on lui a demandé. C'est la spécification d'interface qui n'existait pas.

La solution est simple mais rarement appliquée : un document d'interface (ICD) écrit AVANT le développement, revu par les deux équipes, et testé unitairement des deux côtés. Ça prend 2 jours. Ça en économise 20.

Sur mes 3 dernières missions embarquées, ce processus a réduit les 'bugs firmware' de 70 %. Non pas parce qu'il y avait moins de bugs, mais parce qu'on a arrêté d'appeler 'bug' ce qui était en réalité un défaut de communication.