Probleme mit Include-Dateien bei avra

Das Programm AVRA ist ein Assembler Compiler für die Mikrocontroller von Atmel unter Linux, welcher kompatibel zum Assembler in Atmels Entwicklungsumgebung AVR Studio ist. Hin und wieder programmiere ich für verschiedene Zwecke einen Atmel und verwende dann lieber Assembler als C. Unter Linux wollte ich nun AVRAa einsetzen. Leider konnte ich keines meiner Programme kompilieren, da AVRA (Version 1.2.3) die Mikrocontroller-spezifischen Include-Dateien (Bsp: m16def.inc) nicht verarbeiten wollte. Offensichtlich hat AVRA ganz konkret Probleme bspw. mit den Pragma-Direktiven (Codezeilen mit #pragma).

Die Include-Dateien für alle Atmel-µC liegen bei mir unter Ubuntu im Verzeichnis /usr/share/avra. Schaut man sich diese Dateien genauer an, so sind sie identisch mit den Include-Dateien aus dem Verzeichnisbaum der AVR Studio Installation. Allerdings sind das die Include-Dateien aus dem AVR Assembler 2 -Baum. Schaut man sich dagegen die Include-Dateien in der AVR Studio Installation für den AVR Assembler(1) an, so enthalten diese Dateien bspw. keine Pragma-Direktiven o.ä. Ich habe also testweise mal meine Programme mit diesen Include-Dateien unter AVRA kompiliert - es funktioniert! Also habe ich alle Dateien in /usr/share/avra/ ausgetauscht.

Ich frage mich natürlich schon, warum AVRA mit den "falschen" Include-Dateien ausgeliefert wird. Falls Ihr auch diese Probleme mit AVRA habt, braucht Ihr nicht erst AVR Studio installieren. Ich habe alle Includes (Atmel AVR Studio 4, Version 4.18, Build 684) in eine ZIP-Datei gepackt und diesem Artikel angefügt.