Hallo
Danke für die schnelle Antwort.
Ich verwende KamAVR welches sein eigenes Makefile automatisch erstellt:
Inzwischen bin ich etwas weiter gekommen. Die union-Strucktur habe ich auskommentiert, asm habe ich in __asm__ umbenannt. Und siehe da: Es funktioniert!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 $@
Juhu :)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! ############################################################################### ____ ____ ____ ____ ______________________ /\ \/\ \/\ \/\ \ /\ \ / \___\ \___\ \___\ \___\ / \ _________________\ \ / __/_/ / / / / / \ \ \ / \/_/\ \__/\/___/\/___/ \ \ \__________ / / \___\ / \___\ \ \ \ / / / \ / __/_ _\ / / \ \ \ / / / \/_/\ \/\ \/___/ \ \ \/ / / / \__/ \___\ \ \ / / / \ / _\ / / \ \/ / / \/_/\ \/___/ \ / / / \___\ \ / / \ / / \ / / \/___/ \/___/ ###############################################################################
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) {







Zitieren
Lesezeichen