工具/软件:TI C/C++编译器
下午好。
是否可以使用在 TI编译器下为AM3354创建的项目中GNU编译器下创建的库?
我们使用RTOS。
我们将使用GNU编译器来编写将使用NEON的所有功能的数学库。 这些库将连接到基于TI编译器创建的项目,因为此编译器不允许您实现NEON的所有功能。 项目是很久以前创建的,当时无法使用GNU编译器。
让你哈哈哈克。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
有一个项目具有以下参数:
“c:\ti/ccsv7/tools/compiler/ti-CGT-arm_speed=5 16.9 ”-include_path="C:/ti/ccsv=32 --float_support=vFPv3 -me -O2 --opt_of_speed=5 --include_path="/ti/ccsv7/tools/tools/tools/state-diag_suppress_diag_mem=5-us_rein_diag_rema_rema=5-include_def_diag_diag_diag_diag_ram_ram=5-rema_diag_diag_speed=5-d=5-include_diag_diag_diag_speed=5-d=5-include_def_ramid=325/diag_diag_diag_diag_diag_diag_diag_diag_diag_ram=5-d=5-16.9 ---d=5-------------dma_diag_diag_diag_diag_diag_diag_diag_ramid=
'完成的建筑:../sources/BIOS_DRIVER/uartdma/UARTSitara.c'
创建了具有以下参数的库:
'建筑文件:../source/main.c'
'调用:GNU编译器'
c:\ti/ccsv7/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe"-c -mcpu=cortex-A8 -mtune=cortex-a8 -march=armv7-a -marm -mflo-abe-abi=none/msp-mp-msp-msp-msp-msp-f-f/fip-msp-msp-msp-msp-msp-f-f-fip-f-f-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-f-fip-fip-fip-fip-fmd -fmd -fip-fmd -f
当我将库连接到项目时,我收到以下错误:
链接>
错误#1.6004万-D:文件"./library/libtest_lib.a<main.o>"具有Tag_ABI_VFP_args属性值"0",该值与以前看到的值("1")不同;合并不兼容的文件
警告#1.6032万-D:对象文件的wchar_t类型不兼容("../library/libtest_lib.a<main.o>"=--wchar_t=32,"./6.185万/common/array_list.obj"=--wchar_t=16)
警告#1.6016万-D:文件"./library/libtest_lib.a<main.o>"是为支持VFPv4协处理器而构建的,而以前看到的文件是为支持VFPv3协处理器而构建的
错误#1.001万:链接时遇到错误;"BEMP_RUDZL_RUDX.10.U" 01.01 未构建
>>编译失败
Makefile:597:目标'BEMP_RUDZL_RUDZL.10.OUT的配方01.01 失败
gmake [1]:***[BEMP_RUDZL_RUD10.UT] 01.01 错误1
Makefile:593:目标'All'的配方失败
gmake:***[All]错误2
感谢你的帮助
Igor
要使其工作,请更改GCC编译器选项,如下所示:
第一个更改使ARM编译器匹配wchar_t类型的TI编译器大小 在EABI中未指定wchar_t的大小。 它可以是16位或32位。 TI ARM编译器默认值为16位。 GCC ARM编译器默认为32位。
第二个变化使用不同的矢量浮点选项。 我不确定这是否正确。 根据ARM的此页面,Cortex-A8支持VFPv3。 但ARM gcc编译器有多个-mfpu选项,其中包含vfpv3。 虽然这种方法可能奏效,但它可能不是最佳选择。 我将进一步研究。 如果我找到更好的答案,我会发布。
谢谢,此致,
-George
下午好!
GCC设置中的参数-fshort-wchar未找到,因此我通过编辑标志手动添加了它。
设置参数vfpv3:
-mcpu=cortex-A8 -mtune=cortex-A8 -march=armv7-a -marm -mfloat-abi=softfp -mfp=vfpv3 -Dam3354 -i"${project_root}"-i"${cG_tool_include_path}"-O2 -Wall -fshort-wchar
我教授了以下错误:
****为项目test_lib构建配置Release__GNU ****
"C:\\ti\\ccsv7\\utils\\bin\\gmake "-k -j 4 all -o
'建筑文件:../source/main.c'
'调用:GNU编译器'
"c:/ti/ccsv7/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe"-c -mcp=cortex-a8 -mt=cortex-a8-cortex-a8 -mar=armv7-ar-arm-mv7-flo-msp/msp-msp-msp/fip-msp-msp-msp/fip-msp-msp-fip-msp-fip-fip/fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip-fip/fip/fip-fip-fip-fip-fip-fip-fip-fip-fip/fip-fip-fip-fip-fip-fip-fip-fip/fip-fip-fip-fip-m/s
source/subdir_rules.mk:9:目标'Source/main.o'的配方失败
包含在../source/main.c:9:0中的文件中:
../Source/..\include\arm_none.h:31:2:错误:#error您必须启用neon指令(例如 -mfloat-abi=softfp -mfpu=neon)以使用arm_neon.h
#ERROR您必须启用氖光指示(例如 -mfloat-abi=softfp -mfpu=neon)以使用arm_neon.h
^
../source/main.c:在函数'lib1'中:
../source/main.c:21:1:警告:函数'intrinsics'的隐式声明[-Wimplicit函数-声明]
内部函数(&x,&y,&z,大小);
^
/Source/main.c:最高级别:
../source/main.c:26:17:错误:未知类型名称'UINT32_t'
空内部函数(UINT32_t *x,UINT32_t *y,UINT32_t *z,无符号int l_size)
^
../source/main.c:26:30:错误:未知类型名称'UINT32_t'
空内部函数(UINT32_t *x,UINT32_t *y,UINT32_t *z,无符号int l_size)
^
../source/main.c:26:43:错误:未知类型名称'UINT32_t'
空内部函数(UINT32_t *x,UINT32_t *y,UINT32_t *z,无符号int l_size)
^
gmake:***[Source/main.o]错误1
gmake:由于错误,目标'all'没有重制。
****构建已完成****
图书馆不仅需要访问VFP,还需要访问霓虹灯的说明。
感谢你的帮助。
Igor