Ligne 1 : |
Ligne 1 : |
− | == Introduction == | + | == Préambule == |
| Après avoir installé [[XGecu-install-Linux|XGPro sur mon PC Linux]] pour piloter XGecu, il est temps d'évoluer vers la suite du projet. | | Après avoir installé [[XGecu-install-Linux|XGPro sur mon PC Linux]] pour piloter XGecu, il est temps d'évoluer vers la suite du projet. |
| | | |
| Initialement, je voulais remplacer la UVPROM 27512 d'une carte Z80 sur laquelle [https://github.com/mchobby/kicad-public-projects/tree/main/HASKEL-Z80 je fais un peu de rétro-ingénierie](Github) documenté sur ce [https://forum.system-cfg.com/viewtopic.php?f=18&t=14526&p=232910&hilit=dtmf#p232910 fil de discussion](System-cfg.com). | | Initialement, je voulais remplacer la UVPROM 27512 d'une carte Z80 sur laquelle [https://github.com/mchobby/kicad-public-projects/tree/main/HASKEL-Z80 je fais un peu de rétro-ingénierie](Github) documenté sur ce [https://forum.system-cfg.com/viewtopic.php?f=18&t=14526&p=232910&hilit=dtmf#p232910 fil de discussion](System-cfg.com). |
| | | |
− | [[Fichier:carte-z80.png]] | + | [[Fichier:carte-z80.png|800px]] |
| | | |
| La UVPROM se trouve est à l'emplacement ROM1 où son remplacement EEPROM/FLASH est déjà en place. | | La UVPROM se trouve est à l'emplacement ROM1 où son remplacement EEPROM/FLASH est déjà en place. |
Ligne 10 : |
Ligne 10 : |
| Le remplaçant est un composant [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwi8o-Lx0tiBAxV_fKQEHXiYDtwQFnoECA8QAQ&url=https%3A%2F%2Fwww.greenliant.com%2Fproducts%2F%3Finode%3D40825&usg=AOvVaw04aRHFSYZM5Fjzm27OjN94&opi=89978449 GLS27SF512 de GreenLiant] qui est une mémoire Flash NAND électriquement compatible avec une UVPROM 27512. | | Le remplaçant est un composant [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwi8o-Lx0tiBAxV_fKQEHXiYDtwQFnoECA8QAQ&url=https%3A%2F%2Fwww.greenliant.com%2Fproducts%2F%3Finode%3D40825&usg=AOvVaw04aRHFSYZM5Fjzm27OjN94&opi=89978449 GLS27SF512 de GreenLiant] qui est une mémoire Flash NAND électriquement compatible avec une UVPROM 27512. |
| | | |
− | Je suis arrivé à cette référence en passant par les produits SST (Silicon Storage Technology) plus connu sur le WEB mais malheureusement indisponible en 2023 sur la Belgique. | + | Je suis arrivé à cette référence en passant par les produits SST 27F512 (Silicon Storage Technology) plus connu sur le WEB mais malheureusement indisponible en 2023 sur la Belgique. |
| | | |
| Vous verrez plus loin qu'aucune information n'est a jeter. | | Vous verrez plus loin qu'aucune information n'est a jeter. |
Ligne 18 : |
Ligne 18 : |
| Le GLS27SF512 fonctionne en logique 5V et est pin-compatible avec le 27C512 et donc aussi le 27512. | | Le GLS27SF512 fonctionne en logique 5V et est pin-compatible avec le 27C512 et donc aussi le 27512. |
| | | |
− | Faut-il encore arriver à programmer notre nouvelle "EEPROM" mémoire Flash! [https://arduino103.blogspot.com/2023/07/programmeur-deeprom-en-micropython.html Après de terribles frustrations à réaliser un programmeur avec MicroPython], j'ai fini par opter pour un programmeur [[XGecu-install-Linux|XGecu puisqu'il est capable de fonctionner sous Linux]]. | + | Faut-il encore arriver à programmer notre nouvelle "EEPROM" mémoire Flash! |
| | | |
− | == Assemblage ==
| + | [https://arduino103.blogspot.com/2023/07/programmeur-deeprom-en-micropython.html Après de terribles frustrations à réaliser un programmeur avec MicroPython], j'ai fini par opter pour un programmeur [[XGecu-install-Linux|XGecu puisqu'il est capable de fonctionner sous Linux]] grâce à Wine. |
− | Commençons par programmer l'EEPROM/Flash GLS27SF512 à l'aide d'un adaptateur PLCC32 disponible dans le kit XGecu.
| |
| | | |
− | [[Fichier:XGecu-GLS27SF512-PLCC32-adapter.png|384px]] | + | == Exemples XGpro == |
| + | |
| + | === Lecture UVPROM 27512 === |
| + | |
| + | Avant de programmer une mémoire Flash (EEPROM), il serait bien d'extraire le contenu de l'EEPROM déjà en place sur ma carte. |
| + | |
| + | [[Fichier:UVPROM-27512.png|220px]] |
| + | |
| + | Commençons par placer l'UVProm 27512 sur le XGecu (le marquage en demi-lune -surligné en blanc- est orienté vers le levier). |
| + | |
| + | [[Fichier:XGecu-27512.png|384px]] |
| + | |
| + | Ensuite on démarre le programme XGPro et nous identifions le composant. |
| + | |
| + | Cliquer sur le bouton "Select IC" et retrouver l'entrée 27512 en DIP28 à l'aide de la recherche suivante: |
| + | |
| + | [[Fichier:XGecu-UVPROM-Select.png]] |
| + | |
| + | Le composant sélectionné, il est alors possible de lire le contenu de l'UVPROM en pressant le bouton "READ". |
| + | |
| + | [[Fichier:XGecu-UVPROM-Read.png]] |
| + | |
| + | Ce qui affiche la boîte de dialogue de lecture. |
| + | |
| + | [[Fichier:XGecu-UVPROM-Read-Popup.png]] |
| + | |
| + | Reste à presser le bouton "Read" pour débuter la lecteure |
| + | |
| + | [[Fichier:XGecu-UVPROM-Read-Popup2.png]] |
| + | |
| + | Enfin, nous disposons des données dans la mémoire tampon du programme |
| + | |
| + | [[Fichier:XGecu-UVPROM-data.png]] |
| + | |
| + | Cliquer sur le point de menu "File | Save ..." permet de sauver le fichier sous différents formats. |
| + | |
| + | [[Fichier:XGecu-UVPROM-save.png]] |
| + | |
| + | === Programmer le GLS27SF512 === |
| + | Cette partie du tuto propose de programmer l'EEPROM/Flash GLS27SF512 à l'aide d'un adaptateur PLCC32 disponible dans le kit XGecu. |
| + | |
| + | [[Fichier:GLS27SF512-replacing-27512.png|220px]] |
| | | |
| J'ai opté pour l'adaptateur PLCC32-DIP28 convenant au 27C64/27C512 (puisque l'UVPROM 27512 est un DIP28). | | J'ai opté pour l'adaptateur PLCC32-DIP28 convenant au 27C64/27C512 (puisque l'UVPROM 27512 est un DIP28). |
Ligne 31 : |
Ligne 71 : |
| Comme vous pouvez le voir, l'EEProm GLS27SF512 est déjà en place dans le support PLCC32. | | Comme vous pouvez le voir, l'EEProm GLS27SF512 est déjà en place dans le support PLCC32. |
| | | |
− | == XGpro ==
| + | [[Fichier:XGecu-GLS27SF512-PLCC32-adapter.png|384px]] |
− | La première étape est de sélectionner le composant à programmer. | + | |
| + | Ensuite on démarre le programme XGPro et nous identifions le composant à programmer. |
| + | |
| + | La référence GLS27SF512 n'est pas disponible dans l'énorme base-de-données de XGPro. |
| + | |
| + | Par contre, nous avons une mémoire Flash SST27SF512 réputé compatible avec un 27C512 (lecture) mais aussi compatible avec le GLS27SF512 de Greenliant. |
| + | |
| + | Cliquer sur le bouton "Select IC" et retrouver l'entrée SST27SF512 en DIP28 à l'aide de la recherche suivante: |
| + | |
| + | [[Fichier:XGecu-EEPROM-Select.png]] |
| + | |
| + | Après la sélection du Composant, '''il faut absolument décocher "Check ID"''' car ce que nous allons programmer est un GLS27SF512 (compatible SST27SF512) et non un SST27SF512. |
| + | |
| + | Si XGpro vérifie l'ID (''identification'') du composant alors il refusera de programmer le GreenLiant (parce que ce n'est pas un SST). |
| + | |
| + | [[Fichier:XGecu-EEPROM-Check-ID.png|1024px]] |
| + | |
| + | Enfin, une fois le composant sélectionné, nous avons les options suivantes à notre disposition: |
| + | * '''READ''' : Lecture |
| + | * '''ERASE''' : Effacer |
| + | * '''PROG.''' : Programmer |
| + | |
| + | C'est le moment d'utiliser le menu "File | Load File" pour charger un fichier. |
| + | |
| + | Comme je dispose d'un fichier binaire avec 64 Kio de données qui est chargée dans le Buffer (mémoire tampon) de XGPro. |
| + | |
| + | [[Fichier:XGecu-Load-File.png]] |
| + | |
| + | Les données chargées dans le Buffer, il ne reste plus qu'a presser le bouton "PROG". |
| + | |
| + | [[Fichier:XGecu-Prog1.png]] |
| + | |
| + | Presser le bouton "Program" et c'est fait. |
| | | |
− | La référence exacte n'est pas disponible dans l'énorme base-de-données de XGPro. Par contre, nous avons une mémoire Flash réputé compatible avec un 27C512 (lecture) qui se présente comme une flash.
| + | [[Fichier:XGecu-Prog2.png]] |
− | Après quelques recherche sur le Net, SST fabrique des mémoire Flash tout a fait semblable au module GLS27SF512 de Green
| |