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

10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
10 роки тому
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # based on Makefile exported form mbed.org
  2. # see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
  3. GCC_BIN =
  4. AS = $(GCC_BIN)arm-none-eabi-as
  5. CC = $(GCC_BIN)arm-none-eabi-gcc
  6. CPP = $(GCC_BIN)arm-none-eabi-g++
  7. LD = $(GCC_BIN)arm-none-eabi-gcc
  8. OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy
  9. OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
  10. SIZE = $(GCC_BIN)arm-none-eabi-size
  11. CHKSUM = $(TMK_DIR)/tool/mbed/lpc-vector-checksum
  12. CC_FLAGS += \
  13. $(CPU) \
  14. -c \
  15. -g \
  16. -fno-common \
  17. -fmessage-length=0 \
  18. -Wall \
  19. -fno-exceptions \
  20. -ffunction-sections \
  21. -fdata-sections \
  22. -fomit-frame-pointer
  23. CC_FLAGS += -MMD -MP
  24. LD_FLAGS = $(CPU) -Wl,--gc-sections --specs=nano.specs
  25. #LD_FLAGS += -u _printf_float -u _scanf_float
  26. LD_FLAGS += -Wl,-Map=$(OBJDIR)/$(PROJECT).map,--cref
  27. LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys
  28. ifeq ($(DEBUG), 1)
  29. CC_FLAGS += -DDEBUG -O0
  30. else
  31. CC_FLAGS += -DNDEBUG -Os
  32. endif
  33. all: $(OBJDIR)/$(PROJECT).bin $(OBJDIR)/$(PROJECT).hex
  34. clean:
  35. rm -f $(OBJDIR)/$(PROJECT).bin $(OBJDIR)/$(PROJECT).elf $(OBJDIR)/$(PROJECT).hex $(OBJDIR)/$(PROJECT).map $(OBJDIR)/$(PROJECT).lst $(OBJECTS) $(DEPS)
  36. rm -fr $(OBJDIR)
  37. $(OBJDIR)/%.o: %.s
  38. mkdir -p $(@D)
  39. $(AS) $(CPU) -o $@ $<
  40. $(OBJDIR)/%.o: %.c
  41. mkdir -p $(@D)
  42. $(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $<
  43. $(OBJDIR)/%.o: %.cpp
  44. mkdir -p $(@D)
  45. $(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 -fno-rtti $(INCLUDE_PATHS) -o $@ $<
  46. $(OBJDIR)/$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS)
  47. $(LD) $(LD_FLAGS) -T$(LINKER_SCRIPT) $(LIBRARY_PATHS) -o $@ $^ $(LIBRARIES) $(LD_SYS_LIBS) $(LIBRARIES) $(LD_SYS_LIBS)
  48. $(SIZE) $@
  49. $(OBJDIR)/$(PROJECT).bin: $(OBJDIR)/$(PROJECT).elf
  50. @$(OBJCOPY) -O binary $< $@
  51. ifneq (,$(findstring TARGET_NXP,$(CC_SYMBOLS)))
  52. @echo
  53. @echo "For NXP writing vector checksum value into $@ ..."
  54. @$(CHKSUM) $@
  55. @echo
  56. endif
  57. $(OBJDIR)/$(PROJECT).hex: $(OBJDIR)/$(PROJECT).elf
  58. @$(OBJCOPY) -O ihex $< $@
  59. $(OBJDIR)/$(PROJECT).lst: $(OBJDIR)/$(PROJECT).elf
  60. @$(OBJDUMP) -Sdh $< > $@
  61. lst: $(OBJDIR)/$(PROJECT).lst
  62. size:
  63. $(SIZE) $(OBJDIR)/$(PROJECT).elf
  64. prog: $(OBJDIR)/$(PROJECT).bin
  65. @echo "Program..."
  66. ifneq ($(shell mount | grep 'CRP DISABLD'),)
  67. umount /dev/nxpisp >/dev/null 2>&1
  68. endif
  69. dd if=$< of=/dev/nxpisp seek=4
  70. DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
  71. -include $(DEPS)