Other Parts Discussed in Thread: SYSBIOS
Hello, I am running into an error with the GNU linker when I try to build the "minimal" SYS/BIOS example for the Cortex A15 core of the AM5716 processor. The error is (the full build output is below):
error: minimal.out uses VFP register arguments, c:/ti/ccs920/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v7/nofp\libgcc.a(_udivmoddi4.o) does not
The exact steps that I used are as follows. This is being done in CCS version 9.2.0 and the latest GCC ARM compiler tools from TI (gcc-arm-none-eabi-9-2019-q4-major).
- File > New > CCS Project
- In the New CCS Project dialog, select the following:
- Target dropdown: AM571x - Cortex A15
- Dropdown to the right of Target: AM5716
- Cortex A [ARM] tab
- Compiler version: GNU v9.2.1 (Linaro)
- Near the bottom of the dialog, click on the text link to "Import Wizard"
- Near the bottom of the Import CCS Projects dialog, check "Copy projects into workspace"
- In the "select search-directory" text box, browse to "c:/ti/bios_6_76_02_02"
- Under Discovered projects, check "minimal" and then click Finish.
- The New CCS Project dialog is shown again with the following settings; confirm that they are correct and then click Next.
- Target: AM5716
- The only tab shown is Cortex A [ARM]
- Project name: minimal
- Use default location checked
- Compiler version: GNU v9.2.1 (Linaro)
- Under Project templates and examples, "Other Examples > Minimal" is selected
- The Products dialog is shown with the following settings:
- Target (top of dialog): AM5716
- The only tab shown is Cortex A [ARM]
- XDCtools version: 3.60.1.27_core
- Under Products and Repositories, "SYS/BIOS > 6.76.2.02" is selected
- Target (bottom of dialog): gnu.targets.arm.A15F
- Platform: This is blank; change it to ti.platforms.evmAM571X
- Build-profile: release
- Click Finish.
- Click the hammer icon to build "Debug" for project "minimal"
The build Console output is as follows:
**** Build of configuration Debug for project minimal ****
"C:\\ti\\ccs920\\ccs\\utils\\bin\\gmake" -k -j 7 all -O
Building file: "../app.cfg"
Invoking: XDCtools
"C:/ti/ccs920/xdctools_3_60_01_27_core/xs" --xdcpath="C:/ti/bios_6_76_02_02/packages;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A15F -p ti.platforms.evmAM571X -r release -c "C:/ti/ccs920/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major" "../app.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring app.xa15fg from package/cfg/app_pa15fg.cfg ...
generating custom ti.sysbios library makefile ...
Starting build of library sources ...
making C:/workspace_v9_2/minimal/src/sysbios/sysbios.aa15fg ...
asma15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm_gnu.asm ...
asma15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/TaskSupport_asm_gnu.asm ...
asma15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/gic/Hwi_asm_gnu.asm ...
asma15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/exc/Exception_asm_gnu.asm ...
asma15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/a15/Cache_asm_gnu.asm ...
asma15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/a15/Mmu_asm_gnu.asm ...
asma15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/a15/TimestampProvider_asm_gnu.asm ...
asma15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/systimer/Timer_asm_gnu.asm ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/BIOS.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/IntrinsicsSupport.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/TaskSupport.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/knl/Clock.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/knl/Idle.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/knl/Intrinsics.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/knl/Queue.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/knl/Semaphore.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/knl/Swi.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/knl/Task.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/hal/Cache.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/hal/Core.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/hal/Hwi.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/hal/Hwi_stack.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/hal/Hwi_startup.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/gic/Hwi.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/exc/Exception.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/gates/GateHwi.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/gates/GateMutex.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/a15/Core.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/a15/Cache.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/a15/Mmu.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/a15/TimestampProvider.c ...
cla15fg C:/ti/bios_6_76_02_02/packages/ti/sysbios/family/arm/systimer/Timer.c ...
ara15fg arm_IntrinsicsSupport_asm_gnu.o arm_TaskSupport_asm_gnu.o gic_Hwi_asm_gnu.o exc_Exception_asm_gnu.o a15_Cache_asm_gnu.o a15_Mmu_asm_gnu.o a15_TimestampProvider_asm_gnu.o systimer_Timer_asm_gnu.o _BIOS.o arm_IntrinsicsSupport.o arm_TaskSupport.o knl_Clock.o knl_Idle.o knl_Intrinsics.o knl_Queue.o knl_Semaphore.o knl_Swi.o knl_Task.o hal_Cache.o hal_Core.o hal_Hwi.o hal_Hwi_stack.o hal_Hwi_startup.o gic_Hwi.o exc_Exception.o gates_GateHwi.o gates_GateMutex.o a15_Core.o a15_Cache.o a15_Mmu.o a15_TimestampProvider.o systimer_Timer.o ...
Build of libraries done.
cla15fg package/cfg/app_pa15fg.c ...
Finished building: "../app.cfg"
1 file(s) copied.
making ../src/sysbios/sysbios.aa15fg ...
gmake[1]: Nothing to be done for 'all'.
Building file: "../main.c"
Invoking: GNU Compiler
"C:/ti/ccs920/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/arm-none-eabi-gcc-9.2.1.exe" -c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -Dam5716 -I"C:/workspace_v9_2/minimal" -I"C:/ti/bios_6_76_02_02/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include/newlib-nano" -I"C:/ti/bios_6_76_02_02/packages/ti/posix/gcc" -I"C:/ti/ccs920/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/arm-none-eabi/include" -Og -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"main.d" -MT"main.o" -std=c99 @"configPkg/compiler.opt" -o"main.o" "../main.c"
Finished building: "../main.c"
making ../src/sysbios/sysbios.aa15fg ...
gmake[2]: Nothing to be done for 'all'.
Building target: "minimal.out"
Invoking: GNU Linker
"C:/ti/ccs920/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/arm-none-eabi-gcc-9.2.1.exe" -mtune=cortex-a15 -Dam5716 -Og -g -gdwarf-3 -gstrict-dwarf -Wall -mcpu=cortex-a15 -Wl,-Map,"minimal.map" -nostartfiles -static -Wl,--gc-sections -L"C:/ti/bios_6_76_02_02/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard" -Wl,--defsym,STACKSIZE=0x10000 -Wl,--defsym,HEAPSIZE=0x400 --specs=nano.specs -o"minimal.out" "./main.o" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -lgcc -lm -lnosys -lc -Wl,--end-group
makefile:145: recipe for target 'minimal.out' failed
c:/ti/ccs920/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.exe: error: minimal.out uses VFP register arguments, c:/ti/ccs920/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v7/nofp\libgcc.a(_udivmoddi4.o) does not
c:/ti/ccs920/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.exe: failed to merge target specific data of file c:/ti/ccs920/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v7/nofp\libgcc.a(_udivmoddi4.o)
collect2.exe: error: ld returned 1 exit status
gmake[1]: *** [minimal.out] Error 1
gmake: *** [all] Error 2
makefile:141: recipe for target 'all' failed
**** Build Finished ****
Thanks in advance for your assistance,
Dave