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.

[参考译文] AM3358:Profinet 从站构建错误

Guru**** 2543780 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/602834/am3358-profinet-slave-build-error

器件型号:AM3358
Thread 中讨论的其他器件:SYSBIOS

您好!

 

客户正在尝试将其 ISDK1.x 环境转换为其产品的 ISDK2.x。

(目标为 AM335x)

当他们尝试构建代码时、会生成以下错误。

 

================================================================================

arm-none-eabi-gcc.exe:错误:无法识别命令行选项'-@ccsLinker。

选项

arm-none-eabi-gcc.exe:致命错误:无输入文件

================================================================================

 

根据下面 E2E 上的类似问题、构建选项 -@ccsLinker.opt 似乎 是 TI 编译器的选项、因此需要针对 GCC 进行更改。

 

https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/392709/1386902#1386902

 

http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/314265

 

但 makefile 是自动生成的文件、因此客户不知道如何避免。

 

您能告诉我如何避免此错误吗?

这需要针对他们计划于6月进行的认证测试进行修复。

 

下面是完整错误日志:

================================================================================================

****为项目 PROFINET_SLAVE_RT_MRP 构建配置 AM335x_DEBUG

****

 

"C:\\ti\\ccsv6\\utils\\bin\\gmake"-k 所有'构建目标:Profinet slave_RT_MRP.out'

'调用:GNU 连接器'

'flags:-mfloat-abi=hard -Dam3359 -DAM335X_family_build -DMEM_barrie_disable -DTWO_port_CFG -DESYSE_PROFIDRIVE_SDK -ffunion-sections -Fdata-SECTIONS -g -gdwarf-2 -gstrict-dwarf -Wall -start-static -ctrade-v-ce-static -ctrad-ce-ctrad-static -r-ctrad-r-ctrad-static -r-v-ce-v-status-ce-v-r-ce-v-r-r-rg-status-r-rg-/ti/bios_6_45_01_29/packages/gnu/targets/arm/libs/install-native/arm-no

NE-eabi/lib/FPU"

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/starterware/binary/dal/lib/am335x-e

VM/A8/release/gcc"

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/starterware/binary/device/lib/am335

X-EVM/A8/release/gcc"

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/starterware/binary/board/lib/am335x

-evm/a8/release/gcc"

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/starterware/binary/soc/lib/am335x-e

VM/A8/release/gcc"

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/starterware/binary/utils/lib/am335x

-evm/a8/release/gcc"

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/os_drivers/lib/am335x "

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/protocols/profinet_slave/stack_lib_

RT_MRP/AM335x"

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/protocols/snmp/stack_lib/am335x "

-L" C:/ti/sysbios_ind_sdk_02.01.03.02/sdk/board/lib/am335x "

-WL、--defsym、STACKSIZE = 0x18000 -WL、--defsym、HEAPSIZE = 0x400 -WL、--start-group'

"C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-g

cc.exe"-@"ccsLinker.opt"-o" PROFINET_SLAVE_RT_MRP.out"

arm-none-eabi-gcc.exe:错误:无法识别命令行选项'-@ccsLinker。

选项

arm-none-eabi-gcc.exe:致命错误:没有终止输入文件编译。

Gmake:***[Profinet 从设备_RT_MRP.OUT]错误1.

gmake:目标`全部'不会由于错误而重制。

 

****构建完成****

 

 

谢谢、此致、

Kot

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ISDK 团队已收到通知。 他们将在这里作出回应。

    请确保您的客户知道 ISDK 支持将在本月末停止。 有关详细信息、请参阅 :e2e.ti.com/.../580869
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Kot、根据我的经验、最好从零开始一个 CCS 项目、从另一个 ISDK 2.X 项目复制所有 CCS 设置(您可以使用 Profinet 作为模板)。 然后、复制所有客户源、头文件、包含路径、库路径等
    在我看来、调试 CCS 旧 makefile 问题可能很麻烦、效率很低。

    谢谢、
    Paula
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Paula、

    感谢您的快速回复。
    但是、客户已经使用 ISDK2.x 项目并从 ISDK1.x 项目复制必要的文件。
    仍然会生成错误。 我们不知道为什么会生成 TI 编译器的命令。

    谢谢、此致、
    Kot

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kot-San、但您知道他们是否从零开始一个 CCS 项目吗? 我想说的是、有时、如果您重复使用旧工程并开始更新(路径、配置、库)、并非总是"清理"所有内容、可能是一些幻影文件。

    让我在这里尝试从我们的 CCS 专家那里获得帮助。

    谢谢、

    Paula

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    一个疯狂的猜测 您的客户是否已从 CCS 项目属性中删除"Linker command file"。 从 ISDK 1.x 和 ISDK 2附加的快照。 x 作为基准

    他们能否与我们分享他们的项目、以便我们了解一下?

    谢谢、

    Paula

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Kot、另一个疯狂的猜测。 请要求他们删除 Debug\configPkg 和/或 Release\configPkg 并重建。 有时、此文件夹包含一些使用以前的 XDC 配置的文件、但这些文件并不清晰。

    谢谢、
    Paula
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Paula、

    客户尝试了您的建议、但结果相同。

    我有客户 CCS 项目。 我将通过单独的电子邮件将其发送给您

    谢谢、此致、

    Kot

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Paula、

    客户在 E2E 下方找到。

    https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/524321

    如果命令行超过最大限制、CCS 似乎错误地生成了使用 ccsLinker.opt 的 makefile。
    客户还使用数百个源文件。 您能否询问 CCS 专家如何解决此问题?
    认证日期为6月26日、因此需要尽快修复。

    谢谢、此致、
    Kot

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    客户通过将多个文件转换为一个库来避免此问题、从而使命令行长度小于最大长度(8191个字符)。

     

    我还@到这个问题的根本原因(如果命令长度大于8191、CCS 为 GNU 连接器生成-μ s ccsLinker 选项)已在 CCS6.1.3或更高版本中修复。

     

    谢谢、此致、

    Kot