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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.