ATMega8 AVR309

Gast #1933241
Hallo

ich bekomme die Firmware fürt den ATMega8 mit dem AVR Studio ums 
Verrecken
nicht übersetzt
Fehlermeldungen:

V:\AVR\USB\USBtoRS232.asm(29): Including file 'V:\AVR\USB\m8def.inc'
V:\AVR\USB\USBtoRS232.asm(182): warning: Register r26 already defined by 
the .DEF directive
V:\AVR\USB\USBtoRS232.asm(183): warning: Register r27 already defined by 
the .DEF directive
V:\AVR\USB\USBtoRS232.asm(184): warning: Register r28 already defined by 
the .DEF directive
V:\AVR\USB\USBtoRS232.asm(185): warning: Register r30 already defined by 
the .DEF directive
V:\AVR\USB\USBtoRS232.asm(973): error: Operand(s) out of range in 'ldi 
r21,0x8005'
V:\AVR\USB\USBtoRS232.asm(1851): No EEPROM data, deleting 
V:\AVR\USB\USB.eep

Irgendwelche Hinweise?
PeterJ schrieb:

> Irgendwelche Hinweise?

Die 'already defined' Meldungen stammen daher, dass diese Register auch 
als als Registerpärchen mit dem Namen X, Y und Z-Pointer bekannt sind. 
Das Include File definiert dafür bereits Namen.


Der
V:\AVR\USB\USBtoRS232.asm(973): error: Operand(s) out of range in 'ldi
r21,0x8005'

wie soll ein 16 Bit Wert 0x8005 in ein 8 Bit breites Register passen?
Gast
Hi

>Irgendwelche Hinweise?

-> 'ldi r21,0x8005' Das geht nicht. Ein Register kann nur 8 Bit 
aufnehmen.

Im Quelltext steht an dieser Stelle:

 ldi  bitcount,CRC16poly>>8  ;to bitcount CRC polynomial - high byte
 eor  temp1,bitcount    ;and make XOR from remains and CRC...
>ldi  bitcount,CRC16poly  ;to bitcount CRC polynomial - low byte
 eor  temp0,bitcount    ;and make XOR of remainder and CRC

Aus dem Kontext heraus würde ich sagen, die Zeile müsste so aussehen:

   ldi  bitcount,CRC16poly & $FF

MfG Spess
spess53 schrieb:

> Aus dem Kontext heraus würde ich sagen, die Zeile müsste so aussehen:
>
>    ldi  bitcount,CRC16poly & $FF

Oder überhaupt gleich so
1
    ldi  bitcount, HIGH( CRC16poly )  ;to bitcount CRC polynomial - high byte
2
    eor  temp1,bitcount    ;and make XOR from remains and CRC...
3
    ldi  bitcount, LOW( CRC16poly )   ;to bitcount CRC polynomial - low byte
4
    eor  temp0,bitcount    ;and make XOR of remainder and CRC

fände ich auch klarer in der B-Note

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 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.