suche SPI-Flash (>=16MBit) mit JTAG

Falls "das Bauteil welches davon booten soll" ein Microcontroller ist:

Flash-Routine per JTAG ins RAM des Controllers laden, und das Flash mit Hilfe des Controllers beschreiben. Das sollte die per JTAG zu übertragende Datenmenge auf wenig mehr als die Nutzdaten reduzieren.

Hergen

Reply to
Hergen Lehmann
Loading thread data ...

Kannst Du per JTAG code ins RAM laden und starten, um das zu beschleunigen?

Ich schaffe hier 15KB/s mit openocd - IXP420, JTAG per bitbang am PC-Parallelport, und Blockmodus - d.h. der Flash-Code läuft im RAM des Targets.

Mir ist bisher noch kein Flash mit JTAG untergekommen.

- SPI auf Testpunkte legen und in der Produktion kontaktieren - Minimalst-Bootloader auf die bisherige Art flashen, den starten und den Rest per JTAG, seriell o.ä. an den Flashcode auf dem Target übergeben

cu Michael

--
Some people have no respect of age unless it is bottled.
Reply to
Michael Schwingen

Wieso programmierst du dann nicht das Bauteil, was JTAG hat, zuerst, um dann damit schnell den Speicher zu programmieren? Ich habe erst letzte Woche ein paar Scripts geschrieben, mit denen das für ein FPGA automatisiert wird: Zunächst wird in einem FPGA direkt ins SRAM ein Programm per JTAG geladen (was von Altera zur Verfügung gestellt wird), was ein serielles Flash anspricht. Anschließend wird über den JTAG-Anschluss das Flash über den FPGA schnell beschrieben. Die Scripte musste ich schreiben, weil das zwar alles irgendwie mit den GUIs von Altera geht, aber nicht geeignet für die Produktion ist (gab noch interessante Probleme im Zusammenhang mit Nios). Zum Glück sind alle Programme auch per Kommandozeile aufrufbar.

Da kannst du dann preiswerte Flash Speicher nehmen. Digikey ist für Bauteilerecherche meist recht gut geeignet:

formatting link

Kommt z.B. für ein paar Euro sowas raus:

formatting link

17 Sekunden für komplettes Löschen ist bei der Größe nicht schlecht. Habe jetzt nicht nachgesehen, wie schnell das Schreiben ist, aber schneller als 15 Minuten denke ich wird es schon sein.
--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Hallo NG,

ich suche einen schnellen SPI-Flash der sich zusätzlich per JTAG (IEEE 1149.1) programmieren lässt. Das Bauteil welches davon booten soll hat zwar selber JTAG und kann Boundary-Scan aber sowas hab ich in einem anderen Projekt mit einem

16Bit-Parallel-Flash machen müssen und dort benötigen wir für 170kByte Boot-Loader knapp 15 Minuten. Das ist zwar bestimmt noch verbesserungsfähig aber wenn man sich überlegt das für jeden Einzelschritt (neue Adresse setzen, Busy-Bit auslesen u.ä.) auf dem Speicherbus etwa 800Bit (Boundary-Scan-Zellen plus Kommando-Overhead) seriell über den JTAG-Pfad müssen ist das für ein SPI-Flash mit 16MBit (also etwa 50 millionen Boundary-Scan-Zyklen a 800Bit) sicher der falsche Weg.

Der SPI-Part sollte einigermaßen zügig (min. 25MHz, besser 50MHz) und JEDEC kompatibel sein.

Google bring mir nur unmengen Programmieradapter aber nicht das was ich suche.

Gibt es das was ich suche überhaupt? Andere Ideen zum In-System-Programmieren eines so großen SPI-Flash?

Danke für alle Tipps und Hinweise Erik

Reply to
Erik

Hi Erik,

Ja doch, über den SPI nämlich, oder wie denn sonst? Braucht im Zweifel ein

3fach SPDT-Chip in die SPI-Leitungen vorweg.

Marte

Reply to
Marte Schwarz

Wir laden auch unsere DSPs per JTAG, starten in deren RAM das Programm, und flashen dann binnen weniger Sekunden die firmware hinein. Trotz des zusätzlichen Sicherheits-Aufwands, den wir veranstalten, geht das alles recht fix.

Reply to
Ralph A. Schmid, dk5ras

Was ist denn das dann für ein merkwürdiges Bauteil davor? Wenn das schon JTAG hat, dann sollte man damit doch alles machen können.

kenne ich leider auch keine.

Wäre ja auch nicht so sinnvoll, da man die vom FPGA direkt beschreiben kann, nachdem man eine passende Konfiguration per JTAG in den FPGA geladen hat.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Michael Schwingen schrieb:

in dem Fall leider nicht.

Außer die Boot-Flashs für SRAM-basierte FPGAs, welche aber kein SPI haben, kenne ich leider auch keine. Hab gehofft es gibt da eine Kombination aus beidem.

genau das werd ich wohl machen müssen

Danke und Grüße Erik

Reply to
Erik

Frank Buss schrieb:

Ja, der klingt interessant. 75MHz SPI wär schon was feines.

Ja, so kann man das sagen.

16384 Pages a 256 Bytes zu je 0,64 ms machen knapp 10,5 Sekunden. Damit könnte ich wirklich gut leben.

Das geht dann aber jedenfalls nicht mehr über JTAG. Ich brauch also definitiv eine extra SPI-Programmier-Schnittstelle.

Danke und Grüße Erik

Reply to
Erik

Marte Schwarz schrieb:

ich glaube zwar das ich verstehe was Du mit einem SPDT-Chip meinst aber ist den sowas schnell genug für zügiges SPI?

Danke und Grüße Erik

Reply to
Erik

Hallo Erik,

Klar doch, darüber kann man bequem einige MHz schieben, da wird ja nichts geschaltet in der Zeit, lediglich über die Drain-Source Strecken geleitet. Die Dinger gibt es auch entsprechend niederohmig... Oft sind die höherohmigen aber besser, weil die eine kleinere Gatekapazität einbringen.

Marte

Reply to
Marte Schwarz

Hallo Erik,

Die 15 Minuten klingen nicht nach optimaler Konfiguration.

Vielleicht kannst Du die bestehende Hardware ja wie folgt beschleunigen:

Programmiere einen Flash-Loader, der eine Datei vom PC empfaengt und in das Flash reinschreibt. Optimiere den Loader so, dass er moeglichst klein ist. Jetzt kannst Du mit deinem JTAG Prommer den Loader in das Flash schreiben, was wesentlich weniger als 15 Minuten dauern sollte (je kleiner der Loader, desto schneller). Danach bootest Du den Prozessor und schickst ihm den eigentlich gewuenschten Inhalt des Flash Chips, der dann prompt programmiert wird.

Konkrete Zahlen sind natuerlich reine Spekulation, Du solltest aber deutlich unter eine Minute kommen.

Gruss, Marc

Reply to
Marc Jet

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.