J'ai du mal à voir ce que tu veux tester automatiquement en bas niveau...
Par exemple, l'affectation de valeurs de variables ou état d'un registre après exécution d'une routine, ou vérifier que certains registres IO sont bien initialisés .... Il y a certains calculs qui ne peuvent être facilement testés juste par du 0/1 sur des ports I/O.
faire bagoter une pin (ou plusieurs) pour vérifier les fréquences des différentes horloges du processeur et je vérifiais cela avec un oscilloscope.
Oui, déjà fait également. Mais je pense qu'il y a moyen d'automatiser ça aussi, mais je ne sais pas encore comment je vais faire (une autre carte avec un timer pour vérifier la fréquence des IT ?).
Ensuite je rajoutais une liaison série pour les traces de debug (pour le haut niveau et afficher l'état des registres) et puis les autres protocoles dont j'avais besoin (SPI,I2C...)
L'affichage de l'état des registres peut se faire via GDB et OpenOCD sur ma carte, donc pas besoin d'interface supplémentaire ni de print ....
Mais pour moi, l'oscilloscope est indispensable pour résoudre les problèmes bas niveau, ou pire un analyseur logique.
L'osciloscope, j'ai. L'analyseur logique j'ai (pas encore). Si un analyseur logique assez basique ... si je trouve un truc meilleur pour pas trop cher j'achète !!!
Pour les printf des registres, il faut bien se dire que c'est l'état du registre au moment ou tu récupères la variable, pas au moment de l'affichage, par exemple si je veux voir l'état du registre de démarrage pour savoir si j'ai redémarré à cause du watchdog, une sous tension ou autre.
Ca ça doit être possible en gérant les breakpoints via GDB.
Après je n'ai jamais automatisé de tests sur le bas niveau car je n'en vois pas l’intérêt.
Refactoring de code moins risqué par exemple ...
Sinon, pour tester une routine de réception de données sur port série ou I2C, ça permettrait d'aller voir que le buffer de réception contient bien la chaine émise sur le bus ...
[^] # Re: Oscilloscope ?
Posté par totof2000 . En réponse au message Comment faire du CI/CD et automatiser les tests sur de l'embarqué ?. Évalué à 1. Dernière modification le 18 juillet 2021 à 14:18.
Par exemple, l'affectation de valeurs de variables ou état d'un registre après exécution d'une routine, ou vérifier que certains registres IO sont bien initialisés .... Il y a certains calculs qui ne peuvent être facilement testés juste par du 0/1 sur des ports I/O.
Oui, déjà fait également. Mais je pense qu'il y a moyen d'automatiser ça aussi, mais je ne sais pas encore comment je vais faire (une autre carte avec un timer pour vérifier la fréquence des IT ?).
L'affichage de l'état des registres peut se faire via GDB et OpenOCD sur ma carte, donc pas besoin d'interface supplémentaire ni de print ....
L'osciloscope, j'ai. L'analyseur logique j'ai (pas encore). Si un analyseur logique assez basique ... si je trouve un truc meilleur pour pas trop cher j'achète !!!
Ca ça doit être possible en gérant les breakpoints via GDB.
Refactoring de code moins risqué par exemple ...
Sinon, pour tester une routine de réception de données sur port série ou I2C, ça permettrait d'aller voir que le buffer de réception contient bien la chaine émise sur le bus ...