ersetzen von in/out durch lds/sts

Gast #147199
Lesenswert?
• ▲
▼
hallo,
ich bin dabei ein assembler-projekt vom atmega8 auf den atmega88
anzupassen.
ich benutze das avr-studio und das ice-mk2.
in den application notes von atmel steht, dass man, um die I/O register
zu beschreiben einfach nur die befehle in/out durch lds/sts ersetzen
soll.
grund: beim atmega8 sind die adressen der register im bereich 0x00-0x31
und beim atmega88 werden sie in den sram bereich gemapped.

speziell geht es hier um folgendes problem:
atmega8:
ldi R24,UBR ; Baud rate = 19.200 bps UBR=33
out UBRRL,R24

atmega88:
ldi R24,UBR ; Baud rate = 19.200 bps UBR=33
sts UBRR0L,R24

im debugger werden die bits nicht in die register geschrieben.
daher funktioniert da die uart nicht.

wer weis abhilfe?
Gast #147203
Lesenswert?
• ▲
▼
das sollte eigentlich das include file machen... also es steht zumindest
drin das in/out nicht funzt... also wird die adresse schon stimmen.
hast du dir das app note "migration from mega8 to mega88" angeguckt?
da steht das bei der initialiersierung irgendwas anders ist...

ganz was anderes... im datenblatt find ich kein UBRR0L=33 für 19.2
Gast #147205
Lesenswert?
• ▲
▼
interruptvektoren und adressoffsets werden im includefile geregelt.
muss man irgenwas freischalten, um auf die erweiterten I/O Register
zugreifen zu können?
wenn ich mir ein c prog schreibe und das debugge wird im disassembler
auf die register genauso zugegriffen, wie es auch von atmel
vorgeschlagen wird. seltsamerweise funktiert es da, allerdings im
richtigen assemblerprog nicht.

(UBRR0L=33 für 19.2 war übrigens leider ein falscher kommentar :-))

Antwort schreiben

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.

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.