Other Parts Discussed in Thread: EK-TM4C129EXL, TM4C129ENCPDT
Hi,
I am trying to use freeRTOS on EK-TM4C129EXL. I have followed this older tutorial and tried to build the project, but I get the following errors:
Building target: "TestCompileGNUMfloatAbiHard.out"
Invoking: GNU Linker
"/Applications/ti/ccs1110/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/arm-none-eabi-gcc-9.2.1" -DPART_TM4C129ENCPDT -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -specs="nosys.specs" -mcpu=cortex-m4 -Wl,-Map,"TestCompileGNUMfloatAbiHard.map" -o"TestCompileGNUMfloatAbiHard.out" "./main.o" "./tm4c129encpdt_startup_ccs_gcc.o" -Wl,-T"../tm4c129encpdt.lds"
makefile:139: recipe for target 'TestCompileGNUMfloatAbiHard.out' failed
/Applications/ti/ccs1110/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: error: ./main.o uses VFP register arguments, TestCompileGNUMfloatAbiHard.out does not
/Applications/ti/ccs1110/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ./main.o
/Applications/ti/ccs1110/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: error: ./tm4c129encpdt_startup_ccs_gcc.o uses VFP register arguments, TestCompileGNUMfloatAbiHard.out does not
/Applications/ti/ccs1110/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ./tm4c129encpdt_startup_ccs_gcc.o
collect2: error: ld returned 1 exit status
gmake[1]: *** [TestCompileGNUMfloatAbiHard.out] Error 1
gmake: *** [all] Error 2
makefile:135: recipe for target 'all' failed
After some research, I realized that the issue is not related to FreeRTOS but that I cannot compile any project using GNU (v9.2.1 Linaro) with the flag -mfloat-abi=hard (everything compiles fine with the flag set for softfp). I do not see why mfloat-abi causes an error when set to "hard." If someone knows how to solve this issue, I would appreciate it!
Pierrick