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.
我正在将代码从28069迁移到280025。
我将 CCS9用于28069。 适用于28025的 CCs12。
我在汇编语言中编写了一些例程。 CCS9能够将汇编语言正确链接到 C 代码。
我在 cCS12中遇到错误、无法找到 sone 变量。 是否有指南准确指导将汇编语言整合到 C 代码中所需的步骤? 这将包括变量命名约定、编译器和链接器设置、这些设置是在我的项目中加入汇编代码所必需的?
谢谢、
David
CCS9和 CCS12中的两个项目是设置为使用相同的 ABI、还是一个使用 COFF 和另一个 EABI?
提出要求的原因是 、根据汇编代码的更改 、两个用于创建链接到 C 代码的汇编器的 ABI 之间存在一些不同。
请提供准确的错误消息。
谢谢
Ki
到目前为止、大部分内容都是 COFF。 我将进行验证。
未定义的首次引用
符号
------ --------
CalcDecel /Include/utils.obj
错误#10234-D:未解析的符号仍然存在
错误#10010:链接期间遇到错误;未生成"HR17ENWV.OUT"
>>编译失败
Makefile:195:目标'HR17ENWV.Out'的配方失败
gmaking[1]:***[HR17ENWV.OUT]错误1.
gmake:***[全部]错误2.
Makefile:191:目标“全部”的配方失败
汇编例程被称为"CalcDecel"。 所有汇编变量均使用下划线"_CalcDecel"定义。
切斯特、您好!
新编译确实使用 eabi。 我重新发送到 COFF、然后遇到有关-idiv 支持的错误。 将其更改为"None"、则弹出有关 rts2800_fpu32_eabi.lib 不兼容的错误。 我想为了解决这个问题、IU 必须使用"non eabi" lib 文件。
但是、现在我将忽略整数除法的一些感知的新炫酷特性。
那么、是否有一个文档详细说明了如何使我的旧汇编代码"eabi"兼容?
此致、
David
哇、对 eabi 迁移的快速搜索显示出了一些非常酷的东西...新的"双"数据类型为64位???????
这意味着我实际上根本不需要我的汇编代码。 需要该例程来计算64位结果。 非常有趣
除此之外、它似乎只需要丢失变量名称上的下划线、它应该起作用。
您可能从未这样做过。 在较旧的 COFF ABI 和较新的 EABI 中、long double 类型都是64位 IEEE。
谢谢、此致、
乔治
我从英特尔8031上开始移植此代码。 我很确定我需要它。 当我们首次迁移到 CCS2上的2406时、我认为当时没有64位类型可用。
自从大会例行程序开始运作以来,从未对这种情况进行过处理,直到现在,我一直没有遇到问题。。。
64位类型在 COFF 中可用的时间有多长?
从大约8年前首次发布的6.4.x 版开始。
谢谢、此致、
乔治
谢谢 George、
有道理。 大约4年前、我才开始使用版本6。 已将代码从2407 (CCS3.3)迁移至28069、并且汇编例程运行正常。 因此、我们甚至看不到。 但是、现在我知道...
现在、如果我只能弄清楚版本12中的异常调试行为还有什么变化、那么生活会更好...
David