~ruther/qmk_firmware

250a99ff1b7e7b143e6b008001f97793b331a9a6 — Joel Challis 5 years ago c329a0e
Add rules.mk defaults for f103,f072,f042 (#7704)

* Add rules.mk defaults for f103,f072,f042

* Add rules.mk defaults for f103,f072,f042 - remove comment

* Add rules.mk defaults for f103,f072,f042 - align USE_FPU

* Reset MCU to avoid build issues

* Move essential config values to top and remove ability for override

* Align DFU_SUFFIX_ARGS order with DFU_ARGS
1 files changed, 104 insertions(+), 10 deletions(-)

M quantum/mcu_selection.mk
M quantum/mcu_selection.mk => quantum/mcu_selection.mk +104 -10
@@ 1,9 1,15 @@
ifneq ($(findstring STM32F303, $(MCU)),)
  # Cortex version
  MCU = cortex-m4

  # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
  ARMV = 7

  ## chip/board settings
  # - the next two should match the directories in
  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
  MCU_FAMILY ?= STM32
  MCU_SERIES ?= STM32F3xx
  MCU_FAMILY = STM32
  MCU_SERIES = STM32F3xx

  # Linker script to use
  # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/


@@ 18,22 24,110 @@ ifneq ($(findstring STM32F303, $(MCU)),)
  # <keyboard_dir>/boards/, or drivers/boards/
  BOARD ?= GENERIC_STM32_F303XC

  USE_FPU ?= yes

  # Options to pass to dfu-util when flashing
  DFU_ARGS ?= -d 0483:df11 -a 0 -s 0x08000000:leave
  DFU_SUFFIX_ARGS ?= -v 0483 -p df11
endif

ifneq ($(findstring STM32F072, $(MCU)),)
  # Cortex version
  MCU = cortex-m4
  MCU = cortex-m0

  # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
  ARMV = 6

  ## chip/board settings
  # - the next two should match the directories in
  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
  MCU_FAMILY = STM32
  MCU_SERIES = STM32F0xx

  # Linker script to use
  # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
  #   or <keyboard_dir>/ld/
  MCU_LDSCRIPT ?= STM32F072xB

  # Startup code to use
  #  - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
  MCU_STARTUP ?= stm32f0xx

  # Board: it should exist either in <chibios>/os/hal/boards/,
  # <keyboard_dir>/boards/, or drivers/boards/
  BOARD ?= ST_STM32F072B_DISCOVERY

  USE_FPU ?= no

  # Options to pass to dfu-util when flashing
  DFU_ARGS ?= -d 0483:df11 -a 0 -s 0x08000000:leave
  DFU_SUFFIX_ARGS ?= -v 0483 -p df11
endif

ifneq ($(findstring STM32F042, $(MCU)),)
  # Cortex version
  MCU = cortex-m0

  # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
  ARMV = 6

  ## chip/board settings
  # - the next two should match the directories in
  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
  MCU_FAMILY = STM32
  MCU_SERIES = STM32F0xx

  # Linker script to use
  # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
  #   or <keyboard_dir>/ld/
  MCU_LDSCRIPT ?= STM32F042x6

  # Startup code to use
  #  - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
  MCU_STARTUP ?= stm32f0xx

  # Board: it should exist either in <chibios>/os/hal/boards/,
  # <keyboard_dir>/boards/, or drivers/boards/
  BOARD ?= GENERIC_STM32_F042X6

  USE_FPU ?= no

  # Options to pass to dfu-util when flashing
  DFU_ARGS ?= -d 0483:df11 -a 0 -s 0x08000000:leave
  DFU_SUFFIX_ARGS ?= -v 0483 -p df11
endif

ifneq ($(findstring STM32F103, $(MCU)),)
  # Cortex version
  MCU = cortex-m3

  # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
  ARMV ?= 7
  ARMV = 7

  USE_FPU = yes
  ## chip/board settings
  # - the next two should match the directories in
  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
  MCU_FAMILY = STM32
  MCU_SERIES = STM32F1xx

  # Linker script to use
  # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
  #   or <keyboard_dir>/ld/
  MCU_LDSCRIPT ?= STM32F103x8

  # Startup code to use
  #  - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
  MCU_STARTUP ?= stm32f1xx

  # Board: it should exist either in <chibios>/os/hal/boards/,
  # <keyboard_dir>/boards/, or drivers/boards/
  BOARD ?= GENERIC_STM32_F103

  # Vector table for application
  # 0x00000000-0x00001000 area is occupied by bootloader.*/
  # The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
  # OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
  USE_FPU ?= no

  # Options to pass to dfu-util when flashing
  DFU_ARGS ?= -d 0483:df11 -a 0 -s 0x08000000:leave
  DFU_SUFFIX_ARGS = -p DF11 -v 0483
  DFU_SUFFIX_ARGS ?= -v 0483 -p df11
endif

ifneq (,$(filter $(MCU),atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb1286))