Forum: Mikrocontroller und Digitale Elektronik NOR Flash 256/512 MBit SPI Programmiergeräte


von Frank B. (reichhart)


Lesenswert?

Hi,

ich möchte Flash-Chips (z.B. MX25L64xx/MX25L128xx) beschreiben und 
benötige dafür ein Programmiergerät. Als Schnittstelle für den Host wäre 
USB nett, ist aber keine Bedingung.
Teure Multibrenner sind Overkill, da ich nur für diese spezifische 
Aufgabe einen "Flasher" brauche. Der Openbiosprog würde passen, aber ich 
möchte nicht noch extra Platinen fertigen lassen und bestücken, sondern 
ein "Fertiggerät" haben.
(Das physische Problem des SOP8-Gehäuses ist erst einmal irrelevant.)

Welche (in DE) erhältlichen Programmiergeräte (max. 60 Euro) eignen sich 
dafür? Oder anders gefragt: Worauf muss ich bei den Beschreibungen 
dieser Geräte achten?

Ich habe übrigens noch ein STK500. Kann ich das vielleicht für das 
NOR-Flashing nutzen?

Gruß
Frank

von gGast (Gast)


Lesenswert?

Frank Bergmann schrieb:
> Ich habe übrigens noch ein STK500. Kann ich das vielleicht für das
> NOR-Flashing nutzen?

Bestimmt geht das. Du brauchst nur einen kleinen ATtiny oder besser 
ATMega und etwas Software.

von User (Gast)


Lesenswert?

Der FT232H kann SPI direkt. Den gibts auf einem Entwicklungsboard, bei 
Reichelt erhältlich.

Das Programm musst Du aber selber erstellen.

von Frank K. (fchk)


Lesenswert?


: Bearbeitet durch User
von hp-freund (Gast)


Lesenswert?

ebay 380557812880

von Frank B. (reichhart)


Lesenswert?

gGast schrieb:
> Bestimmt geht das. Du brauchst nur einen kleinen ATtiny oder besser
> ATMega und etwas Software.

OK. Ich dachte, es wäre vielleicht out-of-the-box gegangen. Ich erinnere 
mich dunkel an MOSI/MISO-Signalebei der Board-Beschreibung.
"Etwas Software" widerspricht aber meinem Wunsch nach "read-to-use".

von Frank B. (reichhart)


Lesenswert?

User schrieb:
> Der FT232H kann SPI direkt. Den gibts auf einem Entwicklungsboard, bei
> Reichelt erhältlich.

Oh, interessant!

> Das Programm musst Du aber selber erstellen.

Wenn es keine fertige Software dafür gibt, ist das ein KO-Kriterium.

Ein Programmer-Fertiggerät sollte entweder passende Software haben oder 
(preferred!) vorhandene "Standard-Software" wie flashrom, avrdude etc. 
nutzen.
Da die Boards bei Reichelt aber wie der openbiosprog auf dem FT232H 
basieren, könnte vielleicht auch flashrom genutzt werden. Dann würde es 
natürlich super passen. :-)

von Frank B. (reichhart)


Lesenswert?


von Frank B. (reichhart)


Lesenswert?

hp-freund schrieb:
> ebay 380557812880

Jau, das würde passen.

Ich habe in der Zwischenzeit bei Reichelt den Diamex USB ISP entdeckt 
(http://www.reichelt.de/Programmer-Entwicklungstools/DIAMEX-USB-ISP/3/index.html?&LA=446&ARTICLE=110344). 
Ist der vielleicht auch geeignet?

von hp-freund (Gast)


Lesenswert?

Hast Du meinen link angesehen?
Alles komplett und in D...

von hp-freund (Gast)


Lesenswert?

Ups! Zu Spät.

von hp-freund (Gast)


Lesenswert?

Frank Bergmann schrieb:
> Ich habe in der Zwischenzeit bei Reichelt den Diamex USB ISP entdeckt
> 
(http://www.reichelt.de/Programmer-Entwicklungstools/DIAMEX-USB-ISP/3/index.html?&LA=446&ARTICLE=110344).
> Ist der vielleicht auch geeignet?

Da fehlt leider auch die passende Software.

von Frank B. (reichhart)


Lesenswert?

hp-freund schrieb:
>> 
(http://www.reichelt.de/Programmer-Entwicklungstools/DIAMEX-USB-ISP/3/index.html?&LA=446&ARTICLE=110344).
>> Ist der vielleicht auch geeignet?
>
> Da fehlt leider auch die passende Software.

avrdude.
Es stellt sich nur die Frage, ob ich damit auch NOR-Flash (und vor allem 
so groß) brennen kann.

von Frank B. (reichhart)


Lesenswert?

Zum Abschluss des Threads möchte ich noch meine persönliche Lösung 
posten.

Vorab aber noch eine wichtige Korrektur (siehe Subject):
Ich habe die Größen von ein paar RAM- und Flash-Bausteinen verwechselt. 
;-)
Es handelt sich um Flash-Chips mit 64 MBit oder 128 MBit!
(Beispiele: MX25L64xx, MX25L128xx)

Da es sich um NOR-Flash mit SPI-Interface handelt, gibt es eine ganz 
einfache und kostengünstige Möglichkeit, diese (über USB) zu 
programmieren. Die Firma FTDI, die vor allem für ihre 
Seriell-USB-Konverter (Chips und Kabel) bekannt ist, hat auch einige 
Chips wie den FT232H im Programm, die einen SPI-Mode haben.
Hier in diesem Forum wurde schon der openbiosprog vorgestellt, der mit 
einem FT2232H (dual channel) aufgebaut ist, unter freier (Hardware-) 
Lizenz steht und das freie "flashrom" zum Brennen nutzt.
Noch einfacher geht es allerdings mit dem Kabel C232HM-DDHSL-0 von FTDI, 
das wie openbiosprog und ein anderer freier Programmer namens RushSPI 
(FT232H single channel) direkt von "flashrom" unterstützt wird.

Die Verkabelung sieht wie folgt aus:
1
  FTDI 
2
C232HM-DDHSL-0       SPI-Flash
3
     1 red    ------ 8 Vcc
4
     2 orange ------ 6 SCLK
5
     3 yellow ------ 5 SI
6
     4 green  ------ 2 SO
7
     5 brown  ------ 1 /CS
8
     6 grey   ------ 3 /WP (with 4k7 Pullup)
9
     7 purple ------ 7 /HOLD (with 4k7 Pullup)
10
    10 black  ------ 4 Gnd

Wie man das physisch verkabelt, ist jedem selbst überlassen. Da gibt es 
viele Möglichkeiten. ;-)
Jedenfalls ist das die einfachste Art, sich ein "Programmiergerät" zum 
Brennen eines Flash-Chips zu besorgen. :-)

Beispiele für Befehle:
1
# ./flashrom -p ft2232_spi:type=232H,port=A 
2
flashrom v0.9.7-r1711 on Darwin 8.11.0 (Power Macintosh)
3
flashrom is free software, get the source code at http://www.flashrom.org
4
5
Calibrating delay loop... OK.
6
Found Macronix flash chip "MX25L6405(D)" (8192 kB, SPI) on ft2232_spi.
7
Found Macronix flash chip "MX25L6406E/MX25L6436E" (8192 kB, SPI) on ft2232_spi.
8
Found Macronix flash chip "MX25L6445E" (8192 kB, SPI) on ft2232_spi.
9
Multiple flash chip definitions match the detected chip(s): "MX25L6405(D)", "MX25L6406E/MX25L6436E", "MX25L6445E"
10
Please specify which chip definition to use with the -c <chipname> option.
11
12
# ./flashrom -p ft2232_spi:type=232H,port=A -V -c MX25L6406E/MX25L6436E
13
flashrom v0.9.7-r1711 on Darwin 8.11.0 (Power Macintosh)
14
flashrom is free software, get the source code at http://www.flashrom.org
15
16
flashrom was built with GCC 4.0.1 (Apple Computer, Inc. build 5370), big endian
17
Command line (5 args): ./flashrom -p ft2232_spi:type=232H,port=A -V -c MX25L6406E/MX25L6436E
18
Calibrating delay loop... OS timer resolution is 1 usecs, 571M loops per second, 10 myus = 9 us, 100 myus = 92 us, 1000 myus = 923 us, 10000 myus = 9307 us, 4 myus = 4 us, OK.
19
Initializing ft2232_spi programmer
20
Using device type FTDI FT232H channel A.
21
Disable divide-by-5 front stage
22
Set clock divisor
23
MPSSE clock: 60.000000 MHz, divisor: 2, SPI clock: 30.000000 MHz
24
No loopback of TDI/DO TDO/DI
25
Set data bits
26
The following protocols are supported: SPI.
27
Probing for Macronix MX25L6406E/MX25L6436E, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
28
Found Macronix flash chip "MX25L6406E/MX25L6436E" (8192 kB, SPI) on ft2232_spi.
29
Chip status register is 0x00.
30
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
31
Chip status register: Bit 6 is not set
32
Chip status register: Block Protect 3 (BP3) is not set
33
Chip status register: Block Protect 2 (BP2) is not set
34
Chip status register: Block Protect 1 (BP1) is not set
35
Chip status register: Block Protect 0 (BP0) is not set
36
Chip status register: Write Enable Latch (WEL) is not set
37
Chip status register: Write In Progress (WIP/BUSY) is not set
38
This chip may contain one-time programmable memory. flashrom cannot read
39
and may never be able to write it, hence it may not be able to completely
40
clone the contents of this chip (see man page for details).
41
No operations were specified.
42
43
# time ./flashrom -p ft2232_spi:type=232H -c MX25L6406E/MX25L6436E -r dump.rom
44
flashrom v0.9.7-r1711 on Darwin 8.11.0 (Power Macintosh)
45
flashrom is free software, get the source code at http://www.flashrom.org
46
47
Calibrating delay loop... OK.
48
Found Macronix flash chip "MX25L6406E/MX25L6436E" (8192 kB, SPI) on ft2232_spi.
49
Reading flash... done.
50
51
real    2m34.750s
52
user    0m4.224s
53
sys     0m8.098s

(Anm.: In den Beispielen läuft flashrom auf MacOS 10.4 auf PPC. Das wird 
von flashrom nicht unterstützt. Dazu sind Änderungen am Makefile und am 
Code erforderlich.)

Das Kabel kostet übrigens um die 20 Euro.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.