Vergessen - das erscheint mir etwas überfüllt. Ich zeige Dir mal mein MakeFile des AVR Studio für das ASURO-Projekt:
z.B.:Code:############################################################################### # Makefile for the project ASURO_001 ############################################################################### ## General Flags PROJECT = ASURO_001 MCU = atmega8 TARGET = ASURO_001.elf CC = avr-gcc.exe ## Options common to compile, link and assembly rules COMMON = -mmcu=$(MCU) ## Compile options common for all C compilation units. CFLAGS = $(COMMON) CFLAGS += -Wall -gdwarf-2 -DF_CPU=8000000UL -Os -fsigned-char CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d ## Assembly specific flags ASMFLAGS = $(COMMON) ASMFLAGS += $(CFLAGS) ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2 ## Linker flags LDFLAGS = $(COMMON) LDFLAGS += -Wl,-Map=ASURO_001.map ## Intel Hex file production flags HEX_FLASH_FLAGS = -R .eeprom HEX_EEPROM_FLAGS = -j .eeprom HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load" HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings ## Include Directories INCLUDES = -I"C:\ASURO_SRC\Projekte\ASURO_001\..\..\AsuroLib\lib\inc" ## Libraries LIBS = -lasuro ## Objects that must be built in order to link OBJECTS = ASURO_001.o asuro.o ## Objects explicitly added by the user LINKONLYOBJECTS = ## Build all: $(TARGET) ASURO_001.hex ASURO_001.eep ASURO_001.lss size ## Compile ASURO_001.o: ../ASURO_001.c $(CC) $(INCLUDES) $(CFLAGS) -c $< asuro.o: ../../../AsuroLib/lib/asuro.c $(CC) $(INCLUDES) $(CFLAGS) -c $< ##Link $(TARGET): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET) %.hex: $(TARGET) avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@ %.eep: $(TARGET) -avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0 %.lss: $(TARGET) avr-objdump -h -S $< > $@ size: ${TARGET} @echo @avr-size -C --mcu=${MCU} ${TARGET} ## Clean target .PHONY: clean clean: -rm -rf $(OBJECTS) ASURO_001.elf dep/* ASURO_001.hex ASURO_001.eep ASURO_001.lss ASURO_001.map ## Other dependencies -include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)
## Libraries
LIBS = -lasuro
... und dann diese ganzen Objektdateien "crt86401.o" "crtc8534.o" ....
Du linkst ja Deinen ganzen Computer in den winzigen ASURO.![]()
Das Programm ist wahrscheinlich so groß, dass es nicht in den ATmega8 passt. Abrüsten ist bei Dir angesagt!![]()
Sieh das ganze positiv! Du liest MakeFiles (können die wenigsten) und arbeitest bereits mit dem Atmel AVR Studio. Jetzt musst Du nur noch die Fehlermeldungen verstehen lernen. Wirf mal den ganzen Müll raus.






Zitieren

Lesezeichen