Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # Target file name (without extension).
  2. PROJECT = ch
  3. # Directory common source files exist
  4. TMK_DIR = ../../tmk_core
  5. # Directory keyboard dependent files exist
  6. TARGET_DIR = .
  7. # project specific files
  8. SRC = matrix.c \
  9. keymap_common.c \
  10. led.c
  11. ifdef KEYMAP
  12. SRC := keymap_$(KEYMAP).c $(SRC)
  13. else
  14. SRC := keymap_plain.c $(SRC)
  15. endif
  16. CONFIG_H = config.h
  17. ## chip/board settings
  18. # - the next two should match the directories in
  19. # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
  20. # - For Teensies, FAMILY = KINETIS and SERIES is either
  21. # KL2x (LC) or K20x (3.0,3.1,3.2).
  22. MCU_FAMILY = KINETIS
  23. MCU_SERIES = K20x
  24. # Linker script to use
  25. # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
  26. # or <this_dir>/ld/
  27. # - NOTE: a custom ld script is needed for EEPROM on Teensy LC
  28. # - LDSCRIPT =
  29. # - MKL26Z64 for Teensy LC
  30. # - MK20DX128 for Teensy 3.0
  31. # - MK20DX256 for Teensy 3.1 and 3.2
  32. #MCU_LDSCRIPT = MK20DX128
  33. MCU_LDSCRIPT = MK20DX128BLDR4
  34. # Startup code to use
  35. # - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
  36. # - STARTUP =
  37. # - kl2x for Teensy LC
  38. # - k20x5 for Teensy 3.0
  39. # - k20x7 for Teensy 3.1 and 3.2
  40. MCU_STARTUP = k20x5
  41. # Board: it should exist either in <chibios>/os/hal/boards/
  42. # or <this_dir>/boards
  43. # - BOARD =
  44. # - PJRC_TEENSY_LC for Teensy LC
  45. # - PJRC_TEENSY_3 for Teensy 3.0
  46. # - PJRC_TEENSY_3_1 for Teensy 3.1 or 3.2
  47. BOARD = MCHCK_K20
  48. # Cortex version
  49. # Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
  50. MCU = cortex-m4
  51. # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
  52. # I.e. 6 for Teensy LC; 7 for Teensy 3.x
  53. ARMV = 7
  54. # Vector table for application
  55. # 0x00000000-0x00001000 area is occupied by bootlaoder.*/
  56. OPT_DEFS = -DCORTEX_VTOR_INIT=0x00001000
  57. # Build Options
  58. # comment out to disable the options.
  59. #
  60. BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
  61. ## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
  62. MOUSEKEY_ENABLE = yes # Mouse keys
  63. EXTRAKEY_ENABLE = yes # Audio control and System control
  64. CONSOLE_ENABLE = yes # Console for debug
  65. COMMAND_ENABLE = yes # Commands for debug and configuration
  66. SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
  67. NKRO_ENABLE = yes # USB Nkey Rollover
  68. include $(TMK_DIR)/tool/chibios/common.mk
  69. include $(TMK_DIR)/tool/chibios/chibios.mk
  70. program: $(BUILDDIR)/$(PROJECT).bin
  71. dfu-util -D $(BUILDDIR)/$(PROJECT).bin