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
@ 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
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 ;-)
Ü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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.