defines bedingt compilieren für m328 bringt Compilerfehler

OP #4041229
Lesenswert?

Hallo,

mein Projekt ist gewachsen und soll in einem Mega328 ablaufen.
Damit es auf verschiedenen Prozessoren laufen kann, habe ich in der 
header-Datei die Fallunterscheidungen für spezielle Registernamen 
eingeführt, damit abhängig vom eingestellten Prozessortyp der Compiler 
die richtigen Definitionen heraus sucht. Das klappte bisher mit Mega8, 
Mega48, Mega88 und Mega168 ganz gut. Kann mir bitte jemand mit Tipps 
weiter helfen, weshalb es mit dem Mega328 nicht so funktioniert? Es 
erscheinen permanent Comilerfehler, da nicht der richtige Prozessor-Typ 
ausgewählt ist. Unterscheidliche Schreibweisen helfen nicht weiter. 
Codeauszug im Anhang.

Compilerfehler:
Build started 6.3.2015 at 06:41:27
avr-gcc  -mmcu=atmega328p -Wall -gdwarf-2 -std=gnu99 
-DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct 
-fshort-enums -MD -MP -MT i2c_to_go6.o -MF dep/i2c_to_go6.o.d  -c 
../i2c_to_go6.c
../i2c_to_go6.c: In function 'main':
../i2c_to_go6.c:417: warning: implicit declaration of function 
'RFM12BP_INT_ENABLE'
../i2c_to_go6.c:419: error: 'INT0_CONTROL' undeclared (first use in this 
function)
../i2c_to_go6.c:419: error: (Each undeclared identifier is reported only 
once
../i2c_to_go6.c:419: error: for each function it appears in.)
../i2c_to_go6.c:419: error: 'INT0_FALLING_EDGE' undeclared (first use in 
this function)
../i2c_to_go6.c:422: warning: implicit declaration of function 
'RFM12BP_INT1_ENABLE'
../i2c_to_go6.c:423: error: 'INT1_RISING_EDGE' undeclared (first use in 
this function)
../i2c_to_go6.c: At top level:
../i2c_to_go6.c:757: warning: 'RFM12BP_INT' appears to be a misspelled 
signal handler
../i2c_to_go6.c:790: warning: 'RFM12BP_INT1' appears to be a misspelled 
signal handler


mit freundlichem Gruß
Angehängte Dateien:
OP #4041237
Lesenswert?

Hallo,

das große P war es. Das habe ich nicht probiert bei den verschiedenen 
Schreibweisen.

Danke. Danke!

Die Konstruktion mit "Serie mit Fehlermeldung/Abbruch" werde ich 
demnächst mal probieren.

AVR Memory Usage
----------------
Device: atmega328p

Program:    4386 bytes (13.4% Full)
(.text + .data + .bootloader)

Data:        135 bytes (6.6% Full)
(.data + .bss + .noinit)

EEPROM:      130 bytes (12.7% Full)
(.eeprom)


Build succeeded with 12 Warnings...


Gruß
OP #4042699
Lesenswert?

bei mir geht's in der Eingabeaufforderung:


C:\Dokumente und Einstellungen\...>echo | avr-gcc -E -dDM - 
-mmcu=atxmega128a
1 | grep -i xmega
#define _AVR_XMEGA_ 1
#define _AVR_ATxmega128A1_ 1


C:\Dokumente und Einstellungen\...>echo | avr-gcc -E -dDM - 
-mmcu=atmega328 | grep -i mega328
#define _AVR_ATmega328_ 1

C:\Dokumente und Einstellungen\...>

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren