Keyboard firmwares for Atmel AVR and Cortex-M
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

10 роки тому
10 роки тому
9 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. #----------------------------------------------------------------------------
  2. # On command line:
  3. #
  4. # make all = Make software.
  5. #
  6. # make clean = Clean out built project files.
  7. #
  8. # make coff = Convert ELF to AVR COFF.
  9. #
  10. # make extcoff = Convert ELF to AVR Extended COFF.
  11. #
  12. # make program = Download the hex file to the device.
  13. # Please customize your programmer settings(PROGRAM_CMD)
  14. #
  15. # make teensy = Download the hex file to the device, using teensy_loader_cli.
  16. # (must have teensy_loader_cli installed).
  17. #
  18. # make dfu = Download the hex file to the device, using dfu-programmer (must
  19. # have dfu-programmer installed).
  20. #
  21. # make flip = Download the hex file to the device, using Atmel FLIP (must
  22. # have Atmel FLIP installed).
  23. #
  24. # make dfu-ee = Download the eeprom file to the device, using dfu-programmer
  25. # (must have dfu-programmer installed).
  26. #
  27. # make flip-ee = Download the eeprom file to the device, using Atmel FLIP
  28. # (must have Atmel FLIP installed).
  29. #
  30. # make debug = Start either simulavr or avarice as specified for debugging,
  31. # with avr-gdb or avr-insight as the front end for debugging.
  32. #
  33. # make filename.s = Just compile filename.c into the assembler code only.
  34. #
  35. # make filename.i = Create a preprocessed source file for use in submitting
  36. # bug reports to the GCC project.
  37. #
  38. # To rebuild project do "make clean" then "make all".
  39. #----------------------------------------------------------------------------
  40. # Target file name (without extension).
  41. TARGET = hhkb_rn42
  42. # Directory common source filess exist
  43. TMK_DIR = ../../tmk_core
  44. # Directory keyboard dependent files exist
  45. TARGET_DIR = .
  46. # List C source files here. (C dependencies are automatically generated.)
  47. SRC += keymap_common.c \
  48. matrix.c \
  49. led.c
  50. CONFIG_H = config_rn42.h
  51. # MCU name
  52. MCU = atmega32u4
  53. # Processor frequency.
  54. # This will define a symbol, F_CPU, in all source code files equal to the
  55. # processor frequency in Hz. You can then use this symbol in your source code to
  56. # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
  57. # automatically to create a 32-bit value in your source code.
  58. #
  59. # This will be an integer division of F_USB below, as it is sourced by
  60. # F_USB after it has run through any CPU prescalers. Note that this value
  61. # does not *change* the processor frequency - it should merely be updated to
  62. # reflect the processor speed set externally so that the code can use accurate
  63. # software delays.
  64. F_CPU = 16000000
  65. #
  66. # LUFA specific
  67. #
  68. # Target architecture (see library "Board Types" documentation).
  69. ARCH = AVR8
  70. # Input clock frequency.
  71. # This will define a symbol, F_USB, in all source code files equal to the
  72. # input clock frequency (before any prescaling is performed) in Hz. This value may
  73. # differ from F_CPU if prescaling is used on the latter, and is required as the
  74. # raw input clock is fed directly to the PLL sections of the AVR for high speed
  75. # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
  76. # at the end, this will be done automatically to create a 32-bit value in your
  77. # source code.
  78. #
  79. # If no clock division is performed on the input clock inside the AVR (via the
  80. # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
  81. F_USB = $(F_CPU)
  82. # Interrupt driven control endpoint task
  83. #OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
  84. # Boot Section Size in *bytes*
  85. # Teensy halfKay 512
  86. # Teensy++ halfKay 1024
  87. # Atmel DFU loader 4096 (TMK Alt Controller)
  88. # LUFA bootloader 4096
  89. # USBaspLoader 2048
  90. OPT_DEFS += -DBOOTLOADER_SIZE=4096
  91. # Build Options
  92. # comment out to disable the options.
  93. #
  94. #BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
  95. MOUSEKEY_ENABLE = yes # Mouse keys
  96. EXTRAKEY_ENABLE = yes # Audio control and System control
  97. CONSOLE_ENABLE = yes # Console for debug
  98. COMMAND_ENABLE = yes # Commands for debug and configuration
  99. #NKRO_ENABLE = yes # USB Nkey Rollover
  100. #KEYMAP_SECTION_ENABLE = yes # fixed address keymap for keymap editor
  101. #HHKB_JP = yes # HHKB JP support
  102. #
  103. # Keymap file
  104. #
  105. ifdef KEYMAP
  106. SRC := keymap_$(KEYMAP).c $(SRC)
  107. else
  108. ifdef HHKB_JP
  109. SRC := keymap_jp.c $(SRC)
  110. else
  111. SRC := keymap_hhkb.c $(SRC)
  112. endif
  113. endif
  114. ifneq (, $(or $(findstring keymap_jp.c, $(SRC)), $(findstring yes, $(HHKB_JP))))
  115. OPT_DEFS += -DHHKB_JP
  116. endif
  117. # Search Path
  118. VPATH += $(TARGET_DIR)
  119. VPATH += $(TMK_DIR)
  120. include rn42.mk
  121. include $(TMK_DIR)/protocol.mk
  122. include $(TMK_DIR)/protocol/lufa.mk
  123. include $(TMK_DIR)/common.mk
  124. include $(TMK_DIR)/rules.mk
  125. debug-on: EXTRAFLAGS += -DDEBUG -DDEBUG_ACTION
  126. debug-on: all
  127. debug-off: EXTRAFLAGS += -DNO_DEBUG -DNO_PRINT
  128. debug-off: OPT_DEFS := $(filter-out -DCONSOLE_ENABLE,$(OPT_DEFS))
  129. debug-off: all