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

gcc_arm_nrf51_dongle.tmpl 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # This file was automagically generated by mbed.org. For more information,
  2. # see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
  3. GCC_BIN =
  4. PROJECT = {{name}}
  5. OBJECTS = {% for f in to_be_compiled %}{{f}} {% endfor %}
  6. SYS_OBJECTS = {% for f in object_files %}{{f}} {% endfor %}
  7. INCLUDE_PATHS = {% for p in include_paths %}-I{{p}} {% endfor %}
  8. LIBRARY_PATHS = {% for p in library_paths %}-L{{p}} {% endfor %}
  9. LIBRARIES = {% for lib in libraries %}-l{{lib}} {% endfor %}
  10. LINKER_SCRIPT = {{linker_script}}
  11. SOFTDEVICE = mbed/TARGET_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_7_0_0/s110_nrf51822_7.0.0_softdevice.hex
  12. ###############################################################################
  13. AS = $(GCC_BIN)arm-none-eabi-as
  14. CC = $(GCC_BIN)arm-none-eabi-gcc
  15. CPP = $(GCC_BIN)arm-none-eabi-g++
  16. LD = $(GCC_BIN)arm-none-eabi-gcc
  17. OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy
  18. OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
  19. SIZE = $(GCC_BIN)arm-none-eabi-size
  20. SREC_CAT = srec_cat
  21. CPU = -mcpu=cortex-m0 -mthumb
  22. CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fomit-frame-pointer
  23. CC_FLAGS += -MMD -MP
  24. CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %}
  25. LD_FLAGS = $(CPU) -Wl,--gc-sections -Wl,--wrap=main --specs=nano.specs -u _printf_float -u _scanf_float
  26. LD_FLAGS += -Wl,-Map=$(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: $(PROJECT).bin $(PROJECT).hex
  34. clean:
  35. rm -f $(PROJECT).bin $(PROJECT).elf $(PROJECT).hex $(PROJECT).map $(PROJECT).lst $(OBJECTS) $(DEPS)
  36. .s.o:
  37. $(AS) $(CPU) -o $@ $<
  38. .c.o:
  39. $(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $<
  40. .cpp.o:
  41. $(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 -fno-rtti $(INCLUDE_PATHS) -o $@ $<
  42. $(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS)
  43. $(LD) $(LD_FLAGS) -T$(LINKER_SCRIPT) $(LIBRARY_PATHS) -o $@ $^ $(LIBRARIES) $(LD_SYS_LIBS) $(LIBRARIES) $(LD_SYS_LIBS)
  44. $(SIZE) $@
  45. $(PROJECT).bin: $(PROJECT).elf
  46. @$(OBJCOPY) -O binary $< $@
  47. $(PROJECT).hex: $(PROJECT).elf
  48. @$(OBJCOPY) -O ihex $< $@
  49. $(PROJECT).lst: $(PROJECT).elf
  50. @$(OBJDUMP) -Sdh $< > $@
  51. lst: $(PROJECT).lst
  52. size:
  53. $(SIZE) $(PROJECT).elf
  54. DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
  55. -include $(DEPS)
  56. merge:
  57. $(SREC_CAT) $(SOFTDEVICE) -intel $(PROJECT).hex -intel -o combined.hex -intel --line-length=44