Flasher une ST M27C512 avec un TommyProm32
Matériel nécessaire
- Un TommyProm32
- Une EPROM ST M27C512-45XF1 CDIP28 512 Kbit 64K x8
- Deux cables Dupont
- Une alimentation capable de fournir du 6,25V et du 12,75V simultanément.
Utilisation générale
Une documentation plus générale est disponible ici avec les instructions pour flasher le programmateur.
M27C512
La puce M27C512 nécessite deux tensions différentes pour être programmée .
L'alimentation externe fournit du 12.75V à 'VPP Out 1' qui est routée sur la broche 22 correspondant à Vpp, et marquée O̅E̅ sur le PCB.
Cette alimentation fournit aussi du 6.25V à 'VPP Out 2' qui est routée sur la broche 15 correspondant à Vcc, et marquée A17 sur le PCB.
Notez que l'alimentation 5V du PCB est déconnectée de la puce en mode programmation.
Deux jumpers doivent être placés aux emplacements J12 et J20 (en bas à droite du PCB) lorsque l'on souhaite effectuer des opérations d'écriture.
Ils doivent être retirés pour les opérations de lecture.
Connexions
Il faut 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-28 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
- Enlever les jumpers aux emplacements J12 et J20
- 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
- Enlever les jumpers aux emplacements J12 et J20
- 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
- Placer les jumpers aux emplacements J12 et J20.
- 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
Références
https://tomnisbet.github.io/TommyPROM/docs/tommyprom32-pcb#m27c256
https://media.digikey.com/pdf/data%20sheets/st%20microelectronics%20pdfs/m27c512.pdf