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.

[参考译文] RTOS/AM3357:EtherCAT 从站全功能构建失败

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/617943/rtos-am3357-ethercat-slave-full-feature-build-fails

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

工具/软件:TI-RTOS

尊敬的 TI 支持团队:

我必须在 AM335x 定制板上使用 TI-RTOS 构建热 CAT 从站。

下面是我使用的组件:

CCS 7.1.0.00016

gcc-arm-none-eabi-4_9-2015q3

XDCTools 3.32.1.22

PRU-ICSS-EtherCAT 从站01.00.03.01

处理器 SDK RTOS AM335x 4.0.0.4

SYS/BIOS 6.46.5.55

NDK 2.25.1.11

PDK AM335x 1.0.7

我按照 PRU ICSS EtherCAT 的步骤 构建了一个 etherCAT 从站全功能项目、并且在 RTSC 选项卡中选择 NDK、SYS/BIOS 和 AM335x PDK 时遇到一些错误。

以下是日志:

****为项目 EtherCAT_SLAVE_FUL_AM335x_ARM 构建配置 AM335x_release ****

/home/ericwang/ti/ccsv7/utils/bin/gmake -k -j 4 all -O
gmake[1]:输入目录'/home/ericwang/workspace_v7/ethercat_slave_full_AM335x_arm/AM335x_release
构建文件:/home/ericwang/ti/PRU-ICSS-EtherCAT_Slave_01.00.03.01/protocols/ethercat_slave/ecat_appl/am335x_app.cfg
调用:XDCtools
"/home/ericwang/ti/xdctools_3_32_01_22_core/xs "--xdcpath="/home/ericwang/ti/bios_6_46_05_55/packages;/home/ericwang/ti/ndk_2_25_01_11/packages;/home/ericwang/ti/pdk_am335x_1_0_7/packages;/home/ericwang/myRepository;" xdc.tools.configuro -o configPkg -t GNU.targets.arm.A8F -p myBottone03 -r release -c "/home/ericwang/ti/gcc-arm-none-eabi-4_9-2015q3 "/home/ericwang/ti/PRU-ICSS-EtherCAT_Slave_01.00.03.01/protocols/ethercat_slave/ecat_appl/am335x_app.cfg
正在制作 package.mak (由于 package.bld)...
正在为软件包 configPkg 生成接口(因为 package/package.xdc.inc 比 package.XDC 旧)...
从 package/cfg/am335x_app_pa8fg.cfg 配置 AM335x_app.xa8fg ...
正在生成自定义 ti.sysbios 库 makefile ...
subdir_rules.mk:38:目标'Build-1694665583-InProc '的配方失败
JS:"/home/ericwang/ti/pdk_am335x_1_0_7/packages/ti/drv/spi/package.xs、第122行:错误:   找不到库:/home/ericwang/ti/pdk_am335x_1_0_7/packages/ti/drv/spi/./lib/am335x/a8/release/ti.drv.spi.aa8fg
gmake:***[package/cfg/AM335x_app_pa8fg.xdl]错误1.
gmake:***删除文件`package/cfg/AM335x_app_pa8fg.xdl'
gmake:***[package/cfg/AM335x_app_pa8fg.xdl]删除文件`package/cfg/AM335x_app_pa8fg.h'
gmake:***[package/cfg/AM335x_app_pa8fg.xdl]删除文件`package/cfg/AM335x_app_pa8fg.c'
警告:包路径上的目录"/home/ericwang/myRepository 具有"package"子目录-您是指这种情况吗?
JS:"/home/ericwang/ti/xdctools_3_32_01_22_core/packages/xdc/tools/Cmdr.xs、第52行:错误:xdc.tools.configuro:由于早期错误(状态= 2)、配置失败;已删除'linker.cmd'。
gmaking[1]:***[Build-1694665583-InProC]错误1.
gmake:***[Build-1694665583]错误2.
gmake[1]:离开目录'/home/ericwang/workspace_v7/ethercat_slave_full_AM335x_arm/AM335x_release
subdir_rules.mk:35:目标'build-1694665583'的配方失败
gmake:目标"全部"不会由于错误而重新生成。

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

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

    您好 Erik、您能试试 PRU-ICSS-ETHERCAT_Slave_01.00.04.02吗 ? 另一位用户报告了使用 CCSv7和 PRU-ICSS-ETHERCAT_Slave_01.00.03.01时的一些构建问题(E2E)、并确认 该问题已解决为1.0.4.2版本。

    关于平台、请使用:ti.platforms.evmAM3359。 如果您看不到它、您的 RTSC 工具路径可能不正确(SYBIOS、EDMA 等)。 或者您可能没有安装这些工具。 您是否安装了 SYSBIOS 处理器 SDK?

    对于 EtherCAT 从站1.0.4.2、您将需要 PSDK 4.0

    《PRU-ICSS EtherCAT 从站用户指南》

    Processor SDK RTOS 4.0

    谢谢、

    Paula

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

    Erik、EtherCAT 1.0.3.1的另一点构建基于 PSDK RTOS 3.3.0 (如 C:\TI\PRU-ICSS-ETHERCAT_Slave_01.00.03.01\docs\PRU_ICSS_EtherCAT_User_Guide.pdf、组件版本部分所示)、而不是 PSDK 4.0。 这种不匹配可能是您面临的问题。

    谢谢、

    Paula

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

    尊敬的 Paula:

    感谢您的回复。

    我曾尝试过 PRU-ICSS-EtherCAT 01.00.04.02,并且在构建项目之前出现错误:“此项目不包含可生成的 RTSC 配置(.cfg)文件。 为了进行编译,此项目必须包含一个未从编译中排除的 RTSC 配置文件。”

    在构建项目后、我遇到与01.00.03.01相同的错误。

    关于该平台,当我选择 XDCtools 3.32.1.22_core 时,没有任何显示。 然后我使用了3.50.1.12_core、我可以选择 ti.platforms.evmAM3359。

    我安装了 Processor SDK RTOS 4.0

    下面是我选择的 RTSC 工具。

    感谢您的帮助、

    Eric

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

    Eric、您好、不知怎么说、您的 CCS 似乎没有发现您在安装 PSDK 时安装的新工具。 尝试关闭并打开 CCS、以查看 自动发现工具是否再次正常工作。 您是否还在 C:/TI 中安装了 PSDK? 。 我认为 CCS 必须位于同一位置才能自动发现新工具。 另一个选项是在 CCS 中手动添加此工具(XDC、SYSBIOS、EDMA 等)版本。 我不记得怎么做、但如果您在线搜索、您可以找到它(或在我们的 CCS E2E 论坛中)。

    谢谢、

    Paula

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

    尊敬的 Paula:

    在我重新安装 PSDK 和其他工具后、我的 CCS 找到了这些工具。

    但出现了一个新的错误: “在/EtherCAT_SLAVE_FULL_AM335x_ARM/EcatStack/tisebsp.c line 615中未声明(在本函数中首次使用)的'ities_EEPROM"。

    我认为这是因为 tisebsp.c 中没有 tiesc_eeprom.h。 但我在 ticescbsp.c 中看到了这一点:

    #ifdef TIESC_SPI_SLAVE_MODE
    #include // ESI bin 文件
    #Elif TIESC_application
    #ifdef ECAT_LIMITED 演示
    #include 的头等效项 //等效于 ESI bin 文件
    #else
    #include 的标头 // ESI bin 文件
    #endif
    #Elif CiA402_device
    #include 的头等效项 //等效于 ESI bin 文件
    #endif 的标头 

    看起来它包括 tiesc_eeprom.h。 因此我不知道如何解决它。

    感谢您的帮助、

    Eric

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

    尊敬的 Paula:

    我发现由于 ecat_def.h 而未包括 tiesc_eeprom.h。

    因此、我想知道、在 使用 Beckhoff SSC 工具生成 EtherCAT 源时、如何获取"用户中的已修补 ecat_def.h "将必须使用修补的 ecat_def.h 替换生成的 ecat_def.h

    感谢您的帮助、

    Eric

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

    Eric、您是否已按照说明修补 EtherCAT 从站堆栈(链接如下)?  您可以在修补堆栈后获得正确的"ecat_def.h"。

    构建全功能 EtherCAT 从站应用

    如果 您已经使用 Beckhoff stack v5.11修补了堆栈文件、那么您可能忘记使用"unix2dos"工具将 TI_ECAT.patch 转换为 DOS?

    总之、您可以 使用 Beckhoff SSC 工具生成 EtherCAT 源、但如果您有 Beckhoff 堆栈 v5.11、则可能更容易对其进行修补。

    如果您决定使用已修补的 Beckhoff 堆栈、请 不要忘记 从复制所有已修补的*。c 和*。h 文件  \SSC_V5i11\SlaveFiles\src 更改为 C:\TI\PRU-ICSS-ETHERCAT_Slave_01.00.04.02\protocol\EtherCAT_SLAVE \ecat_appl\EcatStack。

    请检查以上要点、并告知我。 我 在   我的 PC 中按照 Building Full Feature EtherCAT 从站应用和"EtherCAT_SLAVE_FULL_AM335x_ARM"项目"BOk Build_Ok (我使用 CCSv7.0对其进行测试)。

    谢谢、

    Paula

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

    尊敬的 Paula:

    我修补了 EtherCAT 从站堆栈,"ecat_def.h"是相同的。

    我将其与我在另一个论坛上找到的另一个"ecat_def.h"进行了比较。

    我发现我的"ecat_def.h"仅缺少 TIESC_application 部分。

    我手动添加了它、然后我成功构建了它。

    这样做是否可行、或者我必须正确修补文件?

    我认为在修补 EtherCAT 从站堆栈时可能出现了问题。

    BTW:修补程序文件是否只有 Windows 主机版本?

    因为我使用的是 Linux 主机 PC、所以获取另一个 Windows 主机 PC 来修补文件很不方便。

    感谢您的帮助、

    Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Eric、您的解决方法可以正常工作、但您的修补文件肯定不正确。 我尚未尝试使用 Linux 进行修补、但我认为它应该起作用、请尝试一下。

    谢谢、
    Paula