mirror of https://github.com/FOME-Tech/fome-fw.git
simplifying linker logic
This commit is contained in:
parent
d41c53f39c
commit
f8c500f916
|
@ -3,8 +3,6 @@
|
|||
# see setup_linux_environment.sh but Windows is also totally fine
|
||||
#
|
||||
|
||||
.PHONY: openblt
|
||||
|
||||
CHIBIOS = ChibiOS
|
||||
RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk
|
||||
RULESFILE = $(RULESPATH)/rules.mk
|
||||
|
@ -113,10 +111,6 @@ ifeq ($(USE_SMART_BUILD),)
|
|||
USE_SMART_BUILD = no
|
||||
endif
|
||||
|
||||
ifeq ($(USE_BOOTLOADER),)
|
||||
USE_BOOTLOADER = no
|
||||
endif
|
||||
|
||||
ifeq ($(USE_OPENBLT),)
|
||||
USE_OPENBLT = no
|
||||
endif
|
||||
|
@ -205,18 +199,9 @@ endif
|
|||
include $(PROJECT_DIR)/hw_layer/mass_storage/mass_storage.mk
|
||||
include $(PROJECT_DIR)/common.mk
|
||||
|
||||
ifeq ($(BOOTLOADERINC),)
|
||||
# include default bootloader code
|
||||
BOOTLOADERINC= $(PROJECT_DIR)/bootloader/
|
||||
endif
|
||||
|
||||
ifeq ($(USE_BOOTLOADER),yes)
|
||||
include $(PROJECT_DIR)/bootloader/bootloader.mk
|
||||
endif
|
||||
|
||||
ifeq ($(USE_OPENBLT),yes)
|
||||
# Reserve start of flash for OpenBLT
|
||||
USE_OPT += -Wl,--defsym=BOOTLOADER=1
|
||||
USE_OPT += -Wl,--defsym=HAS_BOOTLOADER=1
|
||||
DDEFS += -DEFI_USE_OPENBLT=TRUE
|
||||
endif
|
||||
|
||||
|
@ -235,7 +220,6 @@ CSRC = check.c \
|
|||
$(BOARDSRC) \
|
||||
$(CHIBIOS_CONTRIB)/os/various/ramdisk.c \
|
||||
$(CHIBIOS)/os/various/evtimer.c \
|
||||
$(BOOTLOADERSRC) \
|
||||
${HW_MASS_STORAGE_SRC_C} \
|
||||
$(HW_LAYER_EMS) \
|
||||
$(HW_LAYER_DRIVERS_CORE) \
|
||||
|
@ -289,7 +273,6 @@ INCDIR = \
|
|||
$(BOARDINC) \
|
||||
$(ALLINC) \
|
||||
$(TESTINC) \
|
||||
$(BOOTLOADERINC) \
|
||||
$(CHIBIOS)/os/various \
|
||||
$(RUSEFI_LIB_INC) \
|
||||
$(CONFDIR) \
|
||||
|
@ -372,12 +355,6 @@ ULIBS = -lm --specs=nano.specs -Wl,--sort-section=alignment
|
|||
|
||||
include $(RULESFILE)
|
||||
|
||||
openblt:
|
||||
make -f $(PROJECT_DIR)/hw_layer/openblt/openblt.mk BOARD_DIR=$(BOARD_DIR) PROJECT_BOARD=$(PROJECT_BOARD) PROJECT_CPU=$(PROJECT_CPU)
|
||||
|
||||
openblt_clean:
|
||||
make -f $(PROJECT_DIR)/hw_layer/openblt/openblt.mk clean BOARD_DIR=$(BOARD_DIR) PROJECT_BOARD=$(PROJECT_BOARD) PROJECT_CPU=$(PROJECT_CPU)
|
||||
|
||||
# Enable precompiled header
|
||||
include $(PROJECT_DIR)/rusefi_pch.mk
|
||||
include $(PROJECT_DIR)/gitversion.mk
|
||||
|
|
|
@ -26,9 +26,6 @@ DDEFS += -DUART_USE_WAIT=FALSE
|
|||
#Mass Storage
|
||||
DDEFS += -DEFI_EMBED_INI_MSD=TRUE
|
||||
|
||||
#Linker options, flash size
|
||||
USE_OPT += -Wl,--defsym=FLASH_SIZE=1m
|
||||
|
||||
# Shared variables
|
||||
ALLINC += $(BOARDINC)
|
||||
|
||||
|
|
|
@ -29,13 +29,19 @@ RAM3_SIZE = DEFINED(STM32F4_HAS_SRAM3) ? 64k : 0;
|
|||
/* Only STM32F429I-Discovery has external SDRAM */
|
||||
SDRAM_SIZE = DEFINED(STM32_HAS_SDRAM) ? 8M : 0;
|
||||
|
||||
/* change address & length if bootloader */
|
||||
bootloader_size = 32k;
|
||||
flash_start = 0x08000000 + (DEFINED(HAS_BOOTLOADER) ? bootloader_size : 0);
|
||||
flash_size = DEFINED(IS_BOOTLOADER) ? bootloader_size : 768k;
|
||||
image_size = DEFINED(HAS_BOOTLOADER) ? (flash_size - bootloader_size) : flash_size;
|
||||
|
||||
/* OpenBLT <-> main FW shared area */
|
||||
_OpenBLT_Shared_Params_Size = DEFINED(BOOTLOADER) || DEFINED(IS_BOOTLOADER) ? 16 : 0;
|
||||
_OpenBLT_Shared_Params_Size = DEFINED(HAS_BOOTLOADER) || DEFINED(IS_BOOTLOADER) ? 16 : 0;
|
||||
|
||||
MEMORY
|
||||
{
|
||||
bl : org = 0x08000000, len = 16k /* bootloader section */
|
||||
flash0 : org = DEFINED(BOOTLOADER) ? 0x08008000 : 0x08000000, len = DEFINED(BOOTLOADER) ? 736k : 768k /* change address & length if bootloader */
|
||||
bl : org = 0x08000000, len = bootloader_size /* bootloader section */
|
||||
flash0 : org = flash_start, len = image_size
|
||||
flash1 : org = 0x00000000, len = 0
|
||||
flash2 : org = 0x00000000, len = 0
|
||||
flash3 : org = 0x00000000, len = 0
|
||||
|
|
|
@ -25,18 +25,20 @@
|
|||
* 'bl' is related to rusefi bootloader
|
||||
*/
|
||||
|
||||
flash_size = DEFINED(FLASH_SIZE) ? FLASH_SIZE : 768k;
|
||||
/* change address & length if bootloader */
|
||||
bootloader_size = 32k;
|
||||
flash_start = 0x08000000 + (DEFINED(HAS_BOOTLOADER) ? bootloader_size : 0);
|
||||
flash_size = DEFINED(IS_BOOTLOADER) ? bootloader_size : 768k;
|
||||
image_size = DEFINED(HAS_BOOTLOADER) ? (flash_size - bootloader_size) : flash_size;
|
||||
|
||||
/* OpenBLT <-> main FW shared area */
|
||||
_OpenBLT_Shared_Params_Size = DEFINED(BOOTLOADER) || DEFINED(IS_BOOTLOADER) ? 16 : 0;
|
||||
_OpenBLT_Shared_Params_Size = DEFINED(HAS_BOOTLOADER) || DEFINED(IS_BOOTLOADER) ? 16 : 0;
|
||||
|
||||
MEMORY
|
||||
{
|
||||
bl : org = 0x08000000, len = 16k /* bootloader section */
|
||||
/* change address & length if bootloader */
|
||||
flash0 (rx) : org = DEFINED(BOOTLOADER) ? 0x08008000 : 0x08000000, len = DEFINED(BOOTLOADER) ? (flash_size - 32k) : flash_size
|
||||
/* TODO: should we use same flash_size for flash@ITCM? */
|
||||
flash1 (rx) : org = DEFINED(BOOTLOADER) ? 0x00208000 : 0x00200000, len = DEFINED(BOOTLOADER) ? (2m - 32k) : 2m /* Flash as ITCM */
|
||||
bl : org = 0x08000000, len = bootloader_size /* bootloader section */
|
||||
flash0 (rx) : org = flash_start, len = image_size
|
||||
flash1 (rx) : org = flash_start - 0x07e00000, len = image_size /* Flash as ITCM */
|
||||
flash2 (rx) : org = 0x00000000, len = 0
|
||||
flash3 (rx) : org = 0x00000000, len = 0
|
||||
flash4 (rx) : org = 0x00000000, len = 0
|
||||
|
|
Loading…
Reference in New Issue