Hallo
Danke für die schnelle Antwort.
Ich verwende KamAVR welches sein eigenes Makefile automatisch erstellt:
	Code:
	################################################################################
################################################################################
##                                                                            ##
## NOTE:  This makefile uses GNU make syntax.                                 ##
## =====  It may not work when called by other make utilities                 ##
##                                                                            ##
################################################################################
################################################################################
################################################################################
###              ###############################################################
### PROJECT NAME ###############################################################
###              ###############################################################
################################################################################
PROJECT = sd-card-test
################################################################################
##     #########################################################################
## CPU #########################################################################
##     #########################################################################
################################################################################
CPU = atmega2560
################################################################################
###         ####################################################################
### SOURCES ####################################################################
###         ####################################################################
################################################################################
OBJ  = RP6M256Lib.o
OBJ += RP6M256uart.o
OBJ += RP6M256_WIFIlib.o
OBJ += sdc\partition.o
OBJ += sdc\sd_raw.o
OBJ += sd-card-test.o
OBJ += sdc\fat.o
OBJ += sdc\byteordering.o
################################################################################
##       #######################################################################
## TOOLS #######################################################################
##       #######################################################################
################################################################################
COMPILER  = avr-gcc
ASSEMBLER = avr-gcc
LINKER    = avr-gcc
ROMIZER   = avr-objcopy
DUMPER    = avr-objdump
################################################################################
##       #######################################################################
## FLAGS #######################################################################
##       #######################################################################
################################################################################
COMMON_FLAGS  = -std=c99
COMMON_FLAGS += -mmcu=$(CPU)
COMMON_FLAGS += -Os
COMMON_FLAGS += -mno-interrupts
COMMON_FLAGS += -funsigned-char
COMMON_FLAGS += -funsigned-bitfields
COMMON_FLAGS += -Wall
COMMON_FLAGS += -Wstrict-prototypes
LINK_FLAGS  = $(COMMON_FLAGS) -ggdb
COMPILE_FLAGS  = $(LINK_FLAGS) -c -DF_CPU=16000000UL
ASSEMBLE_FLAGS  = $(COMMON_FLAGS) -c -I. -x assembler-with-cpp
EEPROM_FLAGS  = -j .eeprom
EEPROM_FLAGS += --change-section-lma .eeprom=0
FLASH_FLAGS  = -j .text
FLASH_FLAGS += -j .data
ELF_FLAGS  = --cref
ELF_FLAGS += -lm
################################################################################
##         #####################################################################
## ACTIONS #####################################################################
##         #####################################################################
################################################################################
COMPILE      = $(COMPILER) $(COMPILE_FLAGS)
ASSEMBLE     = $(ASSEMBLER) $(ASSEMBLE_FLAGS)
LINK         = $(LINKER) $(LINK_FLAGS)
REMOVE       = rm -f
################################################################################
##       #######################################################################
## BUILD #######################################################################
##       #######################################################################
################################################################################
all: elf flash eep
rebuild: clean all
clean:
	$(REMOVE) $(PROJECT).hex
	$(REMOVE) $(PROJECT)_eeprom.hex
	$(REMOVE) $(PROJECT).elf
	$(REMOVE) $(PROJECT).map
	$(REMOVE) $(PROJECT).cof
	$(REMOVE) $(PROJECT).lst
	$(REMOVE) $(OBJ:.o=.lst)
	$(REMOVE) $(OBJ)
eep:     $(PROJECT)_eeprom.hex
flash:   $(PROJECT).hex
elf:     $(PROJECT).elf
################################################################################
##      ########################################################################
## LINK ########################################################################
##      ########################################################################
################################################################################
$(PROJECT)_eeprom.hex: $(PROJECT).elf
	$(ROMIZER) $(EEPROM_FLAGS) -O ihex $(PROJECT).elf $(PROJECT)_eeprom.hex
$(PROJECT).hex: $(PROJECT).elf
	$(ROMIZER) $(FLASH_FLAGS) -O ihex $(PROJECT).elf $(PROJECT).hex
$(PROJECT).elf: $(OBJ)
	$(LINK) $(OBJ) -o $(PROJECT).elf $(ELF_FLAGS)
################################################################################
##         #####################################################################
## COMPILE #####################################################################
##         #####################################################################
################################################################################
%.o : %.c
	$(COMPILE) $< -o $@
%.o : %.s
	$(ASSEMBLE) $< -o $@
 Inzwischen bin ich etwas weiter gekommen. Die union-Strucktur habe ich auskommentiert, asm habe ich in __asm__ umbenannt. Und siehe da: Es funktioniert!
	Code:
	   _______________________
   \| RP6  ROBOT SYSTEM |/
    \_-_-_-_-_-_-_-_-_-_/
Hello World from RP6 CONTROL M256 WIFI!
Let's move it!  :)
This message was sent via ***WLAN***!
(Kompiliert von mic 25.7.2012
Testing SD Card. Please wait (SDHC Cards will take longer)...
SD INIT OK!
opening filesystem OK!
opening root directory OK!
manuf:  0x27
oem:    PH
prod:   SD04G
rev:    48
serial: 0xc202
date:   2/12
size:   3768MB
copy:   0
wr.pr.: 0/0
format: 0
free:   0/0
M256_SELFTEST_TESTFILE.txt           1455
###############################################################################
RP6 M256 SD CARD Testfile 01234567890
###############################################################################
If you can see the two 3D Triangles below and can read this text, 
SD Card reading works fine! 
###############################################################################
     ____  ____  ____  ____                      ______________________
    /\   \/\   \/\   \/\   \                    /\                     \
   /  \___\ \___\ \___\ \___\                  /  \    _________________\
   \  / __/_/   / /   / /   /                  \   \   \                /
    \/_/\   \__/\/___/\/___/                    \   \   \__________    /
      /  \___\    /  \___\                       \   \   \    /   /   /
      \  / __/_  _\  /   /                        \   \   \  /   /   /
       \/_/\   \/\ \/___/                          \   \   \/   /   /
         /  \__/  \___\                             \   \  /   /   /
         \  / _\  /   /                              \   \/   /   /
          \/_/\ \/___/                                \      /   /
            /  \___\                                   \    /   /
            \  /   /                                    \  /   /
             \/___/                                      \/___/
###############################################################################
 Juhu :)
Gruß
mic
P.S.: Hier klemmts noch:
sd-card-test.c:283: warning: pointer targets in passing argument 1 of 'strstr' differ in signednes
	Code:
				uint8_t buffer[160];
			uint32_t offset = 0;
			intptr_t count;
			while((count = fat_read_file(fd, buffer, sizeof(buffer))) > 0)
			{
				if(offset == 0) {
					// Briefly check if the contents are correct!
					// Only one single line is checked.
					char* ptr = strstr(&buffer[0], "RP6 M256"); <-- Zeile 283
					if(strncmp(ptr, "RP6 M256 SD CARD Testfile 01234567890", 37) != 0) {
 
						
					
Lesezeichen