Forum: Compiler & IDEs avr-gcc erzeugt keine IntVec-Tabelle?!


von Jörg Dreßler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo da draußen,
ich habe ein irgendiwe merkwürdiges Problem. Ich möchte mit Hilfe der
avr-gcc/avr-libc (gestern hab ich die neusten Versionen übersetzt:
3.4.3/1.05) ein paar Interrupt-Routinen für nen mega128 schreiben.
Nachdem ich schon bescheiden geworden bin, soll das jetzige Programm
lediglich bei nem externen Interrupt (INT0/1) eine LED einschalten
(arbeite mit dem stk500/1).Nachdem das immernoch nicht funktioniert
hat, hab ich mir mit Hilfe des AVRStudio4 und des JTAG-ICE mal den
Inhalt des Progmem ausgeben lassen (Anhang) Und siehe da: für meine
Augen keine zu gebrauchende IntVec-Tabelle. Hat jemand nen Vorschlag,
was das sein könnte?
Meine Konfig: BOOTSZ=00 ; BOOTRST=1 ; IVSEL=0 ; IVCE=0

von A.K. (Gast)


Lesenswert?

Falscher Prozessortyp eingestellt. Das sieht mir ziemlich nach einem
AT90S8515 aus.

von Jörg Dreßler (Gast)


Lesenswert?

Also ich hab als allererstes im Code ein:
#define _AVR_ATmega128_ 1

und im Makefile:
MCU=atmega128
CFLAGS = -c -Wall -g -std=c99 -mmcu=$(MCU)
  ...
$(CC) $(CFLAGS) -o $@ $<

Fehlt noch was?

Jörg

von Jörg Wunsch (Gast)


Lesenswert?

Das #define gehört da nicht rein, Makros, die mit zwei Unterstrichen
beginnen, sind für Dich tabu.  (Der Compiler generiert das intern.)

Die -mmcu Anweisung stimmt, aber vermutlich hast Du diese beim Linken
vergessen.

von Jörg Dreßler (Gast)


Lesenswert?

Danke, das war's. Wieder was dazugelernt.

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.