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.

пре 13 година
пре 13 година
пре 9 година
пре 13 година
пре 13 година
пре 13 година
пре 13 година
пре 13 година
пре 11 година
пре 11 година
пре 13 година
пре 11 година
пре 13 година
пре 13 година
пре 12 година
пре 13 година
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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 = adb_usb_lufa
  42. # Directory common source filess exist
  43. TMK_DIR = ../../tmk_core
  44. # Directory keyboard dependent files exist
  45. TARGET_DIR = .
  46. # project specific files
  47. SRC = matrix.c \
  48. led.c \
  49. adb.c
  50. ifdef KEYMAP
  51. SRC := keymap_$(KEYMAP).c $(SRC)
  52. else
  53. SRC := keymap_plain.c $(SRC)
  54. endif
  55. CONFIG_H = config.h
  56. # MCU name
  57. # atmega32u4 Teensy2.0
  58. # atemga32u4 TMK Converter rev.1
  59. # atemga32u2 TMK Converter rev.2
  60. MCU = atmega32u2
  61. # Processor frequency.
  62. # This will define a symbol, F_CPU, in all source code files equal to the
  63. # processor frequency in Hz. You can then use this symbol in your source code to
  64. # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
  65. # automatically to create a 32-bit value in your source code.
  66. #
  67. # This will be an integer division of F_USB below, as it is sourced by
  68. # F_USB after it has run through any CPU prescalers. Note that this value
  69. # does not *change* the processor frequency - it should merely be updated to
  70. # reflect the processor speed set externally so that the code can use accurate
  71. # software delays.
  72. F_CPU = 16000000
  73. #
  74. # LUFA specific
  75. #
  76. # Target architecture (see library "Board Types" documentation).
  77. ARCH = AVR8
  78. # Input clock frequency.
  79. # This will define a symbol, F_USB, in all source code files equal to the
  80. # input clock frequency (before any prescaling is performed) in Hz. This value may
  81. # differ from F_CPU if prescaling is used on the latter, and is required as the
  82. # raw input clock is fed directly to the PLL sections of the AVR for high speed
  83. # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
  84. # at the end, this will be done automatically to create a 32-bit value in your
  85. # source code.
  86. #
  87. # If no clock division is performed on the input clock inside the AVR (via the
  88. # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
  89. F_USB = $(F_CPU)
  90. # Interrupt driven control endpoint task(+60)
  91. OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
  92. # Boot Section Size in *bytes*
  93. # Teensy halfKay 512
  94. # Teensy++ halfKay 1024
  95. # Atmel DFU loader 4096 for TMK Converter rev.1/rev.2
  96. # LUFA bootloader 4096
  97. # USBaspLoader 2048
  98. OPT_DEFS += -DBOOTLOADER_SIZE=4096
  99. # Build Options
  100. # comment out to disable the options.
  101. #
  102. #BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
  103. MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
  104. EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
  105. CONSOLE_ENABLE = yes # Console for debug(+400)
  106. COMMAND_ENABLE = yes # Commands for debug and configuration
  107. #SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
  108. #NKRO_ENABLE = yes # USB Nkey Rollover
  109. ADB_MOUSE_ENABLE = yes
  110. # ADB Mice need acceleration for todays much bigger screens.
  111. OPT_DEFS += -DADB_MOUSE_MAXACC=8
  112. # Optimize size but this may cause error "relocation truncated to fit"
  113. #EXTRALDFLAGS = -Wl,--relax
  114. # Search Path
  115. VPATH += $(TARGET_DIR)
  116. VPATH += $(TMK_DIR)
  117. include $(TMK_DIR)/protocol/lufa.mk
  118. include $(TMK_DIR)/protocol.mk
  119. include $(TMK_DIR)/common.mk
  120. include $(TMK_DIR)/rules.mk