Forum: Mikrocontroller und Digitale Elektronik FX3: Firmware download


von P. K. (pek)


Lesenswert?

Hallo zusammen

Ich stelle fest, dass es beim Firmwaredownload des FX3 die Einschränkung 
gibt, dass der Bootloader auf dem ARM laufen muss, um
1
dwld_status = pCCyFX3Device->DownloadFw(pFName, RAM);

zu benutzen. Funktioniert soweit ganz OK als Start.

Ich werde aber die SPI-Flash-Boot-Lösung benutzen, und dann habe ich 
eigentlich permanent eine Nicht-Bootloader-Firmware präsent. Trotzdem 
möchte ich in der Lage sein (ohne gleich das Flash zu überschreiben oder 
invalidieren), eine andere (Test-)Version der Firmware ins RAM zu 
schreiben. Gibt's da eine elegante Lösung?

Gruss

von Christian R. (supachris)


Lesenswert?

Da gibts leider beim FX3 im Gegensatz zum FX2 keine so richtig gute 
Lösung. Dieser A0 Vendor Request ist da nicht implementiert. Entweder du 
machst das selber, was aber dann schwierig wird, weil ja der RAM 
überschrieben werden muss, oder du lebst damit dass du den FX3 im 
Bootloader Modus neustarten musst.

von P. K. (pek)


Lesenswert?

Christian R. schrieb:
> ...oder du lebst damit dass du den FX3 im
> Bootloader Modus neustarten musst.

Das wäre kein Problem, aber: Kann ich denn das? Auf meinem (zukünftigen) 
Board wird fix der SPI-Boot mit USB-Fallback implementiert sein.

Meine Frage nun: Kann ich, wenn die Firmware aus dem SPI-Flash läuft 
(mit unserer vIP/pIP) auf irgendeine (nur Software-basierte) Art 
erreichen, dass der FX3 in den Bootloader-Mode kommt (ohne gleich wieder 
das SPI-Flash nachzuladen)?

von Christian R. (supachris)


Lesenswert?

Nee, soweit ich das im Cypress Forum verstanden habe, gibt es keine 
Möglichkeit in den USB Boot zu springen, höchstens ein Reboot im selben 
Modus ist möglich. Als Würgaround hatten die das Löschen des Flash und 
dann Reboot vorgeschlagen. Du musst den Flash Update in deine Firmware 
integrieren. Wir machen das über den angeschlossenen FPGA, damit wir 
nicht in den 16 Bit GPIF wechseln müssen, das ist nämlich genau so ein 
blödes Gefrickel.

von P. K. (pek)


Lesenswert?

Naja, ich dachte dass es vielleicht eleganter geht. Da ich sowieso im 
16-bit-Mode arbeite (FX3S) gibt's wenigstens da keinen Engpass. Werde 
wohl die Variante mit dem Flash invalidieren anwenden.

Merci sowieso!

: Bearbeitet durch User
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.