Page 1 of 1

Rajoute le débogage GDB à ton émulateur Graph 90+E/fx-CG50 !

Unread postPosted: 16 Dec 2020, 13:39
by critor
Au début des années 2000, Casio et Texas Instruments supportaient encore activement le développement tiers pour leurs calculatrices.

Les constructeurs diffusaient de véritables SDK pour leurs modèles de l'époque.

Chez Texas Instruments on peut citer :

Chez Casio nous avions le fx-9860G SDK, qui en France concernait donc les Graph 85.

Ces logiciels couplaient :
  • un assembleur éventuellement accompagné d'un compilateur
  • avec un émulateur tout spécialement adapté au développement, avec de quoi contrôler en direct l'état mémoire ou processeur, et même changer la version du système d'exploitation émulé

Mais les choses ont bien changé depuis. Casio et Texas Instruments ne publient plus de mise à jour de ces outils depuis maintenant une 15aine d'années, et ils sont totalement obsolètes car non adaptés aux modèles actuellement commercialisés. :'(

Ne sont plus diffusés par les constructeurs que des émulateurs orientés utilisateurs, notamment pour la vidéoprojection en classe. Ils ne permettent pas de connaître l'état mémoire/processeur, encore moins de changer la version du système, et ne sont ainsi absolument pas adapté au développement de programmes ou applications en langage machine. Sans compter qu'ils ne sont pas toujours parfaitement fidèles au matériel.

Ce n'est pas (encore ?...) le cas chez Casio, mais chez Texas Instruments le développement tiers est même désormais farouchement combattu. :mj:

Du côté de Texas Instruments, la communauté des développeurs a pris le relais, réinventant ses propres émulateurs pour les machines récentes puis les adaptant progressivement aux besoins des développeurs.

On peut citer CEmu pour les TI-83 Premium CE et TI-84 Plus CE, ou encore Firebird pour les TI-Nspire.

Du côté de Casio hélas, aucun émulateur tiers n'est jamais sorti. Nous ne disposons que émulateurs officiels orientés pour l'enseignement et sur lesquels nous n'avons aucun contrôle. :mj:

Le développement d'applications était donc peu confortable, nécessitant dans tous les cas des tests sur machine et donc d'avoir en permanence la calculatrice et les câbles sous la main.

Mais surtout dans le cas de développement d'utilitaires système avec du code touchant à des zones sensibles, en cas de bugs cela pouvait potentiellement détruire définitivement la calculatrice. :mj:

C'est peut-être justement pour ça qu'il existe peu d'utilitaires système pour Casio par rapport aux modèles concurrents.

C'est donc une autre piste qu'explore aujourd'hui Redoste sur Planète Casio, dans le contexte de la Graph 90+E (ou fx-CG50 hors de France).

En effet si c'est apparemment trop difficile de réinventer notre propre émulateur, pourquoi ne pas tout simplement modifier l'émulateur officiel ? ;)

Redoste révolutionne aujourd'hui la face du monde du développement Casio, en rajoutant un serveur GDB à ton émulateur, de quoi pouvoir pleinement tester et déboguer tes applications aussi ambitieuses soient-elles sans avoir à connecter ni risquer ta calculatrice ! :bj:
Il devient même possible d'utiliser GDB pour analyser le firmware de Casio ! :D

La méthode Redoste ne concerne que l'émulateur de Graph 90+E / fx-CG50 installable sur Windows.

Il te suffira tout simplement de remplacer dans le dossier d'installation la bibliothèque .dll d'émulation du processeur SH4 (fichier CPU73050.dll) par la version modifiée de Redoste.

Attention, cette manipulation n'est pas compatible avec l'émulateur Mac, ni avec l'émulateur sur clé USB. :#non#:

Lien : https://github.com/redoste/fx-CG50_Mana ... -gdbserver

Téléchargement : Emulateur Graph 90+E / fx-CG50 version 3.50 à installer sur Windows
(période d'essai gratuite sans engagement de 90 jours, prolongeable gratuitement en cas de besoin jusqu'au 31 décembre 2020 si déjà entamée ou épuisée)

Source : https://www.planet-casio.com/Fr/forums/ ... iowin.html

Re: Rajoute le débogage GDB à ton émulateur Graph 90+E/fx-CG

Unread postPosted: 22 Dec 2020, 09:20
by critor
Mise à jour majeure :
  • ajout des breakpoints hardware et software
  • on peut maintenant attacher GDB quand on veut, plus obligatoirement au lancement de l'émulateur
  • on peut déclencher le débogueur manuellement avec Ctrl+C dans GDB sans placer de breakpoint à l'avance

Exemple de débogage d'une appli :


Source : https://www.planet-casio.com/Fr/forums/ ... tml#180029