From 91de31a96a544c0d7390d9c14d0a093d173e799e Mon Sep 17 00:00:00 2001 From: "Tom, DL7BJ" Date: Thu, 29 Jun 2023 00:39:05 +0200 Subject: [PATCH] Makefile angepasst, Ausgabe von Speicherinformation --- Source/BJ-Keyer.eep | 2 +- Source/Makefile | 51 ++++++++------------------------------------- 2 files changed, 10 insertions(+), 43 deletions(-) diff --git a/Source/BJ-Keyer.eep b/Source/BJ-Keyer.eep index fd54301..1abdd8c 100644 --- a/Source/BJ-Keyer.eep +++ b/Source/BJ-Keyer.eep @@ -1,2 +1,2 @@ -:08000000550F008A02003200D6 +:080000000032008A02000F55D6 :00000001FF diff --git a/Source/Makefile b/Source/Makefile index 78e7b9c..ed12bd6 100644 --- a/Source/Makefile +++ b/Source/Makefile @@ -60,7 +60,7 @@ ASRC = # Optimization level, can be [0, 1, 2, 3, s]. # 0 = turn off optimization. s = optimize for size. # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) -OPT = 0 +OPT = s # Debugging format. # Native formats for AVR-GCC's -g are stabs [default], or dwarf-2. @@ -201,12 +201,11 @@ AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER) # --------------------------------------------------------------------------- # Define directories, if needed. -DIRAVR = c:/winavr -DIRAVRBIN = $(DIRAVR)/bin -DIRAVRUTILS = $(DIRAVR)/utils/bin -DIRINC = . -DIRLIB = $(DIRAVR)/avr/lib - +# DIRAVR = . +# DIRAVRBIN = $(DIRAVR)/bin +# DIRAVRUTILS = $(DIRAVR)/utils/bin +# DIRINC = . +# DIRLIB = $(DIRAVR)/avr/lib # Define programs and commands. SHELL = sh @@ -219,9 +218,6 @@ AVRDUDE = avrdude REMOVE = rm -f COPY = cp - - - # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -240,29 +236,20 @@ MSG_COMPILING = Compiling: MSG_ASSEMBLING = Assembling: MSG_CLEANING = Cleaning project: - - - # Define all object files. OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) # Define all listing files. LST = $(ASRC:.S=.lst) $(SRC:.c=.lst) - # Compiler flags to generate dependency files. GENDEPFLAGS = -Wp,-M,-MP,-MT,$(*F).o,-MF,.dep/$(@F).d - # Combine all necessary flags and optional flags. # Add target processor to flags. ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS) ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) - - - - # Default target. all: begin gccversion sizebefore build sizeafter finished end @@ -274,8 +261,6 @@ eep: $(TARGET).eep lss: $(TARGET).lss sym: $(TARGET).sym - - # Eye candy. # AVR Studio 3.x does not check make's exit code but relies on # the following magic strings to be generated by the compile job. @@ -289,25 +274,19 @@ finished: end: @echo $(MSG_END) @echo - - + # Display size of file. HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex ELFSIZE = $(SIZE) -A $(TARGET).elf sizebefore: @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi - sizeafter: @if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi - - # Display compiler version information. gccversion : @$(CC) --version - - # Program the device. program: $(TARGET).hex $(TARGET).eep $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) @@ -319,20 +298,16 @@ COFFCONVERT=$(OBJCOPY) --debugging \ --change-section-address .noinit-0x800000 \ --change-section-address .eeprom-0x810000 - coff: $(TARGET).elf @echo @echo $(MSG_COFF) $(TARGET).cof $(COFFCONVERT) -O coff-avr $< $(TARGET).cof - extcoff: $(TARGET).elf @echo @echo $(MSG_EXTENDED_COFF) $(TARGET).cof $(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof - - # Create final output files (.hex, .eep) from ELF output file. %.hex: %.elf @echo @@ -357,8 +332,6 @@ extcoff: $(TARGET).elf @echo $(MSG_SYMBOL_TABLE) $@ $(NM) -n $< > $@ - - # Link: create ELF output file from object files. .SECONDARY : $(TARGET).elf .PRECIOUS : $(OBJ) @@ -366,6 +339,8 @@ extcoff: $(TARGET).elf @echo @echo $(MSG_LINKING) $@ $(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) + @echo + $(SIZE) -C --mcu=$(MCU) $(TARGET).elf # Compile: create object files from C source files. @@ -374,23 +349,18 @@ extcoff: $(TARGET).elf @echo $(MSG_COMPILING) $< $(CC) -c $(ALL_CFLAGS) $< -o $@ - # Compile: create assembler files from C source files. %.s : %.c $(CC) -S $(ALL_CFLAGS) $< -o $@ - # Assemble: create object files from assembler source files. %.o : %.S @echo @echo $(MSG_ASSEMBLING) $< $(CC) -c $(ALL_ASFLAGS) $< -o $@ - - # Target: clean project. clean: begin clean_list finished end - clean_list : @echo @echo $(MSG_CLEANING) @@ -411,12 +381,9 @@ clean_list : $(REMOVE) $(SRC:.c=.d) $(REMOVE) .dep/* - - # Include the dependency files. -include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*) - # Listing of phony targets. .PHONY : all begin finish end sizebefore sizeafter gccversion \ build elf hex eep lss sym coff extcoff \