Forum: Compiler & IDEs Headerfiles für den Mega16


von Hermann (Gast)


Lesenswert?

Ich habe gestern versucht mit dem GCC-Package von AVR-Freaks ein 
Programm für den ATMega16 zu kompilieren. Dabei wird die 
Plattformeinstellung "atmega16" erkannt, aber der Compiler meldet, dass 
er "iom16.h" nicht findet. Wenn ich einfach mal "iom163.h" umbenenne 
kommt der nächste Fehler, dass"crtm16.o" nicht gefunden wird. Beim 
Umstellen  der Plattform auf "atmega163" lässt sich das Prog. zwar 
compilieren und läuft auch, aber das ist auch nicht das wahre, denn dann 
kann ich die speziellen Funktionen vom ATMega16 nicht nutzen. Jetzt 
meine Frage: Ist das nur ein Fehler auf meinem System, dass die Files 
fehlen, oder gibt es für den m16 noch keine Header? Wenn doch, wo kann 
ich die bekommen?

Hermann

von Joerg Wunsch (Gast)


Lesenswert?

Nimm WinAVR.

von Ralf Kummetat (Gast)


Lesenswert?

Ich habe das gleiche Problem mit dem atmega16. Nehme ich WinAVR bekomme 
ich folgende Fehlemeldung beim Linken:
"avr.objcopy:gcctest1.obj: Invalid bfd target
make.exe: *** [gcctest1.obj]Error1".
Wie kann ich den Fehler beheben?

von BAB (Kai K.) (Gast)


Lesenswert?

hast du beide gcc versionen installiert?
wenn ja musst du beim benutzen der einen die andere aus den pfadangaben 
entfernen sonst geht das nicht.

von Joerg Wunsch (Gast)


Lesenswert?

Außerdem ist "avrobj" kein gültiges Format für das aktuelle
avr-objcopy.  Da gab's früher mal einen privaten Hack dafür
nur, der nie offizialisiert wurde.  Das Format taugt aber IMHO
ohnehin nicht für C-Programme (es kann als einzige Debug-Info
Zeilennummern mitgeben).  Es handelt sich dabei um das sogenannte
"Nordic object file format", das vom Atmel-eigenen Assembler
stammt.

von Ralf Kummetat (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
wie müßte den der "avr_make"-File geändert werden, damit ich wieder ein 
Format für das AVR-Studio 3.56 bekomme?
Guß
Ralf

von Cord (Gast)


Lesenswert?

Hallo,
ich habe das gleiche Problem wie Hermann. Egal welche MCU-Option ich
verwende (atmega16, atmega161 ...), ich bekomme jedesmal die
Fehlermeldung, dass crtm16x.o (je nach MCU) nicht gefunden wird.
Kompiliere ich das gleiche Prog für nen 4433, geht es alles glatt.
System-Info:
Linux
avr-gcc aus gcc-core-3.3 gebaut
binutils 2.14
avr-libc20030512cvs

Wäre schön, wen ihr mir weiterhelfen könntet!
Ach ja, winavr scheidet für mich aus...

Gruß,
Cord

von Peter Fleury (Gast)


Lesenswert?

@Hermann

Vergiss die alten Makefile von der avrfreaks version.
Schau das \winavr\sample\makefile an und passe es an dein Projekt
an.

Nimm besser AVRStudio 4.07 und verwende AVR COFF Version von WinAVR.

von Hermann Kraus (Gast)


Lesenswert?

ich hab mittlerweile auch auf linux umgestellt und alles geht sowohl mit
windows als auch linux ohne probleme.
beim erstellen der libc musst du darauf achten die scripts doconf und
domake anstatt configure und make zu benutzen.

von Cord (Gast)


Lesenswert?

aha! Das werd ich mal ausprobieren! Vielen Dank!

von Cord (Gast)


Lesenswert?

So,
ich hab das eben mal ausprobiert... funzt einwandfrei!!! Vielen Dank
für den doconf und domake Tipp.
Jetzt geht bei uns im Haus auch wieder der Strom, hab eben 240V über
meine Hand an Erde angeschlossen... uah, das kribbelt aber! ;-)

Schönen Abend noch!

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.