Vous écrivez; «Une grande partie du code écrit pour les microcontrôleurs tourne autour de l'écriture des valeurs de configuration et de données dans les registres, de la lecture des données entrantes des registres et de la réponse aux événements d'interruption». Je suis d'accord que c'est souvent le cas en pratique, mais je ne pense pas que ce soit une bonne chose, et je pense que repenser un peu les choses vous aidera à atteindre vos objectifs de test. Peut-être parce que les programmeurs de microcontrôleurs peuvent atteindre et toucher le matériel quand ils le souhaitent, beaucoup (la plupart?) D'entre eux ont pris l'habitude de le faire, tout au long de leur code. Souvent, cette habitude est suivie sans discussion, peut-être parce que tant de gens qui font ce genre de travail ne sont pas des informaticiens par la formation et l'inclination. Je sais, j'ai commencé de cette façon moi-même. Le point que j'essaye de faire, c'est que les projets de microcontrôleurs peuvent et doivent être bien conçus comme n'importe quel autre projet de logiciel. Une partie importante de la bonne conception est de restreindre l'accès matériel aux pilotes matériels! Partitionnez tout le code qui écrit des registres, répond aux interruptions etc. dans des modules qui fournissent au reste de votre logiciel un accès agréable, net et abstrait au matériel. Testez ces modules pilotes sur la cible à l'aide d'analyseurs logiques, d'oscilloscopes, de bancs d'essai personnalisés ou de tout autre élément logique.
Un point vraiment important est que maintenant le reste de votre logiciel, avec un peu de chance la grande majorité de celui-ci, est maintenant juste du code C que vous pouvez exécuter et tester sur un système hôte. Sur le système hôte, les modules matériels sont écrasés d'une manière qui fournit une visibilité sur ce que fait le code testé. Vous pouvez utiliser les approches de test unitaire sur ce code. Cela nécessite des préparatifs et du travail, mais si vous êtes bien organisé, vous pouvez créer un système réutilisable qui peut s'appliquer à tous vos projets. Les avantages potentiels sont énormes. J'ai écrit un peu plus sur ces idées ici;
[http://discuss.joelonsoftware.com/default.asp?joel.3.530964.12][1]
Quelqu'un pourrait-il avec représentant suffisant s'il vous plaît ajouter le tag "intégré" à cette question? Merci. –