SOMMAIRE

 

1) GENERALITES 
1.1) Principe du projet
1.2) Caractéristiques
1.3) Ma vision du projet

2) HARDWARE
2.1) Carte de développement
2.2) Verilog, schéma global
2.3) Verilog, coeur CPU
2.4) Verilog, Vidéo VGA
2.5) Verilog, périphériques

3) OUTILS DEVELOPPEMENT SOFTWARE
3.1) Généralités
3.2) Langage A2Z Basic
3.3) Compilateur
3.4) Assembleur
3.5) Autres outils
3.6) Emulateur sur PC

4) LES LOGICIELS A2Z
4.1) Le Boot
4.2) Système fichier & OS
4.3) Editeur texte
4.4) Image viewer & map viewer
4.5) Le jeu : Micromachines

Blog (hackaday.io)

3.6) Emulateur sur PC


C’est un outil très utile pour développer rapidement les applications A2Z, sans avoir besoin de les télécharger sur l’ordinateur réel. Ca permet également de coder avec un simple PC portable, n’importe où sans avoir à transporter tout un laboratoire d’électronique.

Ca permettra peut-être également à d’autres de s’amuser facilement avec mon projet, sans avoir à créer la carte électronique. 

C’est un émulateur « fonctionnel » qui cherche à imiter le comportement d’A2Z, sans forcément simuler dans le détail les composants hardware d’A2Z.
C’est une partie plus facile à coder que je ne l’imaginais.
L’émulateur sur PC est codé en C. J’utilise la librairie SFML pour 2 choses : l’interface clavier, et l’affichage graphique.
Il est donc certainement portable sur d’autres OS que Windows, avec des modifications mineures.
L’émulateur respecte la vitesse du processeur réel, en exécutant 52083 instructions toutes les 16ms, puis en faisant une pause jusqu’à la fin des 16ms. Cela correspond à la fréquence de 12.5MHz du processeur (4 tops d’horloge par instruction).  Les 16ms ont été choisis pour correspondre au rafraichissement à 60Hz des graphiques (idem VGA 60Hz).

Limitations :

  • La mémoire Flash est émulée de manière très basique, toutes les subtilités n’ont pas été codées. Donc attention si vous recodez le bas niveau de la gestion de la Flash : ce qui fonctionnera dans l’émulateur ne fonctionnera peut-être pas en condition réelle.
  • Attention, le clavier émulé est un clavier français AZERTY. Ca fonctionnera mal avec un clavier QWERTY. A vous de coder la conversion si besoin.


Guide d’utilisation :
L’appel de l’émulateur à partir d’une fenêtre terminal (invité de commande windows) peut prendre des paramètres en option

  • En l’absence de paramètres, l’émulateur va directement charger l’OS à partir de la Flash
  • Les paramètres correspondent aux noms de fichiers bine, bina ou binc que vous voulez charger et exécuter. Attention, les fichiers sont chargés dans l’ordre d’apparition dans la ligne de commande. Si vous chargez plusieurs fichiers, il faut impérativement mettre le fichier exécutable en dernier.

En cours d’exécution, vous pouvez :

  • F4 : mettre en pause
  • F5 : reprendre l’exécution
  • F7 : rebooter
  • F9 : charger un nouveau fichier en RAM, comme le ferait le bootloader série. Cette fonction est utile notamment pour mettre à jour le contenu d’un fichier A2Z à partir d’un fichier bina bine ou binc de windows. La manipulation se fait dans l’OS A2Z.


F4HDK| Janvier 2017
f4hdk_arob_free.fr