2016-11-04 1 views
1

Доброе утро, я пытаюсь кросс-компиляции для Atmel AT92SAM с помощью Eclipse, с инструментарием, GNU-Arm под Windows 7.GNU делать остановки без ошибок, прежде чем Makefile закончена

Моя проблема в том, что здание процесс останавливается после завершения компоновщика, хотя он также должен создавать необработанный двоичный файл и печатать размер. Вот отрывок из Makefile затмении создано:

# All Target 
all: main.exe 

# Tool invocations 
main.exe: $(OBJS) $(USER_OBJS) 
    @echo 'Building target: [email protected]' 
    @echo 'Invoking: Cross ARM C Linker' 
    arm-none-eabi-gcc -mcpu=arm7tdmi -mthumb -O0 -fsigned-char -ffunction-sections -g -Xlinker --gc-sections -Wl,-Map,"main.map" --entry=0x00000000 -o "main.exe" $(OBJS) $(USER_OBJS) $(LIBS) 
    @echo 'Finished building target: [email protected]' 
    @echo ' ' 

main.bin: main.exe 
    @echo 'Invoking: Cross ARM GNU Create Flash Image' 
    arm-none-eabi-objcopy -O binary "main.exe" "main.bin" 
    @echo 'Finished building: [email protected]' 
    @echo ' ' 

main.siz: main.exe 
    @echo 'Invoking: Cross ARM GNU Print Size' 
    arm-none-eabi-size --format=berkeley "main.exe" 
    @echo 'Finished building: [email protected]' 
    @echo ' ' 

Но последние две команды не выполняются и не .bin не создается. Выход командной строки

... 
Finished building: ../src/main.c 

Building file: ../.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.c 
Invoking: Cross ARM C Compiler 
arm-none-eabi-gcc -mcpu=arm7tdmi -mthumb -O0 -fsigned-char -ffunction-sections -g -DTRACE_LEVEL=4 -Dflash -Dat91sam7x512 -I"[My includes] -std=gnu99 -MMD -MP -MF".metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.d" -MT".metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.o" -c -o ".metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.o" "../.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.c" 
Finished building: ../.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.c 

Building file: ../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c 
Invoking: Cross ARM C Compiler 
arm-none-eabi-gcc -mcpu=arm7tdmi -mthumb -O0 -fsigned-char -ffunction-sections -g -DTRACE_LEVEL=4 -Dflash -Dat91sam7x512 -I"[my includes]" -std=gnu99 -MMD -MP -MF".metadata/.plugins/org.eclipse.cdt.make.core/specs.d" -MT".metadata/.plugins/org.eclipse.cdt.make.core/specs.o" -c -o ".metadata/.plugins/org.eclipse.cdt.make.core/specs.o" "../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c" 
Finished building: ../.metadata/.plugins/org.eclipse.cdt.make.core/specs.c 

Building target: main.exe 
Invoking: Cross ARM C Linker 
arm-none-eabi-gcc -mcpu=arm7tdmi -mthumb -O0 -fsigned-char -ffunction-sections -g -Xlinker --gc-sections -Wl,-Map,"main.map" --entry=0x00000000 -o "main.exe" [my object files] ./.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.o ./.metadata/.plugins/org.eclipse.cdt.make.core/specs.o -lm 
Finished building target: main.exe 


08:31:22 Build Finished (took 10s.91ms) 

Как вы видите, команды objcopy и size не вызываются. Любые идеи?

+1

Вы просто вызывающую «делать» или «сделать все»? Если это так, он делает именно то, о чем говорит ваша «все» цель ... – Notlikethat

+2

'all: main.bin main.siz' – user657267

+0

Вы правы. Очевидно, что параметры затмения не установлены правильно. – DrJohn

ответ

0

Вы можете непосредственно добавить размер внутри main.exe рецепта, как main.siz не реальный выходной файл (который должен быть .PHONY):

all: main.bin 

main.exe: $(OBJS) $(USER_OBJS) 
    @echo 'Building target: [email protected]' 
    @echo 'Invoking: Cross ARM C Linker' 
    arm-none-eabi-gcc -mcpu=arm7tdmi -mthumb -O0 -fsigned-char -ffunction-sections -g -Xlinker --gc-sections -Wl,-Map,"main.map" --entry=0x00000000 -o "[email protected]" $(OBJS) $(USER_OBJS) $(LIBS) 
    arm-none-eabi-size --format=berkeley "[email protected]" 
    @echo 'Finished building target: [email protected]' 

main.bin: main.exe 
    @echo 'Invoking: Cross ARM GNU Create Flash Image' 
    arm-none-eabi-objcopy -O binary "$<" "[email protected]" 
    @echo 'Finished building: [email protected]' 
Смежные вопросы