工具/软件:TI C/C++编译器
您好,
我正在处理一个生成.lib的库项目。 我在汇编中有一段代码写入了一个汇编文件,我想在另一个项目中保留这些代码。 这些装配体部分中定义的函数不会被直接调用。
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.
工具/软件:TI C/C++编译器
您好,
我正在处理一个生成.lib的库项目。 我在汇编中有一段代码写入了一个汇编文件,我想在另一个项目中保留这些代码。 这些装配体部分中定义的函数不会被直接调用。
在主CCS项目中,添加链接器选项--UNDEF_SYM=_STL_CLA_SEG start 请阅读 C2000组装工具手册中的该选项。 注意:不需要保留(pragma或指令)。
对于阅读此线程的其他人... 如果遇到这种情况,并且要强制构建的库函数是用C/C++编写的,则需要考虑其他详细信息。 C2000工具版本COFF .x.LTS和更低版本仅支持16.9 ABI。 在ABI下,在汇编中写入时,用C/C++编写的符号的开头会添加下划线。 所有其它TI编译器默认使用较新的EABI。 在EABI下,符号在C/C++和汇编中的书写方式相同。 在这种情况下,可以使用--UNDEF_SYM=lib_function_to_force之类的内容。
谢谢,此致,
-George
COFF ABI正确。 但不适用于C2000工具版本16.12 .0.STS中引入的新EABI。 在EABI下,链接程序在删除未引用的部分方面更积极。 在EABI下,所有28个部分都需要--UNDEF_SYM。 从命令行进行管理是不实际的。 将它们全部放在专用的命令文件中,然后将该命令文件提供给链接程序。
有28个部分未引用是很少见的。 通常只有一个,该部分包含中断向量表。
谢谢,此致,
-George
您可以在STA_F2837xD_RAM_CPU!_CLASWBIST.cmd中看到问题-UNDEF_SYM
SAL
我无法重现此问题。 我不确定原因,但链接程序命令文件不存在。 请尝试使用 此论坛帖子中描述的方法收集项目。
谢谢,此致,
-George
我第一次关注论坛帖子。 我做了存档并创建了一个ZIP。