Externer Flash u. AVRStudio

Gast #4546647
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
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. :-)
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
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.