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
??? 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
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.
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.