Forum: Mikrocontroller und Digitale Elektronik AT90S1200: EEPROM als datenspeicher


von Jonas Diemer (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich habe ein kleines programm geschrieben, das einen Text auf dem TI-86 
taschenrechner ausgibt (die ausgabe ist irellevant, könnte auch nen lcd 
sein).

da Immer nur ein byte übertragen wird, müsste ein längerer text aus 
vielen

ldi byte_das_uebertragen_werden_soll, <buchstabe>
rcall sende_byte

bestehen.

ich habe stattdessen die bytes ins eeprom gepackt (da beim 1200er ja die 
LPM funktion zum laden von bytes aus dem flash speicher fehlt...).

Die bytes werden direkt beim programmieren ins eeprom gepackt, welches 
ja direkt hinder dem flash speicher liegt, zumindest bei ponyprog. ist 
das bei anderen programmern anders?

gibt es elegantere wege?

jonas

von MarkusB (Gast)


Lesenswert?

???
Das EEProm liegt bei den AVR doch nicht im linearen Adressraum.
???
Oder hab ich da was verpasst?
Normalerweise wird das EEProm über spezielle Register angesprochen.
Dem Assembler wird mittels .org Anweisung (wie in deinem Programm) 
gesagt das die folgenden Bytes ins EEProm gehören und er erzeugt 
(normalerweise) eine Datei mit der Endung .eep
Übertragen wird es wie du sagst, mit allen Programmen die ich kenne

Und eigentlich ist es die eleganteste Lösung weil man hier die 
Möglichkeit hat, die Texte einfach zu ändern ohne das Programm neu 
Assemblieren und runterladen zu müssen. Z.B. kann man über die (beim 
1200 nicht vorhandene) serielle Schnittstelle dazu verwenden neue Texte 
einzuspielen.

Gruß
Markus

von Jonas Diemer (Gast)


Lesenswert?

richtig, der eeprom liegt nicht linear. in ponyprog allerdings wird das 
eeprom hinter dem adressraum dargestellt.


normalerweise wird das eeprom ja wieder mit 0x00 beginnend angesprochen.

wie sage ich dem assembler denn, dass das eeprom anfängt?

.org FLASHEND+1

war ja nur ein hack, der nur bei ponyprog funktioniert.

von Jonas Diemer (Gast)


Lesenswert?

.eseg, richtig?

von Jürgen (Gast)


Lesenswert?

richtig!

von Jonas Diemer (Gast)


Lesenswert?

:-)

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.