illegal opcode mul for mcu attiny2313

Gast #179652
Hallo ich habe den neuen ATtiny 2313 und wollte ein Nibbel
auslesen und in eine Variable speichern.
Die Variable soll mal 9 genommen werden und in OCR0a geschrieben
werden.
Ich bekomme folgende fehlermeldung (illegal opcode mul for mcu
attiny2313).
Wenn ich die Variable 9 mal Plus nehme habe ich das Problem nicht.
Hier ist der Code
if bit_is_set (PINB,0)
    PINB_V += 1;
    if bit_is_set (PINB,1)
    PINB_V += 2;
    if bit_is_set (PINB,2)
    PINB_V += 4;
    if bit_is_set (PINB,3)
    PINB_V += 8;
    PINB_V *= 9;
    OCR0A = PINB_V;
dieser Code produziert den fehler.
if bit_is_set (PIND,0)
    PIND_V += 1;
    if bit_is_set (PIND,1)
    PIND_V += 2;
    if bit_is_set (PIND,2)
    PIND_V += 4;
    if bit_is_set (PIND,3)
    PIND_V += 8;
    OCR0B = (PIND_V + PIND_V + PIND_V + PIND_V + PIND_V + PIND_V + 
PIND_V
+ PIND_V  + PIND_V);
dieser Code geht aber warum?
Mfg. Torben
Gast
War ein Bug, ist inzwischen dahingehend repariert, dass der ATtiny2313
mittlerweile vom CPU-Kern her wirklich wie ein AT90S2313 behandelt
wird (bis auf die erweiterten IO-Möglichkeiten).
Gast
Ja Danke es geh ja auch so wie in meinem Code aber ich benutze Winavr
und es gibt noch keine neue Version mit der Libc 1.2.1
Bitte noch eine kurze Mail wie ich den Winavr updaten kann.
Mfg. Torben
Gast
Hallo ich habe die Libc 1.2.1 instaliert aber das Problem ist damit
nicht weg.
Es kommen beim Compilieren nur noch mehr fehler.
Weitere Hilfe währe nicht schlecht.
Mfg. Torben
Gast
Errm, ja, du brauchst natürlich nicht nur die Bibliothek, sondern du
musst auch den Compiler und Binutils patchen. :-/

Abhilfe für jetzt erstmal: deklarier' den Chip als AT90S2313
gegenüber
dem Compiler.

Die nächste WinAVR-Version wird sich wohl auch nicht mehr so lange
hinziehen.

Antwort schreiben

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