From b995e7bcaa605cce9bdaf0b5faac5cc86d3a86db Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Mon, 8 Feb 2021 05:52:31 -0800 Subject: [PATCH] include board.c from hw_ports.mk (#2311) * set mcu type in hw_ports * move f4 linker script * move f7 linker script * don't set default linker file in makefiles * extra line * prometheus actually didn't depend on anything special for f469 * dead line * h7 * dead * move board.c * set explicit cpu type for simulator Co-authored-by: Matthew Kennedy --- .../config/boards/hellen/hellen72/board.mk | 3 --- firmware/config/boards/me7_pnp/board.mk | 2 -- firmware/config/boards/microrusefi/board.mk | 3 --- firmware/config/boards/nucleo_f767/board.mk | 2 -- firmware/config/boards/nucleo_h743/board.mk | 2 -- .../boards/prometheus/prometheus-common.mk | 3 +-- firmware/config/boards/proteus/board.mk | 3 --- firmware/config/boards/skeleton/board.mk | 3 --- firmware/config/boards/st_stm32f4/board.mk | 3 +-- firmware/config/boards/subaru_eg33/board.mk | 2 -- .../hw_layer/ports/stm32/stm32f4/hw_ports.mk | 1 + .../hw_layer/ports/stm32/stm32f7/hw_ports.mk | 1 + .../hw_layer/ports/stm32/stm32h7/hw_ports.mk | 1 + firmware/rusefi.mk | 19 ++++++++++--------- simulator/Makefile | 2 ++ 15 files changed, 17 insertions(+), 33 deletions(-) diff --git a/firmware/config/boards/hellen/hellen72/board.mk b/firmware/config/boards/hellen/hellen72/board.mk index 26d9c3f49c..caad6a892d 100644 --- a/firmware/config/boards/hellen/hellen72/board.mk +++ b/firmware/config/boards/hellen/hellen72/board.mk @@ -6,12 +6,10 @@ BOARDINC = $(BOARDS_DIR)/hellen/hellen72 # Target processor details ifeq ($(PROJECT_CPU),ARCH_STM32F4) - BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.c BOARDINC += $(PROJECT_DIR)/config/stm32f4ems # For board.h BOARDINC += $(BOARDS_DIR)/st_stm32f4 else # todo: add support for STM32H7 - BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_H743ZI/board.c CONFDIR = config/stm32h7ems BOARDINC += $(PROJECT_DIR)/config/boards/nucleo_h743 # For board.h BOARDINC += $(PROJECT_DIR)/config/stm32h7ems # efifeatures/halconf/chconf.h @@ -41,6 +39,5 @@ DDEFS += -DEFI_LOGIC_ANALYZER=FALSE DDEFS += -DHW_HELLEN=1 # Shared variables -ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) ALLINC += $(BOARDINC) diff --git a/firmware/config/boards/me7_pnp/board.mk b/firmware/config/boards/me7_pnp/board.mk index fce6b9d58b..d95d633364 100644 --- a/firmware/config/boards/me7_pnp/board.mk +++ b/firmware/config/boards/me7_pnp/board.mk @@ -1,5 +1,4 @@ # List of all the board related files. -BOARDSRC = $(PROJECT_DIR)/config/boards/nucleo_f767/board.c BOARDCPPSRC = $(PROJECT_DIR)/config/boards/me7_pnp/board_configuration.cpp # Required include directories @@ -9,6 +8,5 @@ BOARDINC = $(PROJECT_DIR)/config/boards/NUCLEO_F767 $(PROJECT_DIR)/config/stm32f DDEFS += -DDEFAULT_ENGINE_TYPE=VAG_18_TURBO -DSTM32F767xx # Shared variables -ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) ALLINC += $(BOARDINC) diff --git a/firmware/config/boards/microrusefi/board.mk b/firmware/config/boards/microrusefi/board.mk index 42833ee333..9c71c1ddd5 100644 --- a/firmware/config/boards/microrusefi/board.mk +++ b/firmware/config/boards/microrusefi/board.mk @@ -5,13 +5,11 @@ BOARDCPPSRC = $(BOARDS_DIR)/microrusefi/board_configuration.cpp # Target processor details ifeq ($(PROJECT_CPU),ARCH_STM32F4) - BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.c BOARDINC = $(BOARDS_DIR)/microrusefi BOARDINC += $(PROJECT_DIR)/config/stm32f4ems # For board.h BOARDINC += $(BOARDS_DIR)/st_stm32f4 BOARDINC += $(BOARDS_DIR)/microrusefi # For knock_config.h else - BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c CONFDIR = config/stm32f7ems BOARDINC = $(BOARDS_DIR)/nucleo_f767 # For board.h BOARDINC += $(PROJECT_DIR)/config/stm32f7ems # efifeatures/halconf/chconf.h @@ -40,6 +38,5 @@ DDEFS += -DEFI_USE_OSC=TRUE -DFIRMWARE_ID=\"microRusEFI\" $(DEFAULT_ENGINE_TYPE) DDEFS += -DHW_MICRO_RUSEFI=1 # Shared variables -ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) ALLINC += $(BOARDINC) diff --git a/firmware/config/boards/nucleo_f767/board.mk b/firmware/config/boards/nucleo_f767/board.mk index 47bce3597a..7c266b0626 100644 --- a/firmware/config/boards/nucleo_f767/board.mk +++ b/firmware/config/boards/nucleo_f767/board.mk @@ -1,5 +1,4 @@ # List of all the board related files. -BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c BOARDCPPSRC = $(PROJECT_DIR)/config/boards/nucleo_f767/board_configuration.cpp # Required include directories @@ -10,6 +9,5 @@ CONFDIR = config/stm32f7ems DDEFS += -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS -DSTM32F767xx # Shared variables -ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) ALLINC += $(BOARDINC) diff --git a/firmware/config/boards/nucleo_h743/board.mk b/firmware/config/boards/nucleo_h743/board.mk index e5f96b8346..e9c60b01e7 100644 --- a/firmware/config/boards/nucleo_h743/board.mk +++ b/firmware/config/boards/nucleo_h743/board.mk @@ -1,5 +1,4 @@ # List of all the board related files. -BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_H743ZI/board.c # Required include directories BOARDINC = $(PROJECT_DIR)/config/boards/nucleo_h743 $(PROJECT_DIR)/config/stm32h7ems @@ -8,6 +7,5 @@ CONFDIR = config/stm32h7ems LDSCRIPT = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/ld/STM32H743xI.ld # Shared variables -ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) ALLINC += $(BOARDINC) diff --git a/firmware/config/boards/prometheus/prometheus-common.mk b/firmware/config/boards/prometheus/prometheus-common.mk index dce68d7a63..2b0882b785 100644 --- a/firmware/config/boards/prometheus/prometheus-common.mk +++ b/firmware/config/boards/prometheus/prometheus-common.mk @@ -1,6 +1,5 @@ # List of all the board related files. -BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.c \ - $(PROJECT_DIR)/config/boards/prometheus/board_extra.c +BOARDSRC = $(PROJECT_DIR)/config/boards/prometheus/board_extra.c BOARDCPPSRC = $(PROJECT_DIR)/config/boards/Prometheus/board_configuration.cpp diff --git a/firmware/config/boards/proteus/board.mk b/firmware/config/boards/proteus/board.mk index a13315b909..d50cb667de 100644 --- a/firmware/config/boards/proteus/board.mk +++ b/firmware/config/boards/proteus/board.mk @@ -5,11 +5,9 @@ BOARDINC = $(PROJECT_DIR)/config/boards/proteus # Target processor details ifeq ($(PROJECT_CPU),ARCH_STM32F4) - BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.c BOARDINC += $(PROJECT_DIR)/config/stm32f4ems # For board.h BOARDINC += $(BOARDS_DIR)/st_stm32f4 else - BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c BOARDINC += $(BOARDS_DIR)/nucleo_f767 # For board.h BOARDINC += $(PROJECT_DIR)/config/stm32f7ems # efifeatures/halconf/chconf.h CONFDIR = config/stm32f4ems @@ -37,6 +35,5 @@ ifeq ($(PROTEUS_LEGACY),TRUE) endif # Shared variables -ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) ALLINC += $(BOARDINC) diff --git a/firmware/config/boards/skeleton/board.mk b/firmware/config/boards/skeleton/board.mk index c65e726470..e83a0d40ef 100644 --- a/firmware/config/boards/skeleton/board.mk +++ b/firmware/config/boards/skeleton/board.mk @@ -5,12 +5,10 @@ BOARDCPPSRC = $(BOARDS_DIR)/skeleton/board_configuration.cpp # Target processor details ifeq ($(PROJECT_CPU),ARCH_STM32F4) - BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.c BOARDINC = $(BOARDS_DIR)/skeleton BOARDINC += $(PROJECT_DIR)/config/stm32f4ems # For board.h BOARDINC += $(BOARDS_DIR)/st_stm32f4 else - BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c BOARDINC = $(BOARDS_DIR)/nucleo_f767 # For board.h BOARDINC += $(PROJECT_DIR)/config/stm32f7ems # efifeatures/halconf/chconf.h endif @@ -24,6 +22,5 @@ endif DDEFS += -DEFI_USE_OSC=TRUE -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOE_3 -DFIRMWARE_ID=\"skeleton\" $(DEFAULT_ENGINE_TYPE) # Shared variables -ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) ALLINC += $(BOARDINC) diff --git a/firmware/config/boards/st_stm32f4/board.mk b/firmware/config/boards/st_stm32f4/board.mk index 83b0c9f20a..eef7749188 100644 --- a/firmware/config/boards/st_stm32f4/board.mk +++ b/firmware/config/boards/st_stm32f4/board.mk @@ -1,6 +1,5 @@ # List of all the board related files. -BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.c \ - $(PROJECT_DIR)/config/boards/st_stm32f4/board_extra.c +BOARDSRC = $(PROJECT_DIR)/config/boards/st_stm32f4/board_extra.c BOARDCPPSRC = # Required include directories diff --git a/firmware/config/boards/subaru_eg33/board.mk b/firmware/config/boards/subaru_eg33/board.mk index 2bd86a259e..b01c030b25 100644 --- a/firmware/config/boards/subaru_eg33/board.mk +++ b/firmware/config/boards/subaru_eg33/board.mk @@ -1,7 +1,6 @@ BOARD_DIR = $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD) # List of all the board related files. -BOARDSRC = $(BOARD_DIR)/board.c BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Required include directories @@ -30,6 +29,5 @@ DDEFS += -DHW_SUBARU_EG33=1 DDEFS += -DDEFAULT_ENGINE_TYPE=SUBARUEG33_DEFAULTS -DSTM32F765xx $(LED_CRITICAL_ERROR_BRAIN_PIN) # Shared variables -ALLCSRC += $(BOARDSRC) ALLCPPSRC += $(BOARDCPPSRC) ALLINC += $(BOARDINC) diff --git a/firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk b/firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk index 555416f3af..f9698d8c37 100644 --- a/firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk +++ b/firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk @@ -7,3 +7,4 @@ HW_LAYER_EMS_CPP += $(PROJECT_DIR)/hw_layer/ports/stm32/stm32f4/mpu_util.cpp DDEFS += -DSTM32F407xx LDSCRIPT = $(PROJECT_DIR)/hw_layer/ports/stm32/stm32f4/STM32F405xG.ld +ALLCSRC += $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.c diff --git a/firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk b/firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk index fec85902fe..30f2111bff 100644 --- a/firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk +++ b/firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk @@ -7,3 +7,4 @@ HW_LAYER_EMS_CPP += $(PROJECT_DIR)/hw_layer/ports/stm32/stm32f7/mpu_util.cpp DDEFS += -DSTM32F767xx LDSCRIPT = $(PROJECT_DIR)/hw_layer/ports/stm32/stm32f7/STM32F76xxI.ld +ALLCSRC += $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c diff --git a/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk b/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk index eebc8614f7..744da77bcd 100644 --- a/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk +++ b/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk @@ -7,3 +7,4 @@ HW_LAYER_EMS_CPP += $(PROJECT_DIR)/hw_layer/ports/stm32/stm32h7/mpu_util.cpp DDEFS += -DSTM32H743xx LDSCRIPT = $(PROJECT_DIR)/hw_layer/ports/stm32/stm32h7/STM32H743xI.ld +ALLCSRC += $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_H743ZI/board.c diff --git a/firmware/rusefi.mk b/firmware/rusefi.mk index 156a76dae4..6a8f6d72d7 100644 --- a/firmware/rusefi.mk +++ b/firmware/rusefi.mk @@ -19,19 +19,20 @@ endif # CPU-dependent defs ifeq ($(PROJECT_CPU),ARCH_STM32F7) -CPU_STARTUP = startup_stm32f7xx.mk -CPU_PLATFORM = STM32F7xx/platform.mk -CPU_HWLAYER = ports/stm32/stm32f7 + CPU_STARTUP = startup_stm32f7xx.mk + CPU_PLATFORM = STM32F7xx/platform.mk + CPU_HWLAYER = ports/stm32/stm32f7 else ifeq ($(PROJECT_CPU),ARCH_STM32F4) -CPU_STARTUP = startup_stm32f4xx.mk -CPU_PLATFORM = STM32F4xx/platform.mk -CPU_HWLAYER = ports/stm32/stm32f4 + CPU_STARTUP = startup_stm32f4xx.mk + CPU_PLATFORM = STM32F4xx/platform.mk + CPU_HWLAYER = ports/stm32/stm32f4 else ifeq ($(PROJECT_CPU),ARCH_STM32H7) -CPU_STARTUP = startup_stm32h7xx.mk -CPU_PLATFORM = STM32H7xx/platform.mk -CPU_HWLAYER = ports/stm32/stm32h7 + CPU_STARTUP = startup_stm32h7xx.mk + CPU_PLATFORM = STM32H7xx/platform.mk + CPU_HWLAYER = ports/stm32/stm32h7 else ifeq ($(PROJECT_CPU),kinetis) else ifeq ($(PROJECT_CPU),cypress) +else ifeq ($(PROJECT_CPU),simulator) else $(error Unexpected PROJECT_CPU) endif diff --git a/simulator/Makefile b/simulator/Makefile index cf422cbb84..2959840519 100644 --- a/simulator/Makefile +++ b/simulator/Makefile @@ -17,6 +17,8 @@ CHIBIOS = ../firmware/ChibiOS RULESPATH = $(CHIBIOS)/os/common/startup/SIMIA32/compilers/GCC RULESFILE = $(RULESPATH)/rules.mk +PROJECT_CPU=simulator + include ../firmware/rusefi.mk RULESFILE = ../firmware/rusefi_rules.mk