Forum: Mikrocontroller und Digitale Elektronik Externer Flash u. AVRStudio


von Sunny85 (Gast)


Lesenswert?

Hallo Mikrocontrollerfreunde,

Ich habe eine Steuerung gebaut, welche unmengen an Fehler in Form von 
kurzen Codes anzeigen kann, die dann nachgeschlagen werden müssen. Für 
eine bessere Bedienerfreundlichkeit, möchte ich zu jedem Code einen 
Fehlertext anzeigen lassen.
Die Fehlertabelle hat eine größe von >3MB und soll daher in einen 
externen SPeicher geschrieben werden. Ansprechen des Speichers sollte 
per SPI kein Problem sein denke ich, nur wie bekomme ich die Tabelle in 
den SPeicher? Per AVRStudio?? Über welche Schnittstelle??

Ich bin verwirrt...

Kann mir jemand helfen?
Grüße Sunny

von Falk B. (falk)


Lesenswert?

@ Sunny85 (Gast)

>per SPI kein Problem sein denke ich, nur wie bekomme ich die Tabelle in
>den SPeicher? Per AVRStudio??

Nein.

>Über welche Schnittstelle??

SPI.

1. Man schreibt eine Upload-Funktion, welche Daten via UART vom PC 
empfängt und in den externen Flash schreibt. Das kann auf über 
Testpunkte passieren, der UART muss in der normalen Anwendung nicht 
zwingend enthalten sein.

2.) Man besorgt sich einen SPI-Flash Programmieradapter. Der hier ist 
gut aber teuer.

http://www.totalphase.com/products/aardvark-i2cspi/

Es gibt aber auch preiswerte Alternativen, z.B. Ponyprog.

http://www.lancos.com/prog.html

: Bearbeitet durch User
von Sunny85 (Gast)


Lesenswert?

Also doch über Umwege...
Schade...

Dankeschön!

von Falk B. (falk)


Lesenswert?

Workaround. Man zerlegt die Binärdatei in mehrere Teile, bindet die als 
CONST Array in ein Stück Testsoftware ein und programmiert damit den 
Flash. Das Programm schreibt dann den Block in den externen Flash. Das 
macht man n mal, dann ist der externe Flash programmiert, ganz ohne 
Zusatz Hard- und Software! Ist aber bei 3MB etwas nervig ;-)

von Rudolph R. (rudolph)


Lesenswert?

Über 3MB klingt nach unkomprimiertem Klartext.

Mit Kompressionm könnte man den externen Speicher deutlich reduzieren 
oder vielleicht sogar ganz vermeiden.

Zum Beispiel über einen Dictionary Ansatz.
"Benutzer-Fehler Nr.:" -> 0x2A
"Die Temperatur ist zu" -> 0x2B

Oder was auch immer da so alles drin steht. :-)

: Bearbeitet durch User
von Michael U. (amiga)


Lesenswert?

Hallo,

ich habe mir damals (tm) eine X-Modem-Routine 8altes ursprüngliches 
Protokoll, 128 Byte-Blöcke) und die Flash-Daten aus einem 
Terminalprogramm dann reingeschrieben. X-Modem nimmt nicht viel Platz 
weg und man kann jederzeit neu flashen.

Für das alte X-Modem-Protokoll habe ich TeraTerm v2.3 bemüht (läuft 
zumindest unter Win7 noch), neueren konnten nur noch X-Modem 2k und 
dafür war mein Ram zu knapp.

Sourcen dazu gibt es bei mir höchstens noch für einen Mega88 und die AVR 
AT45DBxxxD Flashs und in Assembler...

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Sascha W. (sascha-w)


Lesenswert?

per SPI ist auch eine SD-Karte schnell angebunden und das 
"Programmieren" beschränkt sich auf das kopieren einer Datei am PC.
Egal welche Art externer Speicher verwendet wird sollte man sich 
gleichzeitig Gedanken machen wie man vom Programm aus auf den 
gewünschten Text zugreift.

Sascha

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.