Poste doch mal das Makefile das du nutzt, und wichtiger, wie du versucht hast zu kompilieren und die Ausgabe des ganzen. Siehe mein obiger Auszug wie ich mein Makefile nutze.
Poste doch mal das Makefile das du nutzt, und wichtiger, wie du versucht hast zu kompilieren und die Ausgabe des ganzen. Siehe mein obiger Auszug wie ich mein Makefile nutze.
Okay also das Original Makefile sieht folgendermaßen aus:
Das rufe ich ganz normal über make auf im Terminal. Das klappt auch. Dieses habe ich mir jetzt folgendermaßen umgeschrieben:Code:CONTIKI_PROJECT = hello-world all: $(CONTIKI_PROJECT) #UIP_CONF_IPV6=1 CONTIKI = ../.. include $(CONTIKI)/Makefile.include
Das sind beides die kompletten Makefiles. Jetzt wollte ich im Terminal auch wieder mittels make das ganze zusammenbauen lassen aber dann kommt der Fehler wie oben angegeben. Ich weiß nicht wo ich Hilfe brauche. Ich verzweifele einfach nur an diesem Problem aber will auch nicht wieder zurück zu Windows, nur weil ich was nicht verstehe. Will es verstehen und mein neu geliebtes Linux nutzen.Code:CONTIKI_PROJECT = Micaz all: $(CONTIKI_PROJECT) CONTIKI = /home/falte/Dokumente/contiki-2.7/ PROJECT_SOURCEFILES += drivers/bolt_drv.c interface/bolt_int.c PROJECT_SOURCEFILES += drivers/photosensor_drv.c interface/photosensor_int.c PROJECT_SOURCEFILES += drivers/uart_drv.c PROJECT_SOURCEFILES += drivers/extflash_drv.c service/extflash_service.c interface/extflash_int.c ../shared/interface/MemoryInterface/MemoryInterface.c PROJECT_SOURCEFILES += drivers/proficonn_driver.c PROJECT_SOURCEFILES += drivers/radio_drv.c ../shared/interface/CommunicationInterface/CommunicationInterface.c PROJECT_SOURCEFILES += ../shared/agents/DummyAgent.c PROJECT_SOURCEFILES += ../shared/agents/RoutingAgent/RoutingAgent.c PROJECT_SOURCEFILES += ../shared/agents/PlatformAgent/PlatformAgent_Ramp.c PROJECT_SOURCEFILES += ../shared/agents/OrderAgent/OrderAgent.c PROJECT_SOURCEFILES += ../shared/agents/PackageAgent/PackageAgent.c PROJECT_SOURCEFILES += ../shared/AgentRTE/AgentRTE.c include $(CONTIKI)/Makefile.include
Er kann kein Target finden das Micaz heist. Ich sehe auch keines ... nur
CONTIKI_PROJECT = Micaz
Schau mal unter $(CONTIKI)/Makefile.include was es für Targets gibt. Eventuell musst du hier dein hello-world projekt noch anlegen. In dieses "Makefile.include" passiert hier das meiste oder in Unter Makefiles. Das weis ich nicht.
Zwei Gedanken:
1. Bitte einen Mod, die Diskussion in einen neuen Thread auszulagern. Das hat echt nichts mit dem Ursprungsthema zu tun.
2. Kann es sein, dass beim Beispielprojekt eine Datei hello-world.c vorhanden ist? Hast du in deinem Projekt eine Micaz.c? Ich gehe davon aus, dass Projektname == Haupt-Quelltextdatei gelten muss.
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
Also habe es jetzt soweit hinbekommen, dass ich schonmal ein compile machen kann. Das lag daran, dass ich im Makefile einen anderen Projektnamen stehen hatte als die .c-Datei hieß. Jetzt ist er im Moment nur am meckern, dass er eine curses-ctk.h nicht findet obwohl die genau da liegt wo die liegen soll. Aber da muss ich selber mal schauen. Eine andere Frage habe ich aber noch. Und zwar wenn ich das Projekt compiliert habe, wie bekomme ich das dann auf meinen Mikrocontroller? Das geht doch dann über AVRDude oder nicht? Hoffe das ist meine letzte Frage und ich bekomme es dann auch hin und kann anderen Leuten bei solchen Problemen helfen.
Tiny ASURO Library: Thread und sf.net Seite
So sieht das neue Makefile jetzt aus:
Das ist jetzt ein einfaches klar strukturiertes makefile das auch bei "make flash" und einer geänderten Datei in SOURCES das hex file neu baut. Ist immer noch fast das selbe. Der Schritt aus den Sources die OBJ Variable zu machen.Code:############################################################ # Projekteinstellungen ############################################################ # MCU MCU=atmega168p F_CPU=16000000 LFUSE=0xde HFUSE=0xdf EFUSE=0x01 # Die Sources SOURCES = OBJ = main.cpp rs232.cpp parser.cpp timer1.cpp io.cpp # Die Zieldateien ELF = usbstepper.elf HEX = usbstepper.hex MAP = usbstepper.map ############################################################ # Compiler Flags. Muss vermutlich nicht angepasst werden ############################################################ CFLAGS=-g -DF_CPU=$(F_CPU) -Wall -Os --std=c++11 -mcall-prologues ############################################################ # Die Toolchain. Muss vermutlich nicht angepasst werden # Die AVRDUDE Zeile muss an den Programmer und # die Ziel CPU angepasst werden ############################################################ AVRDUDE=sudo avrdude -p m168 -c avrispmkii -P USB CC=avr-g++ RM=rm -f OBJCOPY=avr-objcopy AVRSIZE=avr-size OBJDUMP=avr-objdump ############################################################ # Ab hier muss nichts mehr angepasst werden ############################################################ # OBJ = Sources mit ersetzter Dateiendung OBJ=$(SOURCES:%.cpp=%.o) all: hex hex: elf $(OBJCOPY) -R .eeprom -O ihex $(ELF) $(HEX) elf: $(OBJ) $(CC) -mmcu=$(MCU) $(CFLAGS) -o $(ELF) -Wl,-Map,$(MAP) $(OBJ) %.o: %.cpp $(CC) -mmcu=$(MCU) $(CFLAGS) -c $< .phony: flash flash: hex $(AVRDUDE) -e -U flash:w:$(HEX) # Ziele ohne Abhängigkeiten clean: $(RM) $(OBJ) $(ELF) $(HEX) $(MAP) readfuse: $(AVRDUDE) lfuse:r:-:i -v writefuse: $(AVRDUDE) -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m -U efuse:w:$(EFUSE):m size: $(ELF) $(AVRSIZE) -B $(ELF) dump: $(OBJDUMP) -d --demangle $(ELF)
Gruß
Georg
Lesezeichen