diff options
Diffstat (limited to 'quantum/mcu_selection.mk')
| -rw-r--r-- | quantum/mcu_selection.mk | 70 |
1 files changed, 69 insertions, 1 deletions
diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk index f7eaeec8a..7c4a617af 100644 --- a/quantum/mcu_selection.mk +++ b/quantum/mcu_selection.mk | |||
| @@ -81,7 +81,7 @@ ifneq ($(findstring MK20DX256, $(MCU)),) | |||
| 81 | BOARD ?= PJRC_TEENSY_3_1 | 81 | BOARD ?= PJRC_TEENSY_3_1 |
| 82 | endif | 82 | endif |
| 83 | 83 | ||
| 84 | ifneq ($(findstring MK66F18, $(MCU)),) | 84 | ifneq ($(findstring MK66FX1M0, $(MCU)),) |
| 85 | # Cortex version | 85 | # Cortex version |
| 86 | MCU = cortex-m4 | 86 | MCU = cortex-m4 |
| 87 | 87 | ||
| @@ -138,6 +138,11 @@ ifneq ($(findstring STM32F042, $(MCU)),) | |||
| 138 | 138 | ||
| 139 | # UF2 settings | 139 | # UF2 settings |
| 140 | UF2_FAMILY ?= STM32F0 | 140 | UF2_FAMILY ?= STM32F0 |
| 141 | |||
| 142 | # Stack sizes: Since this chip has limited RAM capacity, the stack area needs to be reduced. | ||
| 143 | # This ensures that the EEPROM page buffer fits into RAM | ||
| 144 | USE_PROCESS_STACKSIZE = 0x600 | ||
| 145 | USE_EXCEPTIONS_STACKSIZE = 0x300 | ||
| 141 | endif | 146 | endif |
| 142 | 147 | ||
| 143 | ifneq ($(findstring STM32F072, $(MCU)),) | 148 | ifneq ($(findstring STM32F072, $(MCU)),) |
| @@ -273,6 +278,38 @@ ifneq ($(findstring STM32F401, $(MCU)),) | |||
| 273 | UF2_FAMILY ?= STM32F4 | 278 | UF2_FAMILY ?= STM32F4 |
| 274 | endif | 279 | endif |
| 275 | 280 | ||
| 281 | ifneq ($(findstring STM32F405, $(MCU)),) | ||
| 282 | # Cortex version | ||
| 283 | MCU = cortex-m4 | ||
| 284 | |||
| 285 | # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7 | ||
| 286 | ARMV = 7 | ||
| 287 | |||
| 288 | ## chip/board settings | ||
| 289 | # - the next two should match the directories in | ||
| 290 | # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) | ||
| 291 | MCU_FAMILY = STM32 | ||
| 292 | MCU_SERIES = STM32F4xx | ||
| 293 | |||
| 294 | # Linker script to use | ||
| 295 | # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/ | ||
| 296 | # or <keyboard_dir>/ld/ | ||
| 297 | MCU_LDSCRIPT ?= STM32F405xG | ||
| 298 | |||
| 299 | # Startup code to use | ||
| 300 | # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/ | ||
| 301 | MCU_STARTUP ?= stm32f4xx | ||
| 302 | |||
| 303 | # Board: it should exist either in <chibios>/os/hal/boards/, | ||
| 304 | # <keyboard_dir>/boards/, or drivers/boards/ | ||
| 305 | BOARD ?= GENERIC_STM32_F405XG | ||
| 306 | |||
| 307 | USE_FPU ?= yes | ||
| 308 | |||
| 309 | # UF2 settings | ||
| 310 | UF2_FAMILY ?= STM32F4 | ||
| 311 | endif | ||
| 312 | |||
| 276 | ifneq ($(findstring STM32F407, $(MCU)),) | 313 | ifneq ($(findstring STM32F407, $(MCU)),) |
| 277 | # Cortex version | 314 | # Cortex version |
| 278 | MCU = cortex-m4 | 315 | MCU = cortex-m4 |
| @@ -504,6 +541,37 @@ ifneq (,$(filter $(MCU),STM32L412 STM32L422)) | |||
| 504 | UF2_FAMILY ?= STM32L4 | 541 | UF2_FAMILY ?= STM32L4 |
| 505 | endif | 542 | endif |
| 506 | 543 | ||
| 544 | ifneq ($(findstring GD32VF103, $(MCU)),) | ||
| 545 | # RISC-V | ||
| 546 | MCU = risc-v | ||
| 547 | |||
| 548 | # RISC-V extensions and abi configuration | ||
| 549 | MCU_ARCH = rv32imac | ||
| 550 | MCU_ABI = ilp32 | ||
| 551 | MCU_CMODEL = medlow | ||
| 552 | |||
| 553 | ## chip/board settings | ||
| 554 | # - the next two should match the directories in | ||
| 555 | # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) | ||
| 556 | MCU_FAMILY = GD32V | ||
| 557 | MCU_SERIES = GD32VF103 | ||
| 558 | |||
| 559 | # Linker script to use | ||
| 560 | # - it should exist either in <chibios>/os/common/startup/RISCV-ECLIC/compilers/GCC/ld/ | ||
| 561 | # or <keyboard_dir>/ld/ | ||
| 562 | MCU_LDSCRIPT ?= GD32VF103xB | ||
| 563 | |||
| 564 | # Startup code to use | ||
| 565 | # - it should exist in <chibios>/os/common/startup/RISCV-ECLIC/compilers/GCC/mk/ | ||
| 566 | MCU_STARTUP ?= gd32vf103 | ||
| 567 | |||
| 568 | # Board: it should exist either in <chibios>/os/hal/boards/, | ||
| 569 | # <keyboard_dir>/boards/, or drivers/boards/ | ||
| 570 | BOARD ?= SIPEED_LONGAN_NANO | ||
| 571 | |||
| 572 | USE_FPU ?= no | ||
| 573 | endif | ||
| 574 | |||
| 507 | ifneq (,$(filter $(MCU),at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647 at90usb1286 at90usb1287)) | 575 | ifneq (,$(filter $(MCU),at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647 at90usb1286 at90usb1287)) |
| 508 | PROTOCOL = LUFA | 576 | PROTOCOL = LUFA |
| 509 | 577 | ||
