From e9c8e716a13e1d79fd1fab9387105af615b2ed0b Mon Sep 17 00:00:00 2001 From: eddyem Date: Mon, 5 Nov 2018 13:33:03 +0300 Subject: [PATCH] fix Makefile --- F0-nolib/ch340/Makefile | 1 - F1-nolib/led_blink/Makefile | 45 ++++++++++++----------------------- F1-nolib/led_blink/blink.bin | Bin 1516 -> 1120 bytes F1-nolib/led_blink/main.c | 2 +- 4 files changed, 16 insertions(+), 32 deletions(-) diff --git a/F0-nolib/ch340/Makefile b/F0-nolib/ch340/Makefile index b3f0ceb..a72fdf8 100644 --- a/F0-nolib/ch340/Makefile +++ b/F0-nolib/ch340/Makefile @@ -22,7 +22,6 @@ ARCH_FLAGS = $(ASM_FLAGS) $(FP_FLAGS) ############################################################################### # Executables OPREFIX ?= /opt/bin/arm-none-eabi -#PREFIX ?= /usr/x86_64-pc-linux-gnu/arm-none-eabi/gcc-bin/7.3.0/arm-none-eabi PREFIX ?= $(OPREFIX) RM := rm -f diff --git a/F1-nolib/led_blink/Makefile b/F1-nolib/led_blink/Makefile index 7620c9b..c1879da 100644 --- a/F1-nolib/led_blink/Makefile +++ b/F1-nolib/led_blink/Makefile @@ -5,28 +5,28 @@ BOOTSPEED ?= 115200 FAMILY ?= F1 # MCU code MCU ?= F103xB -#density (stm32f10x.h, lines 70-84) +# density (stm32f10x.h, lines 70-84) DENSITY ?= MD -DEFS = -DEBUG # change this linking script depending on particular MCU model, -# for example, if you have STM32F103VBT6, you should write: LDSCRIPT ?= ld/stm32f103xB.ld -#LDSCRIPT = STM32F103C8.ld +# debug +DEFS = -DEBUG INDEPENDENT_HEADERS= FP_FLAGS ?= -msoft-float ASM_FLAGS ?= -mthumb -mcpu=cortex-m3 -#-mfix-cortex-m3-ldrd ARCH_FLAGS = $(ASM_FLAGS) $(FP_FLAGS) ############################################################################### # Executables -PREFIX ?= arm-none-eabi - +#PREFIX ?= arm-none-eabi +# gcc from arm web site +PREFIX ?= /opt/bin/arm-none-eabi RM := rm -f RMDIR := rmdir CC := $(PREFIX)-gcc +# don't replace ld with gcc: the binary size would be much greater!! LD := $(PREFIX)-ld AR := $(PREFIX)-ar AS := $(PREFIX)-as @@ -36,15 +36,16 @@ OBJDUMP := $(PREFIX)-objdump GDB := $(PREFIX)-gdb STFLASH := $(shell which st-flash) STBOOT := $(shell which stm32flash) +DFUUTIL := $(shell which dfu-util) ############################################################################### # Source files OBJDIR = mk -LDSCRIPT ?= $(BINARY).ld SRC := $(wildcard *.c) OBJS := $(addprefix $(OBJDIR)/, $(SRC:%.c=%.o)) STARTUP = $(OBJDIR)/startup.o OBJS += $(STARTUP) +# dependencies: we need them to recompile files if their headers-dependencies changed DEPS := $(OBJS:.o=.d) INC_DIR ?= ../inc @@ -54,35 +55,22 @@ LIB_DIR := $(INC_DIR)/ld ############################################################################### # C flags -CFLAGS += -O0 -g -# -MD -D__thumb2__=1 -#CFLAGS += -Wall -Werror -Wextra -Wshadow -Wimplicit-function-declaration -#CFLAGS += -Wredundant-decls -# -Wmissing-prototypes -Wstrict-prototypes -CFLAGS += -fno-common -#-ffunction-sections -fdata-sections +CFLAGS += -O2 -g -D__thumb2__=1 -MD +CFLAGS += -Wall -Werror -Wextra -Wshadow +CFLAGS += -fno-common -ffunction-sections -fdata-sections ############################################################################### # Linker flags -LDFLAGS += -nostartfiles -# --static -#--specs=nano.specs +LDFLAGS += -nostartfiles --static LDFLAGS += -L$(LIB_DIR) LDFLAGS += -T$(LDSCRIPT) -#LDFLAGS += -Wl,-Map=$(OBJDIR)/$(BINARY).map -#LDFLAGS += -Wl,--gc-sections ############################################################################### # Used libraries -#LDLIBS += -Wl,--start-group -lc -lgcc -Wl,--end-group -#LDLIBS += $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) +LDLIBS += $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) DEFS += -DSTM32$(FAMILY) -DSTM32$(MCU) -DSTM32F10X_$(DENSITY) -#.SUFFIXES: .elf .bin .hex .srec .list .map .images -#.SECONDEXPANSION: -#.SECONDARY: - ELF := $(OBJDIR)/$(BINARY).elf LIST := $(OBJDIR)/$(BINARY).list BIN := $(BINARY).bin @@ -109,9 +97,6 @@ $(OBJDIR)/%.o: %.c @echo " CC $<" $(CC) $(CFLAGS) $(DEFS) $(INCLUDE) $(ARCH_FLAGS) -o $@ -c $< -#$(OBJDIR)/%.d: %.c $(OBJDIR) -# $(CC) -MM -MG $< | sed -e 's,^\([^:]*\)\.o[ ]*:,$(@D)/\1.o $(@D)/\1.d:,' >$@ - $(BIN): $(ELF) @echo " OBJCOPY $(BIN)" $(OBJCOPY) -Obinary $(ELF) $(BIN) @@ -133,7 +118,7 @@ size: $(ELF) clean: @echo " CLEAN" - $(RM) $(OBJS) $(DEPS) $(ELF) $(HEX) $(LIST) $(OBJDIR)/*.map + $(RM) $(OBJS) $(DEPS) $(ELF) $(HEX) $(LIST) @rmdir $(OBJDIR) 2>/dev/null || true diff --git a/F1-nolib/led_blink/blink.bin b/F1-nolib/led_blink/blink.bin index c3a87dd83fe86afaf2cabe3c9f1d99d65b0ffb3e..879543f68baac5f40d77d3ea52e0c8f5fc397bd3 100755 GIT binary patch literal 1120 zcmd^7&r4KM6h8O8nPz%TI-@Q0Su`^aE}8<#MTL^%8~pWN_99o!>KY} zAV@Mwno^O_qBemo18FC%baKetG!UgG!mXbAN|@KVqoCNI(1q`Q=iYO_?;I`%u0U{I z2Jb53>jA)lCEf^#Yr&)BU(G>}|LyEEZ+I0%JRz^{ZEL4qBQ>Rk9Da51%qnk&plO}-m>jwWi~+rz z4ZLpPgp|{3O#4}UTZtv8%KBQv{9ZC_rOv8&I^Kj)SfvRTw(?SfKBYsHJXD!h$V)jg z@k(gr#-32aC1f(Z|E((%XEOK6 z-l#R-RV7Cr1RGmh^ug|ywm2`7Kij8=2Rm-j1?s1tY^d&xN^_k-XG?QphRI{eu_lu{ z%Eh*Nv-VQ`Wwm39EqWr^DK_p2WuvUUadYkz6S^1Ml4^c`tSD>mmFH`^a?Vy^Oe1s7 z)(J=Dr1;p3X+bakc<-$3ug===OgJqqOtB?T-GXp%V`Vp1b~{lvwWi3^8-MzJ9~Nz2 z^-{dTC0US^QC%9}(@%KRf|8(;pmHU@r+m3jnL=f1pK@~9v{HpW9$~c8(Z^-*OECb) z7ITAB69Yeqfe(Q*Q|AKjg`qF!#XRMgVMff^(Uu}Z>n>{5u(Lr;>o}D0=_NKfA|uAN z-}8qJMNez4421BeBCT!DJ6rGas22X{BS6ttFmAy<=!6~2LLJ6CnBBb-xo_|nzBF$9 literal 1516 zcmd^9&u<$=6n^Wqu@jrxbOR1fB#c)=6pJd5N>HUju5E4cj-aJ35;PKwOMne`)4*rjK--#FBOuJ8|5f>~&vuRf+t|K(`U+iEjlH~e{L-KP0ZIlJ zhpfe!P_A`CZG=_t&`xDxCYX)A-Q@_oKPOhL+fJ{NPSwz3*A4sYu>(}4-^ih#$g!`T zg623cTguSvEqhX_D|*=JHpMv4!}lL-xC3tU8`sAuQQ=|^C@pQQ|X&55kWsk#wociW9V0Bpnw$#oM}B^|1jt$^uiskeI#w>jtfF%vV&7Q7v* zZs@1(Rj3>OjlZFRI9+UdG+<^Lz3NoK&t6F!<$k6n7P*goBr@BKOA$|sLQ0AvO6tP3 z5AcnbSfBMdJQY>r7uiv3DmTTn6yu-5e!l#1HhOLjm+iISF z$PO;w=c$OkLB}enLYbe!+V{M{*d(mP+a(tm`DQ|VjZk8fI^uL=GR z@`xahx4_>-Y!$o+ejIiW_#5nXbJ)uB*Vw4+E#&d4i1SjOzYIQtoZi*){1|uv_FuqX zg#Qchw@auXavR22ZBU7lK4cBH`9 z`MAyf?nvBi_Peg$;!mOisbZ{ffK6kyqEd2CEi1VPe0MD)_jnC^T&(REyJ|hbzHE84 zF9Jd12MT6~sUDl-`{aJlS&y!21L6ey-k$5Id20ixH6eoPJS?gW_K4JM@tpI}X4Kfc z4>>KglQKrjs>fzm)+V)joc(C&UVMA;W(Ipv>d$GJU_tLFs7`N3J-V55Y+ixVSM9!k zDV?wH=qTAz$u4zErJWt6_m=K}l8x+6EXngm?y9_3@vXDB_x#Pr6MwnUdw??v(RVF3 zIs=>oEFcZ^K(EKFJlA80_uWR=JUqH1mqrE5g3sAyJk_5tj`Vkp-!*n8<}apK>LIz> z<4__ortImG*44V(Jlk$Bt>5j1H8<+Tzcd1b0MW$HRotQWl6Y_3m6J3=>$pMtz}Io3 XV-s^fQ=G&@@drEox1E1AY_k0W-uvO= diff --git a/F1-nolib/led_blink/main.c b/F1-nolib/led_blink/main.c index e3245f1..91b33ae 100644 --- a/F1-nolib/led_blink/main.c +++ b/F1-nolib/led_blink/main.c @@ -29,7 +29,7 @@ void sys_tick_handler(void){ } // SysTick is 24 bit counter, so 16777215 - max value!!! -// After HSE is ON it works @9MHz (????) +// After HSE is ON it works @72MHz (or remove SysTick_CTRL_CLKSOURCE_Msk @ SysTick_Config for 8MHz) static void systick_setup(uint32_t xms){ static uint32_t curms = 0; if(curms == xms) return;