summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2019-03-19 16:41:00 +0700
committerhathach <[email protected]>2019-03-19 16:41:00 +0700
commit0fcd263df32eb4901512430f659ee1bf35b6624b (patch)
tree9ab121001cd6b74d42627fb694b1b125f453b53d
parent11eed2f0260c8f71ae14c01403f49bcf2bcf47bd (diff)
stm32f place startup*.o first in linking order due to gcc flto bug
ref: https://bugs.launchpad.net/gcc-arm-embedded/+bug/1747966
-rw-r--r--examples/device/cdc_msc_hid/Makefile10
-rw-r--r--hw/bsp/stm32f407g_disc1/STM32F407VGTx_FLASH.ld6
2 files changed, 8 insertions, 8 deletions
diff --git a/examples/device/cdc_msc_hid/Makefile b/examples/device/cdc_msc_hid/Makefile
index 84f313887..0071301f3 100644
--- a/examples/device/cdc_msc_hid/Makefile
+++ b/examples/device/cdc_msc_hid/Makefile
@@ -62,9 +62,9 @@ else
endif
CFLAGS += $(INC) -Wall -Werror -std=gnu11 -nostdlib -DBOARD_$(shell echo $(BOARD) | tr a-z\- A-Z_)
-
LDFLAGS += $(CFLAGS) -nostartfiles -fshort-enums -Wl,-T,$(TOP)/$(LD_FILE) -Wl,[email protected] -Wl,-cref -Wl,-gc-sections -specs=nosys.specs -specs=nano.specs
-LIBS := -lgcc -lc -lm -lnosys
+
+LIBS = -lgcc -lc -lm -lnosys
EXAMPLE_SOURCE += \
src/main.c \
@@ -91,8 +91,8 @@ SRC_C += $(LIB_SOURCE)
# Assembly files can be name with upper case .S, convert it to .s
SRC_S := $(SRC_S:.S=.s)
-OBJ += $(addprefix $(BUILD)/obj/, $(SRC_C:.c=.o))
OBJ += $(addprefix $(BUILD)/obj/, $(SRC_S:.s=.o))
+OBJ += $(addprefix $(BUILD)/obj/, $(SRC_C:.c=.o))
# Set all as default goal
.DEFAULT_GOAL := all
@@ -134,8 +134,7 @@ $(BUILD)/obj/%.o: %.c
vpath %.s . $(TOP)
$(BUILD)/obj/%.o: %.s
@echo AS $(notdir $@)
- $(AS) -o $@ $<
- #$(CC) -x assembler-with-cpp $(ASFLAGS) -c -o $@ $<
+ @$(CC) -x assembler-with-cpp $(ASFLAGS) -c -o $@ $<
# ASM sources upper case .S
vpath %.S . $(TOP)
@@ -155,6 +154,7 @@ ifeq ($(JLINK_IF),)
JLINK_IF = swd
endif
+# Flash using jlink
flash-jlink: $(BUILD)/$(BOARD)-firmware.hex
@echo halt > $(BUILD)/$(BOARD).jlink
@echo loadfile $^ >> $(BUILD)/$(BOARD).jlink
diff --git a/hw/bsp/stm32f407g_disc1/STM32F407VGTx_FLASH.ld b/hw/bsp/stm32f407g_disc1/STM32F407VGTx_FLASH.ld
index 4f8a997dc..c41602720 100644
--- a/hw/bsp/stm32f407g_disc1/STM32F407VGTx_FLASH.ld
+++ b/hw/bsp/stm32f407g_disc1/STM32F407VGTx_FLASH.ld
@@ -41,9 +41,9 @@ _Min_Stack_Size = 0x4000; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
-RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
-CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K
-FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
+ RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
+ CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K
+ FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
}
/* Define output sections */