URL: https://linuxfr.org/forums/linux-embarque/posts/comment-faire-du-ci-cd-et-automatiser-les-tests-sur-de-l-embarque Title: Comment faire du CI/CD et automatiser les tests sur de l'embarqué ? Authors: totof2000 Date: 2021年07月18日T11:11:16+02:00 License: CC By-SA Tags: Score: 0 Hello. Depuis un moment déjà, je m' "amuse" à programmer la [micro:bit](https://embeddedcomputing.weebly.com/bbc-microbit.html) en bare-metal et en assembleur. Je ne tiens pas à développer un truc hyper complet mais juste à comprendre d'un peu plus près les processeurs ARM et leur mode de fonctionnement. Je dois dire que de ce côté c'est assez réussi : l'architecture ARM Cortex M0 qui est utilisée sur le SOC de cette carte est suffisamment simple pour appréhender le monde ARM (jeu d'instruction restreint THUMB, pas de MMU ...). Ca permet de 'mettre le pied à l'étrier' relativement faciloement, et de comprendre l'archi ARM "de base", tout en sachant qu'un ARM de raspberry pi est bien plus complexe (mais la base reste la même). J'aimerais cependant aller un peu plus loin que deux ou trois exemples "basiques" et tenter de mettre en place une petite appli de pilotage d'un robot simple ( un suiveur de ligne par exemple ou autre). Une partie de mes développements/tests nécessiteront du matériel, mais je peux aussi utiliser QEMU pour certaines autres parties (initialisation du hardware, utilisation du timer, communication série, etc ...). Je voudrais pour celà avoir un système un peu plus automatisé qu'un build + lancement manuel de qemu + lancement de gdb + mise en place de points d'arret manuels + contrôle pas à pas que tout ce que je voulais se soit bien passé. J'aimerais mettre un peu plus d'automatisme dedans (par exemple vérifier les valeurs de certaines zones mémoires de façon automatique, et ne lancer le mode trace que lorsque la valeur attendue n'est pas présentée par exemple). Aussi je me tourne vers vous pour savoir comment vois faites/feriez pour mettre en place des tests automatisés pour la programmation "bas niveau", mais aussi pour satisfaire ma curiosité : comment fait-on ce genre de chose dans le monde industriel : via des outils libres ou du proprio ? Quels outils libres si c'est le cas ? Merci d'avance. Quelques infos à propos de la micro:bit : - en mode qemu, il est possible d'utiliser le moniteur intégré pour inspecter la mémoire (je n'ai pas encore approfondi cette piste mais les commandes ont l'air d'être très proches de gdb). - la micro-bit intègre une puce dédiée ( MKL26Z128 MCU ) qui permet d'utiliser OpenOCD/GDB pour le debug hardware (DAPlLink protocol). C'est ce genre de raison qui me font largement préférer la Micro:bit à l'Arduino : pour beaucoup de cartes arduino, en dehors du moniteur arduino, c'est assez difficile d'en faire quelque chose (je pense notamment à la Teensy 4 que j'ai achetée mais qui me sert à rien car le debug n'est possible qu'à coup de printf - et si on veut faire du vrai bas niveau, c'est mort).