ORBTrace Effort : outil ouvert pour le débogage professionnel

Il existe des fonctionnalités de débogage assez puissantes disponibles sur les microcontrôleurs d’aujourd’hui – si votre code se bloque mystérieusement, il y a de fortes chances qu’il existe une interface de débogage qui pourrait vous permettre de retrouver les circonstances exactes du crash en un rien de temps. Malheureusement, les outils de débogage pour ces interfaces puissantes ont tendance à être d’un coût prohibitif et hautement propriétaires, donc peu conviviaux pour les amateurs. Maintenant, il existe une plate-forme de débogage à haute capacité pilotée par la communauté appelée ORBTrace, présentée par [mubes] et [zyp].

Avec la trace parallèle, vous obtenez un flux constant de conscience, chaque instruction exacte exécutée par votre CPU. [mubes] et [zyp] ont décidé d’exploiter la puissance du débogage de trace parallèle pour les processeurs Cortex-M. et le projet ORBTrace est né. S’appuyant sur les capacités logicielles du projet Orbuculum, cette plate-forme de débogage basée sur FPGA peut effectuer une trace parallèle et la trace SWO à grande vitesse plus populaire – et bien plus encore. ORBTrace a le potentiel de devenir un puissant outil d’aide au débogage, avec suffisamment de capacités pour que tout le monde en profite. Et bien sûr, c’est entièrement open-source.

La carte ORBTrace, avec un FPGA au centre, un connecteur USB-C à gauche et deux connecteurs de débogage IDC à droite (un à dix broches et un à vingt broches)La plate-forme ORBTrace a beaucoup de potentiel inexploité. Il y a le JTAG et le SWD testés au combat que vous pouvez déjà utiliser avec tous les outils ouverts auxquels vous pouvez vous attendre. Cependant, il existe également de nombreuses ressources disponibles sur le FPGA, y compris même un softcore RISC-V actuellement inutilisé. Si vous souhaitez ajouter la prise en charge de toute autre famille d’appareils à ce débogueur, le ciel est la limite ! Et, bien sûr, il y a un logiciel sympa pour l’accompagner – par exemple, orbmortem, qui conserve un tampon circulaire d’instructions en mémoire et vous montre le dernier code exécuté avant que votre CPU ne s’arrête, ou orbstat, un outil de profilage de votre code intégré.

Si vous cherchez à acheter une parité de fonctionnalités sans effort avec les appareils Segger ou Lauterbash, l’ORBTrace ne le promet pas. Au lieu de cela, il s’agit d’un projet de boîte à outils de débogage ouvert, avec du matériel disponible à l’achat et des logiciels qui n’attendent que vous pour en prendre le contrôle. La communauté de ce projet traîne dans le canal #orbuculum de la discorde 1BitSquared, et gateware progresse à un rythme rapide – vous invitant à vous amuser.

ORBTrace est un outil puissant lorsque vos objectifs deviennent importants et que vos problèmes deviennent complexes. Et, étant un effort expérimental mené par la communauté, nous verrons sans aucun doute de grandes choses en sortir – comme le projet Mooltipass, développé à l’origine par les membres de la communauté Hackaday, et toujours aussi fort.