Probleme Portierung der IR-Fernbedienung in Atmelstudio 7

OP (Firma: privat) #8011225
Lesenswert?

Hallo zusammen, ich kämpfe gerade mit der Portierung der lernfähigen Fernbedienung im Atmelstudio 7

https://www.mikrocontroller.net/articles/DIY_Lernf%C3%A4hige_Fernbedienung_mit_IRMP

Das Projekt wurde im Atmelstudio 4 erstellt. Laut WEB lässt sich das Projekt importieren, das habe ich versucht und hab nur Fehler geerntet.

Schritt 2, neues Projekt im Studio angelegt, die main.c umbenannt und den Source eingefügt.

Die F_CPU in den Symbols definiert. Im Projekt-Explorer habe ich die Headerfiles hinzugefügt. Beim Erstellen hagelt es Fehler.

1
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe" -o remotecontrol.elf  remotecontrol.o   -Wl,-Map="remotecontrol.map" -Wl,--start-group -Wl,-lm  -Wl,--end-group -Wl,--gc-sections -mmcu=atmega168 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.6.364\gcc\dev\atmega168"  
2
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\Debug\Makefile(106,1): error: recipe for target 'remotecontrol.elf' failed
3
    remotecontrol.o: In function `__vector_11':
4
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(656,1): error: undefined reference to `irsnd_ISR'
5
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(656,1): error: undefined reference to `irmp_ISR'
6
    remotecontrol.o: In function `send_key':
7
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(703,1): error: undefined reference to `irsnd_send_data'
8
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(705,1): error: undefined reference to `irsnd_is_busy'
9
    remotecontrol.o: In function `main':
10
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(736,1): error: undefined reference to `irmp_init'
11
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(737,1): error: undefined reference to `irsnd_init'
12
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(738,1): error: undefined reference to `irsnd_set_callback_ptr'
13
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(796,1): error: undefined reference to `irmp_get_data'
14
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(808,1): error: undefined reference to `irmp_get_data'
15
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(849,1): error: undefined reference to `irmp_get_data'

Nach stundenlanger Suche und Nachfragen bei anderen... Kann mir einer hier helfen?

Ich hab die Fehler auch nur in diesem Projekt, andere Projekte laufen tadellos. Grüße Klaus

Angehängte Dateien:
: Bearbeitet durch Moderator
OP (Firma: privat) #8011253
Lesenswert?

Hallo Falk, ich habe das ganze auch noch separat probiert. ein ganz winziges Projekt:

1
#include <avr/io.h>
2
#include "irmpconfig.h"
3
#include "irmp.h"
4

5
int main(void)
6
{
7
    /* Replace with your application code */
8
    irmp_init ();
9
    //irsnd_init();
10
    //irsnd_set_callback_ptr (led_callback);
11
    while (1) 
12
    {
13
    }
14
}

und das knallt auch schon. Und wenn ich dein Projekt verwende:

1
    process_begin: CreateProcess(NULL, "C:\Program Files (x86)\WinAVR-20100110\bin\avr-gcc.exe" -x c -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL "-IC:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=atmega2560 -c -gdwarf-2 -std=gnu99 -MD -MP -MF irmp.d -MTirmp.d -MTirmp.o -o irmp.o .././irmp.c, ...) failed.
2
    make (e=2): Das System kann die angegebene Datei nicht finden.
3
    make: *** [irmp.o] Error 2
4
    make: *** Waiting for unfinished jobs....
5
    Building file: .././irmp-main-avr-uart.c
6
    Invoking: AVR/GNU C Compiler : 0.0.0
7
    process_begin: CreateProcess(NULL, "C:\Program Files (x86)\WinAVR-20100110\bin\avr-gcc.exe" -x c -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL "-IC:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=atmega2560 -c -gdwarf-2 -std=gnu99 -MD -MP -MF irmp-main-avr-uart.d -MTirmp-main-avr-uart.d -MTirmp-main-avr-uart.o -o irmp-main-avr-uart.o .././irmp-main-avr-uart.c, ...) failed.
8
    make (e=2): Das System kann die angegebene Datei nicht finden.
9
    make: *** [irmp-main-avr-uart.o] Error 2
10
    "C:\Program Files (x86)\WinAVR-20100110\bin\avr-gcc.exe"  -x c -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include"  -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall  -mmcu=atmega2560  -c -gdwarf-2 -std=gnu99 -MD -MP -MF "irmp-main-avr-uart.d" -MT"irmp-main-avr-uart.d" -MT"irmp-main-avr-uart.o"   -o "irmp-main-avr-uart.o" ".././irmp-main-avr-uart.c" 
11
F:\Atmel\Studio\IR\IRMP_MS\IRMP\default\Makefile(88,1): error: recipe for target 'irmp-main-avr-uart.o' failed
12
  Done executing task "RunCompilerTask" -- FAILED.
: Bearbeitet durch Moderator
OP (Firma: privat) #8011284
Lesenswert?

Hallo Wastl, danke für die Tips. ich werde das nächste mal die korrekten Bezeichnungen der einzelnen IDEs verwenden. Ich habe die Files verglichen und nur marginale Unterschiede festgestellt, die bei der Übertragung in meinen Versuch auch keine Besserung brachten. Kannst du mir und all denen die mal vor dem gleichen Problem stehen, die Lösung des Problems kund tun?

Danke und Grüße Klaus

OP (Firma: privat) #8012385
Lesenswert?

Wastl schrieb:

Klaus H. schrieb:

Mich interessiert es ja doch schon, was ich falsch gemacht habe.

Offensichtlich so ziemlich alles.

Nebenbei:

im Atmelstudio 4

Nein. Sondern: AVR Studio 4.xx

Atmelstudio 7

Nein. Sondern: Atmel Studio 7.xx

Spielt zwar keine grosse Rolle, im Hintergrund (Background) aber doch ....

Hallo Wastl, wie soll man denn lernen wenn man keine Tipps bekommt, wo man den Fehler suchen kann? Das Projekt zu liefern ist das eine, nur wollen wir hier alle lernen und besser werden. Grüße Klaus

(Firma: ab) #8012409
Lesenswert?

Habe im Anhang die Fehlermeldungen etwas anders formatiert.

Wenn ich mich richtig erinnere, müssen externe c-Sourcen eingebunden werden.

Im SolutionExplorer mit "Rechtsklick" auf das Projekt, "Add", "Existing Item" die externen c-Sourcen einfügen. Die Dateien werden dann unterhalb von main.c im SolutionExplorer gelistet.

Die Pfade zu den *.c und *.h müssen bekannt sein. Im SolutionExplorer mit "Rechtsklick" auf das Projekt, "Properties", "Toolchain", "Compiler", "Directories" in die Liste eintragen.

Angehängte Dateien:

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