diff options
Diffstat (limited to 'quantum')
| -rw-r--r-- | quantum/mcu_selection.mk | 114 | 
1 files changed, 104 insertions, 10 deletions
| diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk index 24b2b2abd9..bddafa6a4c 100644 --- a/quantum/mcu_selection.mk +++ b/quantum/mcu_selection.mk @@ -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)) | 
