Projet de JAVA Simulateur de microcontrôleur Intel 80C51 Matthieu SIMON IFITEP3 Juillet 2005 8051 Simulator v0.2 Cahier des charges Méthode de conception Cœur Interface graphique utilisateur La version 0.2 du simulateur Le projet avec du recul Cahier des charges Architecture 8 bits Intel 80C51. Gestion des périphériques internes. Simuler du code assembleur. Interface graphique : affichage du code source, des registres et de la mémoire RAM. Debug. Composants graphiques externes. Méthode de conception Le cœur du microcontrôleur (CORE) Complètement indépendant. Représentation logiciel du circuit intégré. L’interface graphique utilisateur (GUI) Une et une seule instance du cœur. Réalise l’« émulation » du circuit logiciel. GUI CORE Méthode de conception : CORE Charge le code depuis un fichier source (PARSER). Possède le jeu d’instruction complet. L’Unité Centrale de Traitement (CPU) : Défini les registres et l’espace mémoire. Phase de simili – assemblage. Ordonnanceur : récupère, décode et exécute les instructions. Gestion des interruptions et des compteurs. Méthode de conception : CORE CPU Périphériques Instructions Code Programme Méthode de conception : GUI Crée l’unique instance du cœur. Affiche le code assembleur à partir du fichier source. Ainsi que les registres GPR, la mémoire et l’état des ports d’entrées/sorties. Gère le debug : Pas à pas : exécute une instruction et met à jour l’interface. Continu : exécution continu sans mise à jour. Composants graphiques : afficheur et UART Méthode de conception : GUI Composants graphiques Classe principale Fenêtres par défaut La version 0.2 du simulateur Jeux d’instructions et de registres Intel 80C51 complets. 256 octets de RAM, 64k octets de ROM. 8k octets de RAM externe. 2 compteurs 16 bits (Mode 3 non supporté). 5 vecteurs d’interruptions (pas d’imbrication). 4 ports d’entrées/sorties parallèles. Interface série asynchrone. 4 afficheurs 7 segments maximum. La version 0.2 du simulateur Il reste à faire : Support complet des compteurs et du contrôleur d’interruption. Optimisation du code. Améliorations possibles : Périphériques externes tels que écran LCD, clavier. Composants graphiques : affichage de signaux PWM. Le projet avec du recul Puissance du code : rapidité de développement. Architecture inconnue. Sujet pas forcément compliqué mais très vaste. Cœur : utilisation des connaissances en informatique industrielle. GUI : long et fastidieux, documentation JDK. Utilisation de logiciels libres, licence GPL.