Forum: Mikrocontroller und Digitale Elektronik avrasm32.exe versteht Assembler Direktiven nicht


von Hans I. (obiwahn)


Lesenswert?

Hallo
Ich habe heute versucht einen ATtiny2313 mit dem "avrasm32.exe" in 
Assembler zu programmieren. Bisher hatte ich damit nie Probleme.
Jetzt spuckt der Assembler allerdings haufenweise Fehlermeldungen aus 
wie:

--------
Including  tn2313def.inc

tn2313def.inc(41) : error : Unknown pseudo-opcode

tn2313def.inc(44) : error : Unknown pseudo-opcode

--------

Im Grunde stehen in den Zeilen der .inc-Datei nur 2 Assembler Directiven 
die er nicht verstehen will.
Nämlich:

#define    und
#pragma

#ifndef   versteht er aber komischerweise. Zumindest meckert er da 
nicht.

Gibts da mittlerweile eine neuere avrasm-Version als meine ?
AVRASM:AVR macro assembler version 1.73  (Nov 12 2003 10:56:27)
von Wastl (hartundweichware)


Lesenswert?

Vermutlich wird der avrasm32.exe nur für 32-Bit Controller von
Atmel arbeiten können, nicht für die 8-Bit AVR Controller.
von Harald K. (kirnbichler)


Lesenswert?

Vielleicht hilft ja https://github.com/Ro5bert/avra

Musst Du Dir allerdings selbst aus den Sourcen übersetzen.
von S. L. (sldt)


Lesenswert?

> ... avrasm32... neuere avrasm-Version als meine ...

avrasm32 kenne ich nicht; ich arbeite mit dem avrasm2, z.B. die 
Version '2.2.8 (build 80 Jan 14 2020 18:27:50)'.

Wenn aber urplötzlich "haufenweise Fehlermeldungen" erscheinen, liegt 
die Ursache dafür vermutlich an anderer Stelle.
von Hans I. (obiwahn)


Lesenswert?

Ich benutze den Assembler schon seit Jahren. Bisher konnte ich von 
AT90S1200 bis ATmega16 damit alles programmieren. Aber in den Include 
Dateien für diese Controller stehen die fehlerträchtigen Directiven auch 
nicht drin. Ich habs mir jetzt einfach gemacht und die entsprechenden 
Zeilen einfach auskommentiert. Funzt !

Ich hab den avrasm2 auf github gefunden. Werde ihn mal ausprobieren.
von Arne R. (ebps)


Lesenswert?

Hans I. schrieb:
> avrasm32.exe

Der ist, wie du ja selbst gemerkt hast, uralt (2003) und kann nur die 
urspruenglichen Assembler-Direktiven (.equ usw.). Die C-Style-Direktiven 
(#define usw.) kennt er nicht (avra auch nicht, aber kann sie immerhin 
ignorieren).

S. L. schrieb:
> avrasm32 kenne ich nicht; ich arbeite mit dem avrasm2

avrasm2.exe ist bei neueren Versionen des Atmel/Microchip Studio dabei 
und sollte daher mit den aktuellen Include-Dateien klarkommen. Hier 
(letzte Atmel-Version des Studios) ist es 2.2.7.69 von 2019-06-25.
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
Noch kein Account? Hier anmelden.