From 7833adc88262ba669ec3a26df24b0f05c3b6b002 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Wed, 13 Feb 2019 23:14:55 +0200 Subject: [PATCH] Link with libgcc for AEABI functions. --- src/Makefile | 4 ++-- src/micropython | 2 +- src/omv/stm32fxxx.ld.S | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile index 6f9023d5bc..0283c9f8ac 100755 --- a/src/Makefile +++ b/src/Makefile @@ -77,7 +77,7 @@ endif # Compiler Flags include $(OMV_BOARD_CONFIG_DIR)/omv_boardconfig.mk -CFLAGS += -std=gnu99 -Wall -Werror -Warray-bounds -mthumb -nostartfiles -mabi=aapcs-linux -fdata-sections -ffunction-sections +CFLAGS += -std=gnu99 -Wall -Werror -Warray-bounds -mthumb -nostartfiles -fdata-sections -ffunction-sections CFLAGS += -D$(MCU) -D$(CFLAGS_MCU) -D$(ARM_MATH) -DARM_MATH_DSP -DARM_NN_TRUNCATE\ -fsingle-precision-constant -Wdouble-promotion -mcpu=$(CPU) -mtune=$(CPU) -mfpu=$(FPU) -mfloat-abi=hard CFLAGS += -D__FPU_PRESENT=1 -D__VFP_FP__ -DUSE_USB_FS -DUSE_DEVICE_MODE -DUSE_USB_OTG_ID=0 -DHSE_VALUE=12000000\ @@ -496,7 +496,7 @@ FIRMWARE_OBJS: # This target generates the main/app firmware image located at 0x08010000 $(FIRMWARE): FIRMWARE_OBJS $(CPP) -P -E -I$(OMV_BOARD_CONFIG_DIR) $(OMV_DIR)/stm32fxxx.ld.S > $(BUILD)/stm32fxxx.lds - $(CC) $(LDFLAGS) $(FIRM_OBJ) -o $(FW_DIR)/$(FIRMWARE).elf + $(CC) $(LDFLAGS) $(FIRM_OBJ) -o $(FW_DIR)/$(FIRMWARE).elf -lgcc $(OBJCOPY) -Obinary $(FW_DIR)/$(FIRMWARE).elf $(FW_DIR)/$(FIRMWARE).bin $(PYTHON) $(MKDFU) -b $(MAIN_APP_ADDR):$(FW_DIR)/$(FIRMWARE).bin $(FW_DIR)/$(FIRMWARE).dfu diff --git a/src/micropython b/src/micropython index 6cdb09c077..311e45fc40 160000 --- a/src/micropython +++ b/src/micropython @@ -1 +1 @@ -Subproject commit 6cdb09c0772b83a21ba5f30e2b28fe39d1d339ca +Subproject commit 311e45fc40094b242cfdf17c4a1e0b07c5e0aec1 diff --git a/src/omv/stm32fxxx.ld.S b/src/omv/stm32fxxx.ld.S index 7c33a3ae3f..33ef22e22e 100755 --- a/src/omv/stm32fxxx.ld.S +++ b/src/omv/stm32fxxx.ld.S @@ -70,6 +70,11 @@ SECTIONS _etext = .; // define a global symbols at end of code } >FLASH_TEXT + .ARM.exidx : + { + *(.ARM.exidx*) + } > FLASH_TEXT + /* used by the startup to initialize data */ _sidata = .;