主题中讨论的其他器件:C2000WARE、 CCStudio
工具/软件:Code Composer Studio
新的 SDK v2.0.0.2示例: 28035_IQsampleC
失败,出现以下错误:
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.
工具/软件:Code Composer Studio
新的 SDK v2.0.0.2示例: 28035_IQsampleC
失败,出现以下错误:
您好 Sira、
[引用 user="Sira Rao80"]这3个构建故障是已知问题,甚至会作为发行说明的一部分被捕获。
我知道您提到:
IQMath-31.
索引库将导致 一些旧 版器件工程的编译失败
S3-0
次要无
我发现19个*IQSample*示例,其中11个在开箱即用时失败:
28027_IQsampleC
28035_IQsampleC
28035_IQsampleCpp
28069_IQsampleC
28069_IQsampleCpp
28235_IQsampleCpp
28335_IQsampleCpp
2837xd_IQsampleC
2837xd_IQsampleCpp
2838_IQsampleCpp
和 2838x_IQsampleC。
[引用 user="Sira Rao80"]问题是链接器命令文件在 SECTIONS 规范中专门使用 IQmath.lib、但 IQmath.lib 现在是索引库、而 IQmath_coff .lib 是已解决的库。
[引用 user="Sira Rao80"]但理想的方法是使用“.section”指令为源汇编文件中的表分配段,而不是在链接器 cmd 文件中执行此操作。
我的理解是、我们有两个单独的问题:
1)物体解析
2) 2)段规格。
明确链接 IQmath_coff .lib 可解决第一个问题。
使用28035_IQsampleC 示例并提供与索引 IQmath.lib 的显式链接、我添加了:
.ref __IQ24asin
.ref __IQ24atan2pu
.ref __IQ24exp
.ref __IQ24log
.ref __IQ24mpyI32int
CodeStartBranch.asm 和 我已获得:
无法解析存档
C:/ti/C2000Ware/C2000Ware_2_00_00_02_Software/libraries/math/IQmath/c28/lib
将 IQMath.lib 添加到兼容库中、因为未遇到任何输入文件。
这与开箱即用示例中的问题相同。
在我看来、这与"链接器命令文件在 SECTIONS 规范中专门使用 IQmath.lib"的情况无关。
与 IQmath_coff .lib 链接可解析对象、但构建会留下以下消息:
警告:创建不带 SECTIONS 规范的输出段"IQmathTablesRam"
警告:指定了"_c_int00"以外的入口点符号: "code_start"
我的理解是:
[引用 user="Sira Rao80"]但理想的方法是使用“.section”指令为源汇编文件中的表分配段,而不是在链接器 cmd 文件中执行此操作。
无法解决未定义的符号问题。
另一个示例和有趣的问题 、28069_IQsampleC:
>>编译失败
Makefile:143:目标'28069_IQsample.out'的配方失败
警告:无法解析存档
C:/ti/C2000Ware/C2000Ware_2_00_00_02_Software/libraries/math/IQmath/c28/lib
将 IQMatH_fpu32.lib 添加到兼容库中、因为没有输入文件
遇到
"C:/ti/C2000Ware/C2000Ware_2_00_00_02_Software/libraries/math/IQmath/c28/examples/cmd/28069_IQmath_lnk.cmd "、第71行:警告:
无匹配段
"C:/ti/C2000Ware/C2000Ware_2_00_00_02_Software/libraries/math/IQmath/c28/examples/cmd/28069_IQmath_lnk.cmd "、第75行:警告:
无匹配段
未定义 的首次引用
符号 文件中
------ --------
_IQ24asin ./IQsampleSmall.obj
_IQ24atan2pu ./IQsampleSmall.obj
_IQ24exp ./IQsampleSmall.obj
_IQ24log ./IQsampleSmall.obj
_IQ24mpyI32int ./IQsample.obj
错误:未解析的符号仍然存在
警告:指定了"_c_int00"以外的入口点符号: "code_start"
错误:在链接期间遇到错误;没有生成"28069_IQsample.out"
gmake:***[28069_IQsample.out]错误1.
gmake:目标"全部"不会由于错误而重新生成。
****构建完成****
但是、我尝试使用 ti-arm v18.2.1.LTS 来构建它、因为 IQmath_fpu32_coff .lib 是使用汇编器 v18.2.LTS 和我的构建结果构建的:
>>编译失败
Makefile:143:目标'28069_IQsample.out'的配方失败
警告:无法解析存档
C:/ti/C2000Ware/C2000Ware_2_00_00_02_Software/libraries/math/IQmath/c28/lib
将 IQMatH_fpu32.lib 添加到兼容库中、因为没有输入文件
遇到
"C:/ti/C2000Ware/C2000Ware_2_00_00_02_Software/libraries/math/IQmath/c28/examples/cmd/28069_IQmath_lnk.cmd "、第71行:警告:
无匹配段
"C:/ti/C2000Ware/C2000Ware_2_00_00_02_Software/libraries/math/IQmath/c28/examples/cmd/28069_IQmath_lnk.cmd "、第75行:警告:
无匹配段
未定义的首次引用
符号
------ --------
_c_int00 ./CodeStartBranch.obj
错误:未解析的符号仍然存在
警告:指定了"_c_int00"以外的入口点符号: "code_start"
错误:在链接期间遇到错误;没有生成"28069_IQsample.out"
gmake:***[28069_IQsample.out]错误1.
gmake:目标"全部"不会由于错误而重新生成。
****构建完成****
与 28035_IQsampleC 示例中相同的链接器命令、该示例以及库和对象名称的编译器版本都被解析。 这与您的说法相反: 问题是链接器命令文件在 SECTIONS 规范中专门使用 IQmath.lib、但 IQmath.lib 现在是索引库、而 IQmath_coff .lib 是已解析的库。
另一个问题:为什么_c_int00未解决?
另一个问题:当我切换回开箱即用的 TI 编译器 v6.0.1时、
CCS 创建 project.log 文件、其中包含:
!配置:'com.ti.ccstudio.buildDefinitions.c2000.Debug.65717364'[Thu Jun 06 03:58:21 CEST 2019]
!工具:'com.ti.ccstudio.buildDefinitions.C2000_6.0.exe.compilerDebug.530579485'
!warning:unresolved option:com.ti.ccstudio.buildDefinitions.C2000_6.0.compilerID.ABI
这意味着什么? 它如何影响项目设置?
问题是链接器命令文件在 SECTIONS 规范中专门使用 IQmath.lib、但 IQmath.lib 现在是索引库、而 IQmath_coff .lib 是已解决的库。