mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT90S1200: EEPROM als datenspeicher


Autor: Jonas Diemer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: MarkusB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.eseg, richtig?

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
richtig!

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
:-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.