TotalPhase-Blog-Erlebniswelten

Programmation SPI Flash avec le logiciel Promira Serial Platform & Flash Center

La programmation de dispositifs de stockage SPI est un cas d'utilisation fréquent pour la plateforme Promira ™ Serial avec l'application SPI Active - Level 1. Il existe plusieurs façons de le faire avec la plateforme Promira Serial avec l'application SPI Active - Level 1, notamment en utilisant le logiciel Control Center ™ Serial, le logiciel Flash Center ™ ou l'API du logiciel Promira de Total Phase. 


En utilisant la plateforme Promira avec le logiciel Flash Center, il est très facile de programmer des appareils EEPROM et Flash. En un seul clic de Flash Center, l'utilisateur peut supprimer, programmer et vérifier un appareil entier. 

Cet article traite de la programmation d'un flash SPI avec le Flash Center et une plateforme Promira. Bien que les paragraphes suivants décrivent le flash SPI M25P32 de ST Micro, monté sur la carte de démonstration flash pour le SPI à grande vitesse, des étapes similaires peuvent être utilisées pour d'autres appareils. L'objectif de cet article est de démontrer comment programmer la flash SPI et ensuite lire les données.

Dans cet article, la plateforme Promira efface, programme et lit le M25P32. La plateforme Promira est le maître SPI et la flash SPI sur la carte de démonstration de la flash SPI est l'esclave SPI. Il est d'abord utile de comprendre les différentes options de fonctionnement fournies par Flash Center. Il existe notamment trois modes de programmation : Programmation, Programmation + Vérification, Programmation (Pas de suppression). En outre, il existe des opérations Read Device, Verify et Erase. 

  • Programme + Verify - Ecrit des données sur un ou plusieurs périphériques de stockage connectés, puis relit les données pour vérifier qu'elles sont correctes. Si le périphérique est un flash SPI, un cycle d'effacement est d'abord effectué. L'effacement ne couvre que les secteurs qui sont écrits. Note que si une écriture se termine au milieu d'un secteur, il peut y avoir plus de données écrites que de données effacées. Dans ce cas, un avertissement est consigné. Si les données à écrire sont assez grandes pour nécessiter l'effacement de tout le dispositif et que le dispositif de stockage a une instruction "Erase all", le logiciel utilise l'instruction "Erase all". 
     
  • Programme - Ecrit des données sur l'appareil, mais n'effectue pas d'étape de confirmation. Si l'appareil est une flash SPI, un cycle d'effacement est d'abord effectué avec les mêmes réserves que "Programme + Vérification".
     
  • Programme (pas d'effacement) - Un mode spécial pour les appareils flash SPI. Il écrit des données dans l'appareil, mais n'effectue pas de cycle d'effacement. Ceci est utile lorsque plusieurs images de mémoire doivent être programmées sur l'appareil. Utilise FF comme valeur de pad lors du chargement de chaque image mémoire afin d'éviter d'endommager les données déjà écrites. Comme l'appareil a peut-être été programmé avant ce processus, il n'effectue pas l'étape de vérification.
     
  • Read Device - Lit le contenu de l'appareil sélectionné et remplace le contenu actuel du tampon de données par celui-ci.
     
  • Verify - Vérifie le contenu des appareils sélectionnés avec le contenu du tampon de données. 
     
  • Erase - Permet à l'utilisateur de supprimer l'ensemble du dispositif de stockage ou d'en supprimer une partie. Pour un effacement partiel, les utilisateurs peuvent indiquer les adresses de départ et la longueur dans la boîte de dialogue des paramètres d'effacement, soit en valeur décimale, soit en valeur hexadécimale.

Détails du M25P32

Le flash SPI M25P32 de 32 Mbit (4 Mo) sur la carte de démonstration flash SPI possède 64 secteurs. Chaque secteur a 256 pages ou 65.536 (64K, 0x10000) octets. Chaque page a 256 octets. Par conséquent, la mémoire a 16.384 pages ou 4.194.304 (0x400000) octets. Toute la mémoire peut être effacée avec la commande Bulk-Erase ou secteur par secteur avec la commande Sector-Erase. Comme référence, tu trouveras ci-dessous la liste d'instructions M25P32 et l'image de la mémoire.

MP25P32_Memory_Map
M25P32_Instuctions_List_1_(1)

Guide de programmation/lecture de la mémoire 

  1. Connecte le port USB de la plateforme Promira au port USB du PC. 
  2. Suivre les instructions d'installation de la Promira pour configurer l'interface Ethernet via USB. 
  3. Télécharge la dernière version du logiciel Flash-Center et décompresse-la. 
  4. Connecte le port I2C / SPI de la plateforme Promira à la carte de démonstration Flash SPI via le câble 34-10. 
  5. Démarre le centre Flash. 
  6. Connecte la plateforme Promira au Flash Center. 
    1. Clique sur Adapters> Add Adapters. 
    2. Sélectionne la plateforme Promira. 
    3. Clique sur Add pour établir une connexion avec la plateforme Promira.
  7. Configure Target Power (Pin 4, 6) sur 5 V ; IO Power (Pin 22, 24) sur Disable, Level Shift sur 3,3 V.  Activer Target Power. 
  8. Clique sur Operations > Choose Target et sélectionne M25P32. 
  9. Configure le taux de bits à 12,5 MHz. 
  10. Lire le périphérique de stockage
    1. Clique sur Operations > Read Target
Promira_platform_Reads_From_M25P32
11. Programmer et lire le M25P32.
a.) Clique sur Opérations> Programme + Vérification. 
b.) Clique sur Opérations> Read Target.
Promira_platform_Writes_to_M25P32_and_Reads

Mémoire flash SPI supportée par le Flash Center

 

Atmel :
AT25DF041A   AT25F1024A  AT25F2048  AT25F4096  AT25F512A  AT25FS010  AT25FS040  
AT26DF041  AT26DF081A  AT26DF161  AT26DF161A  AT26DF321  AT26F004  AT45DB011B  
AT45DB021B  AT45DB041B  AT45DB041D/256  AT45DB041D/264  AT45DB081B  
AT45DB081D/256  AT45DB081D/264  AT45DB161D/512  AT45DB161D/528  AT45DB321C  
AT45DB321D/512  AT45DB321D/528   AT45DB642D/1024  AT45DB642D/1056

ISSI :
IS25CD010  IS25CD025  IS25CD512  IS25LP032/032A/032D  IS25LP064/064A/064B
IS25LP128/128B/128D  IS25LQ010B  IS25LQ016B  IS25LQ020B  IS25LQ025B
IS25LQ032B  IS25LQ040B  IS25LQ080  IS25LQ080B  IS25LQ512B
IS25WP016/016C/016D  IS25WP032/032A/032D  IS25WP064/064A
IS25WP080/080C/080D  IS25WP128  IS25WQ020  IS25WQ040

Micron Technology :
M25P05-A  M25P10-A  M25P128  M25P16  M25P20  M25P32  M25P40  M25P64  M25P80
M25PE10  M25PE16  M25PE20  M25PE40  M25PE80  M45PE10  M45PE16  M45PE20
M45PE40  M45PE80 

Macronix :
MX25L1005  MX25L1006E  MX25L1021E  MX25L1026E  MX25L12835F  MX25L12839F
MX25L12855F  MX25L12873F  MX25L1605 MX25L1605A  MX25L1605D  MX25L1606E 
MX25L1633E  MX25L1635E  MX25L1636E  MX25L1673E  MX25L2005  MX25L2006E  MX25L2026E  
MX25L25635F  MX25L25639F  MX25L25655F  MX25L3205  MX25L3205A  MX25L3205D 
MX25L3206E  MX25L3235E  MX25L3239E  MX25L3273E  MX25L4005A  MX25L4006E  
MX25L4026E  MX25L512  MX25L5121E  MX25L512E  MX25L6405  MX25L6405D  MX25L6406E  
MX25L6435E  MX25L6439E  MX25L6445E  MX25L6456E  MX25L6473E  MX25L8005  MX25L8006E
MX25L8035E  MX25L8036E  MX25L8073E  MX25U3235F  MX25U6435F  MX25V1006E
MX25V2006E  MX25V4006E  MX25V4035  MX25V512E  MX25V8006E  MX25V8035
MX66L1G45G  MX66L51235F


Micron
N25Q008A 8-Mbit 1,8 V  N25Q00AA 1-Gbit 1,8 V  N25Q00AA 1-Gbit 3,3 V
N25Q016A 16 Mbit 1,8 V  N25Q032A 32-Mbit 1,8 V  N25Q032A 32-Mbit 3,3 V
N25Q064A 64-Mbit 1,8 V  N25Q064A 64-Mbit 3,3 V  N25Q128A 128-Mbit 1,8 V
N25Q128A 128-Mbit 3,3 V  N25Q256A 256-Mbit 1,8 V  N25Q256A 256-Mbit 3,3 V
N25Q512A 512-Mbit 1,8 V  N25Q512A 512-Mbit 3,3 V

Chingis Technologies :
Pm25LQ010B  Pm25LQ020B  Pm25LQ025B  Pm25LQ040B  Pm25LQ512B  Pm25LV010
Pm25LV010A  Pm25LV016  Pm25LV016B  Pm25LV020  Pm25LV040  PM25LV080
PM25LV080B  PM25LV512  Pm25LV512A

Panneau de particules :
S25FL004A  S25FL008A  S25FL016A  S25FL032A  S25FL032P  S25FL040A Uniform 
S25FL064A  S25FL064P  S25FL116K  S25FL128P_256KB  S25FL128P_64KB  
S25FL128S_256KB  S25FL128S_64KB  S25FL204K  S25FL208K  S25FL216K  
S25FL256S_256KB  S25FL256S_64KB  S25FL512S

Intel :
S33 16-Mbit  S33 32-Mbit  S33 64-Mbit

SST
SST25LF020A  SST25LF040A  SST25PF020B  SST25PF040B  SST25PF080B
SST25VF010  SST25VF010A  SST25VF016B  SST25VF020  SST25VF020B
SST25VF032B  SST25VF040  SST25VF040B  SST25VF064C  SST25VF080B
SST25VF512  SST25VF512A  SST25WF010  SST25WF020  SST25WF020A
SST25WF512

Winbond/NexFlash :
W25P10/NX25P10  W25P16/NX25P16  W25P20/NX25P20  W25P32/NX25P32
W25P40/NX25P40  W25P80/NX25P80  W25Q16  W25Q32  W25Q80  W25X10
W25X10L  W25X16  W25X20  W25X20L  W25X32  W25X40  W25X40L

Outils de programmation SPI Flash

SF600 Plus Programmeur Flash SPI NOR
SF600Plus
Le SF600 Plus est un programmateur ISP à grande vitesse pour mettre à jour la flash SPI soudée à bord.

Le produit est discontinué

Adaptateur hôte I2C/SPI AardvarkAdaptateur hôte I2C/SPI Aardvark
Adaptateur hôte I2C/SPI Aardvark
TP240141
L'adaptateur hôte Aardvark I2C/SPI est un outil innovant pour l'utilisation avec les systèmes de bus I2C & SPI.

309,00 €*
Plateforme universelle Promira I2C/ SPI/ eSPI
TP500110-S
La plateforme universelle Promira I2C/SPI/eSPI peut être utilisée pour une multitude d'applications

Variantes de 900,00 €*
1 060,00 €*