Я перевожу разработку проекта Eclipse CDT в совершенно другую систему.Я пытался тщательно скопировать свойства проекта, но все еще есть некоторые расхождения.Проект содержит код для запуска приложений FreeRTOS на микроконтроллере LPC1758, поэтому оперативно скомпилированный вывод представляет собой файл Intel HEX.
В моей новой системе make-файл, автоматически генерируемый сборкой Eclipse, не создает lpc1758_freertos.hex
.
Вот фрагмент проблемного make-файла:
# All Target
all: lpc1758_freertos.elf
...
# Other Targets
clean:
-$(RM) $(CC_DEPS)$(C++_DEPS)$(OBJS)$(C_UPPER_DEPS)$(CXX_DEPS)$(SECONDARY_FLASH)$(SECONDARY_SIZE)$(ASM_DEPS)$(S_UPPER_DEPS)$(C_DEPS)$(CPP_DEPS) lpc1758_freertos.elf
-@echo ' '
post-build:
-@echo 'Create binary file'
-arm-none-eabi-objcopy -O binary lpc1758_freertos.elf lpc1758_freertos.bin
-@echo ' '
А вот тот же фрагмент из моей старой системы, также автоматически сгенерированный, но ведущий себя правильно:
# All Target
all: lpc1758_freertos.elf secondary-outputs
...
# Other Targets
clean:
-$(RM) $(CC_DEPS)$(C++_DEPS)$(OBJS)$(C_UPPER_DEPS)$(CXX_DEPS)$(SECONDARY_FLASH)$(SECONDARY_SIZE)$(ASM_DEPS)$(S_UPPER_DEPS)$(C_DEPS)$(CPP_DEPS) lpc1758_freertos.elf
-@echo ' '
post-build:
-@echo 'Create binary file'
-arm-none-eabi-objcopy -O binary lpc1758_freertos.elf lpc1758_freertos.bin
-@echo ' '
secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_LIST) $(SECONDARY_SIZE)
Проблема здесь в том, что цель сборки secondary-outputs
не определена и не включена в цель all
.lpc1758_freertos.hex
, кажется, правильно собирается, когда я делаю эти изменения вручную в моем новом make-файле.
Как я могу настроить Eclipse для генерации make-файла, который создает вторичные выходные данные? Я знаю, что могу включитьотключите автоматическую генерацию make-файла в Eclipse или просто запустите make
вне Eclipse, но я бы хотел продолжать использовать автоматическую генерацию make-файла Eclipse, не беспокоясь о перезаписи secondary-outputs
.
Подробнее: как оригинальная, так и новая системаработают Eclipse Neon.3 Release (4.6.3), Eclipse CDT 9.2.1, GNU MCU C / C ++ ARM Compiler 2.2.2 и EPP CPP Bundle 4.6.3.