Utilisation du TommyProm32
Matériel nécessaire
- Un TommyProm32
- Une (E)EPROM (SST 39SF040 par exemple)
Flasher le TommyProm32 avec la configuration pour SST
En fonction du type de puce à flasher, il faut reprogrammer l'Arduino nano présent sur le PCB, via le logiciel 'Arduino'.
- Installer le logiciel arduino
- Configurer le logiciel Arduino pour utiliser la bonne carte.
- Télécharger le sketch arduino du TommyProm32
- Extraire les fichiers dans le dossier de votre choix et ouvrir le projet
TommyPROM.ino
qui se trouve dans le dossier 'TommyPROM'. - Dans le fichier 'Configure.h', dé-commenter la ligne correspondant à votre type de puce en supprimant les
//
qui se trouvent devant (lignes 9 à 14). - Vérifier et téléverser le sketch.
Cas de l'utilisation d'un clône Arduino LGT8F328P
Ces cartes peu onéreuses (~3$) nécessitent l'installation d'une librairie spéciale dans le logiciel Arduino pour pourvoir les flasher.
- Télécharger l'archive de lalibrairie ici.
- Extraire le dossier 'LGT' contenu dans l'archive dans le dossier 'hardware' qui se trouve lui même dans le dossier de vos sketches, par défaut :
OS | Chemin |
---|---|
Windows | C:\Users\<Username>\Documents\Arduino |
Mac OSX | /Users/user/Documents/Arduino |
LINUX | /home/<Username>/sketchbook/ |
- Dans le logiciel Arduino, sélectionner la carte "LGT8F328P-LQFP32 MiniEVB" via le menu "Outils" > "Type de carte" > "Arduino AVR boards (from sketchbook)".
Vous devriez maintenant pouvoir téléverser des croquis sur la carte.
SST39SF0X0
Les puces SST39SF0x0 ne nécessitent qu'une tension de 5V pour être programmée, et celle-ci est fournie par le Arduino directement depuis le port USB de l'ordinateur.
Connexions
Aucune connexion particulière n'est requise, il faut juste faire attention à insérer la puce avec le détrompeur vers l'extérieur du PCB (côté du levier du support ZIF).
Opérations
- Insérer la puce au format Dip-32 dans le support ZIF.
- Connecter le programmateur via un câble USB à un ordinateur équippé d'un logiciel de terminal série (TeraTerm sous Windows, Minicom sous Linux).
- Lancer le logiciel de terminal et ouvrir la connexion série vers le périphérique série (ex:
COM3
sous Windows,/dev/ttyACM0
sous Linux). - Configurer la connexion avec les paramètres suivants : 115200 baud, 8 bits, no parity, 1 stop bit.
Pour ce faire, Sous Windows dans Teraterm, menu 'Setup' > 'Serial' puis entrer les bon paramètres.
Sous Linux dans minicom, Ctrl-A P, puis touches E, L, V, Q. - En appuyant ensuite sur n'importe quelle touche, un menu doit apparaître:
Toutes les commandes prennent la forme Xsssss eeeee
ou X
correspond à une commande, sssss
l'adresse de débutet eeeee
l'adresse de fin (en héxadécimal).
Lecture d'une valeur sur l'eprom
Lancer une commande de lecture, par exemple D0 ff
pour lire les valeurs des bits 0 jusqu'à 255.
Dump d'une eprom et transfert sur le disque dur
- Lancer une commande de lecture, par exemple
R0 10000
pour dumper les valeurs de 0 jusqu'à 65536 (64Kio). - Sous Windows dans Teraterm :Lancer la réception des données en allant dans le menu 'File' > 'Transfer' > XMODEM > Receive...
Sous Linux dans Minicom : Ctrl-A R, xmodem - Sélectionner un emplacement pour sauver le fichier et valider.
Écriture d'une eprom
- Lancer une commande d'écriture, par exemple
W0
pour écrire les données à partir de l'adresse 0. - Sous Windows dans Teraterm : Lancer l'envoi des données en allant dans le menu 'File' > 'Transfer' > XMODEM > Send...
Sous Linux dans Minicom : Ctrl-A S, xmodem - Sélectionner un fichier à écrire et valider.
Linux: Minicom et problème de transferts xmodem
Sous Linux, en cas de problème avec minicom et le transfert xmodem, il faudra peut-être installer le paquet lrzsz
et configurer la commande de transfert dans minicom :
Pour ouvrir le menu de configuration : Ctrl-A O, Protocoles de transfert, touche C pour xmodem, Entrée, puis éditer la commande suivante :
lrzsz-sx -b -X
Laisser tout le reste par défaut, appuyer sur la touche Entrée jusqu'au retour dans le menu, puis sélectionner Enregistrer config. sous dfl
Alimentation externe - exemple d'une EPROM 27C512
Un article spécifique pour les EPROM nécessitant une alimentation externe est disponible ici.
Références
https://tomnisbet.github.io/TommyPROM/docs/tommyprom32-pcb#tommyprom32
https://ww1.microchip.com/downloads/en/DeviceDoc/20005022C.pdf
https://github.com/LGTMCU/Larduino_HSP
https://github.com/RalphBacon/LGT8F328P-Arduino-Clone-Chip-ATMega328P?tab=readme-ov-file#6-simple-steps-to-get-a-lgt8f328p-based-board-running-at-32mhz