Programmieren SPI Flash mit Promira Serial Platform & Flash Center Software
Das Programmieren von SPI-Speichergeräten ist ein häufiger Anwendungsfall für die Promira ™ Serial Plattform mit der SPI Active - Level 1 Anwendung. Es gibt mehrere Möglichkeiten, dies mit der Promira Serial Plattform mit der SPI Active - Level 1 Anwendung zu tun, einschließlich der Verwendung von Control Center ™ Serial Software, Flash Center ™ Software oder der Promira Software API von Total Phase.
Die Verwendung der Promira-Plattform mit der Flash-Center-Software macht es sehr einfach, EEPROM- und Flash-Geräte zu programmieren. Mit einem Flash Center-Klick kann der Benutzer ein gesamtes Gerät löschen, programmieren und verifizieren.
Dieser Artikel beschäftigt sich mit der Programmierung von einem SPI-Flash mit dem Flash Center und einer Promira-Plattform. Obwohl im Folgenden das SPI Flash M25P32 von ST Micro beschrieben wird, das auf der Flash-Demo-Board für Hochgeschwindigkeits-SPI montiert ist, können ähnliche Schritte für andere Geräte verwendet werden. Das Ziel dieses Artikels ist es, zu demonstrieren, wie man SPI-Flash programmiert und dann die Daten zurückliest.
In diesem Artikel löscht, programmiert und liest die Promira-Plattform den M25P32. Die Promira-Plattform ist der SPI-Master und der SPI-Flash auf der SPI-Flash-Demo-Platine ist der SPI-Slave. Es ist zunächst hilfreich, die verschiedenen von Flash Center bereitgestellten Betriebsoptionen zu verstehen. Insbesondere gibt es drei Programmiermodi: Programmieren, Programm + Verify, Programmieren (Kein Löschen). Darüber hinaus gibt es Read Device-, Verify- und Erase-Operationen.
- Programm + Verify - Schreibt Daten auf ein oder mehrere angeschlossene Speichergeräte und liest die Daten dann zurück, um sie auf Korrektheit zu überprüfen. Wenn das Gerät ein SPI-Flash ist, wird zuerst ein Löschzyklus durchgeführt. Das Löschen deckt nur die Sektoren ab, die geschrieben werden. Beachten Sie, dass mehr Daten geschrieben werden können als gelöscht werden können, wenn ein Schreibvorgang in der Mitte eines Sektors endet. In diesem Fall wird eine Warnung protokolliert. Wenn die zu schreibenden Daten groß genug sind, um das Löschen der gesamten Vorrichtung zu erfordern und die Speichervorrichtung einen Befehl "Erase all" aufweist, verwendet die Software die Anweisung "Erase all".
- Programm - Schreibt Daten auf das Gerät, führt jedoch keinen Bestätigungsschritt durch. Wenn es sich bei dem Gerät um einen SPI-Flash handelt, wird zuerst ein Löschzyklus mit den gleichen Vorbehalten wie "Programm + Verify" durchgeführt.
- Programm (Kein Löschen) - Ein spezieller Modus für SPI-Flash-Geräte. Es schreibt Daten in das Gerät, führt jedoch keinen Löschzyklus durch. Dies ist nützlich, wenn mehrere Speicherbilder auf dem Gerät programmiert werden sollen. Verwenden Sie FF als Pad-Wert beim Laden jedes Speicherabbilds, um die Beschädigung bereits geschriebener Daten zu vermeiden. Da das Gerät möglicherweise vor diesem Vorgang programmiert wurde, führt es den Verifizierungsschritt nicht durch.
- Read Device - Liest den Inhalt des ausgewählten Geräts und ersetzt den aktuellen Inhalt des Datenpuffers mit diesem.
- Verify - Überprüft den Inhalt der ausgewählten Geräte mit dem Inhalt des Datenpuffers.
- Erase - Ermöglicht dem Benutzer das Löschen des gesamten Speichergeräts oder das Löschen eines Teils davon. Zum teilweisen Löschen können Benutzer die Startadressen und die Länge im Löschparameterdialog entweder als Dezimalwert oder als Hexadezimalwert angeben.
M25P32-Details
Der 32 Mbit (4 MB) SPI Flash M25P32 auf dem SPI Flash Demo Board hat 64 Sektoren. Jeder Sektor hat 256 Seiten oder 65.536 (64K, 0x10000) Bytes. Jede Seite hat 256 Bytes. Daher hat der Speicher 16.384 Seiten oder 4.194.304 (0x400000) Bytes. Der gesamte Speicher kann mit dem Bulk-Erase-Befehl oder Sektor für Sektor mit dem Sector-Erase-Befehl gelöscht werden. Als Referenz finden Sie unten die M25P32-Anweisungsliste und das Speicherabbild.
Anleitung Speicherprogrammierung/Lesen
- Verbinden Sie den USB-Anschluss der Promira-Plattform mit dem PC-USB-Anschluss.
- Befolgen den Installationsanweisungen für den Promira, um die Ethernet-über-USB-Schnittstelle zu konfigurieren.
- Laden Sie die neueste Version der Flash-Center-Software herunter und entpacken Sie sie.
- Verbinden Sie den I2C / SPI-Anschluss der Promira-Plattform über das 34-10-Kabel mit der SPI Flash Demo-Karte.
- Starten Sie das Flash Center.
- Verbinden Sie die Promira-Plattform mit Flash Center.
- Klicken Sie auf Adapters> Add Adapters.
- Wählen Sie die Promira-Plattform.
- Klicken Sie auf Add, um eine Verbindung zur Promira-Plattform herzustellen.
- Konfigurieren Sie die Target Power (Pin 4, 6) auf 5 V; IO Power (Pin 22, 24) auf Disable, Level Shift auf 3,3 V. Aktivieren Sie Target Power.
- Klicken Sie auf Operations > Choose Target und wählen Sie M25P32.
- Konfigurieren Sie die Bit Rate auf 12,5 MHz.
- Lesen Sie das Speichergerät
- Klicken Sie auf Operations > Read Target
SPI Flash Speicher unterstützt vom 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
Spansion:
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
SPI Flash Programmierwerkzeuge
Produkt ist abgekündigt