Hallo ich habe mich ein wenig übernommen und zwar wollte ich eine Schaltung nachbauen und kriege jetzt die Programmierung nicht hin da ich noch nie mit makefiles gearbeitet habe.Könnte mir einer mal erklären wie ich das hinkriege.Ich habe das MyAVR MK2 USB.Und hier ist die makefile # Hey Emacs, this is a -*- makefile -*- # AVR-GCC Makefile template, derived from the WinAVR template (which # is public domain), believed to be neutral to any flavor of "make" # (GNU make, BSD make, SysV make) F_CPU = 16000000 MCU = atmega32 FORMAT = ihex TARGET = ter_main SRC = $(TARGET).c lcd.c ter_rc5.c clock.c timebase.c dcf77.c ter_menu.c libsht.c set_output.c get_basic_setup.c ter_eeprom.c ter_manual_mode.c ASRC = OPT = 2 # Name of this Makefile (used for "make depend"). MAKEFILE = Makefile # Debugging format. # Native formats for AVR-GCC's -g are stabs [default], or dwarf-2. # AVR (extended) COFF requires stabs, plus an avr-objcopy run. DEBUG = stabs # Compiler flag to set the C Standard level. # c89 - "ANSI" C # gnu89 - c89 plus GCC extensions # c99 - ISO C99 standard (not yet fully implemented) # gnu99 - c99 plus GCC extensions CSTANDARD = -std=gnu99 # Place -D or -U options here CDEFS = # Place -I options here CINCS = CDEBUG = -g$(DEBUG) CWARN = -Wall -Wstrict-prototypes CTUNING = -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums #CEXTRA = -Wa,-adhlns=$(<:.c=.lst) CFLAGS = $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CWARN) $(CSTANDARD) $(CEXTRA) #ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs #Additional libraries. # Minimalistic printf version PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min # Floating point printf version (requires MATH_LIB = -lm below) PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt PRINTF_LIB = $(PRINTF_LIB_FLOAT) # Minimalistic scanf version SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min # Floating point + %[ scanf version (requires MATH_LIB = -lm below) SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt SCANF_LIB = MATH_LIB = -lm # External memory options # 64 KB of external RAM, starting after internal RAM (ATmega128!), # used for variables (.data/.bss) and heap (malloc()). #EXTMEMOPTS = -Wl,--section-start,.data=0x801100,--defsym=__heap_end=0x80ffff # 64 KB of external RAM, starting after internal RAM (ATmega128!), # only used for heap (malloc()). #EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff EXTMEMOPTS = #LDMAP = $(LDFLAGS) -Wl,-Map=$(TARGET).map,--cref LDFLAGS = $(EXTMEMOPTS) $(LDMAP) $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB) # Programming support using avrdude. Settings and variables. AVRDUDE_PROGRAMMER = usbasp AVRDUDE_PORT = usb AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex #AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep # Uncomment the following if you want avrdude's erase cycle counter. # Note that this counter needs to be initialized first using -Yn, # see avrdude manual. #AVRDUDE_ERASE_COUNTER = -y # Uncomment the following if you do not wish a verification to be # performed after programming the device. #AVRDUDE_NO_VERIFY = -V # Increase verbosity level. Please use this when submitting bug # reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude> # to submit bug reports. #AVRDUDE_VERBOSE = -v -v AVRDUDE_BASIC = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) AVRDUDE_FLAGS = $(AVRDUDE_BASIC) $(AVRDUDE_NO_VERIFY) $(AVRDUDE_VERBOSE) $(AVRDUDE_ERASE_COUNTER) CC = avr-gcc OBJCOPY = avr-objcopy OBJDUMP = avr-objdump SIZE = avr-size NM = avr-nm AVRDUDE = avrdude REMOVE = rm -f MV = mv -f # Define all object files. OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) # Define all listing files. LST = $(ASRC:.S=.lst) $(SRC:.c=.lst) # Combine all necessary flags and optional flags. # Add target processor to flags. ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) # Default target. all: build build: elf hex elf: $(TARGET).elf hex: $(TARGET).hex eep: $(TARGET).eep lss: $(TARGET).lss sym: $(TARGET).sym # Program the device. program: $(TARGET).hex $(TARGET).eep $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) # Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB. COFFCONVERT=$(OBJCOPY) --debugging \ --change-section-address .data-0x800000 \ --change-section-address .bss-0x800000 \ --change-section-address .noinit-0x800000 \ --change-section-address .eeprom-0x810000 coff: $(TARGET).elf $(COFFCONVERT) -O coff-avr $(TARGET).elf $(TARGET).cof extcoff: $(TARGET).elf $(COFFCONVERT) -O coff-ext-avr $(TARGET).elf $(TARGET).cof .SUFFIXES: .elf .hex .eep .lss .sym .elf.hex: $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ .elf.eep: -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 -O $(FORMAT) $< $@ # Create extended listing file from ELF output file. .elf.lss: $(OBJDUMP) -h -S $< > $@ # Create a symbol table from ELF output file. .elf.sym: $(NM) -n $< > $@ # Link: create ELF output file from object files. $(TARGET).elf: $(OBJ) $(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) # Compile: create object files from C source files. .c.o: $(CC) -c $(ALL_CFLAGS) $< -o $@ # Compile: create assembler files from C source files. .c.s: $(CC) -S $(ALL_CFLAGS) $< -o $@ # Assemble: create object files from assembler source files. .S.o: $(CC) -c $(ALL_ASFLAGS) $< -o $@ # Target: clean project. clean: $(REMOVE) $(TARGET).hex $(TARGET).eep $(TARGET).cof $(TARGET).elf \ main.s $(TARGET).map $(TARGET).sym $(TARGET).lss \ $(OBJ) $(LST) $(SRC:.c=.s) $(SRC:.c=.d) depend: if grep '^# DO NOT DELETE' $(MAKEFILE) >/dev/null; \ then \ sed -e '/^# DO NOT DELETE/,$$d' $(MAKEFILE) > \ $(MAKEFILE).$$$$ && \ $(MV) $(MAKEFILE).$$$$ $(MAKEFILE); \ fi echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' \ >> $(MAKEFILE); \ $(CC) -M -mmcu=$(MCU) $(CDEFS) $(CINCS) $(SRC) $(ASRC) >> $(MAKEFILE) .PHONY: all build elf hex eep lss sym program coff extcoff clean depend
Alta! Aber sonst geht's dir gut? Was fällt dir ein hier so einen Haufen Code direkt zu posten? Wozu gibt es Dateianhänge (siehe Netiquette). Wette gleich beschwert sich der erste ;-D
Mach ein Kommandofenster auf. Wechsle per cd in dein Programmverzeichnis. Tip "make all" ein.
Wer wie wo was???Kein plan was du genau meinst
>Wer wie wo was???Kein plan was du genau meinst
Kommandofenster, Konsole, Befehle per Tastatur eintippen,
kein Klickibunti. Sowas in der Art meinte ich.
Ich hab überhaupt keine Konsole wo das geht
lol und du hast dich übernommen? wirklich? ^^ drück mal WIN+R. rest siehe post über meinem.
Der Sagt Befehl entweder falsch geschriebenoder konnte nicht gefunden werden
Welches Betriebssystem benutzt du?
Mit welchem gehts?? Geht virtuell Pc von microsoft
>Mit welchem gehts?? Geht virtuell Pc von microsoft
Hast du Winavr installiert?
jetzt bin ich soweit das no rule to make target clock .o needed ter main.elf stop kommt
>jetzt bin ich soweit das no rule to make target clock .o needed ter >main.elf stop kommt Geht doch. Aber poste mal die genaue Meldung.
make:*** No rule to make target 'clock.o' , needed by 'ter-main.elf'. Stop.
>make:*** No rule to make target 'clock.o' , needed by 'ter-main.elf'.
Und was war davor? Ist das die einzige Meldung?
Häng dein Projekt doch mal als ZIP dran.
Dann kann man das ganze evtl. abkürzen;)
Ja bin jetzt schon wieder weiter aber kommt noch immer die selbe fehler meldung aber eben vorher3-4 andere dinge
juhu hab es geschaft war die clock.c falsch geschrieben vielen dank euch allen Da ist ein Idiot mal wieder was schlauer
Mal jetzt noch eine andere Frage kann man mit der Makefile automatisch die Fusebits richtig einstellen?
So ich wollte mich noch mal herzlich bedanken das ihr euch die Mühe gemacht habt mir das solange zu erklären bis es geklapt hat.Ich hatte bis jetzt nur Anfänger Projekte verwirktlich und das mit MyAVR Workpad Plus.Deshalb wußte ich nicht wovon ihr redet.Na ja jetzt ist es ja fertig auf dem Chip.Jetzt muss ich nur noch rausfinden wie ich die Fusebits einstellen muss das der Mega32 auf 16mhz läuft.Aber da gibt es glaub ich genug Anleitungen im Netz.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.