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/AM3359:EtherCAT 问题

Guru**** 2610415 points
Other Parts Discussed in Thread: AM3359, SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/654528/rtos-am3359-ethercat-issue

器件型号:AM3359

工具/软件:TI-RTOS

大家好,新年快乐!!!

这篇文章涉及与我在上一篇文章(AM3359:ISDK 中的 EtherCAT 问题)中提到的相同的问题、但涉及新安装的德州架构。

我已更新新版本:

  • PDK_AM335x_1_0_7
  • 使用 Beckoff 5.12中的新版本修补了 PRU-ICSS-EtherCAT_Slave_01.00.04.02

我的应用程序在具有8个卡的电路板上运行。

每张卡都配有 ARM3359。

所有这些卡都是 EtherCAT 主站驱动的 EtherCAT 网络的一部分。

在每个处理器上、都运行相同的软件。 该软件是根据"EtherCAT 从站"项目模型构建的。

在此项目中、EcatStack 代码使用2个表来初始化 PRU:HostProc []和 FrameProc []。

 

这些表在已安装目录 C:\ti\PRU-ICSS-ETHERCAT_Slave_01.00.04.02\protocols\EtherCAT_SLAVE_firmware\v1.0中提供。

这是我的问题 :当我启动电路板时,我的 EtherCAT 网络启动,我扫描总线,看不到从器件!!!

因此、我尝试进行此测试: 我只插入第一个从器件、扫描总线、可以看到 Salve、然后我连接第二个从器件、我扫描总线、看到2个从器件、我连接第二个从器件、我扫描总线、看到3个从器件...

事实上,在我所有的测试中,我的从端口的第二个端口的初始化似乎有问题!

 

在所有调试测试期间、我尝试使用之前版本的 HostProc []和 FrameProc []初始化 PRU。

这些表在已安装目录 C:\ti\sysbios_ind_sdk_02.01.03.02\sdk\protocols\EtherCAT_slave\firmware\v1.0中给出

现在,一切都很好!!!!

我的8个从器件在复位时可见、所有器件都在工作。

 

因此,PRU 初始化在两个版本的表之间似乎是不同的:您能告诉我它是什么,我能做些什么来使最新版本正常工作?

我与您一起使用两个版本的表初始化!

非常感谢您的帮助

Laurence

e2e.ti.com/.../ecat_5F00_frame_5F00_handler_5F00_bin_5F00_new.h

e2e.ti.com/.../ecat_5F00_frame_5F00_handler_5F00_bin_5F00_old.h

e2e.ti.com/.../ecat_5F00_host_5F00_interface_5F00_bin_5F00_new.h

e2e.ti.com/.../ecat_5F00_host_5F00_interface_5F00_bin_5F00_old.h

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

    •PRU-ICSS-EtherCAT_Slave_01.00.04.02和最新代码(2017年12月发布的 PRU-ICSS-EtherCAT-SLAVE 01_00_05_00 -推荐)均使用 Beckhoff EtherCAT 从站协议栈代码(SSC)版本5.11而非5.12。

    您是否看到 SSC_5.11的错误?
    如果是、该错误是否仅在8个从器件配置中发生?
    最新版本具有许多固件改进功能、建议您考虑。

    我不知道这是否适用于您的情况、但对于使用多个软件版本和/或多个器件的用户而言、这一点很重要。 由于每个 PRU-ICSS 协议版本在使用多个器件(AM335x、AM437x ...)时都需要特定的处理器 SDK、SYS/BIOS、XDCtools 和 CCS 版本 多个版本的 Processor SDK 或/和多个版本的 PRU-ICSS 工业协议-我们将版本分隔在单独的目录中。

    对我来说、始终如一的工作是在空 ti 目录中执行全新安装。 如果我希望保持多种不同的配置、请卸载 CCS (以便我只安装了一个版本)、然后使用 Processor SDK 重命名 ti 目录、并希望保存 PRU-ICSS-Industrial。

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

    尊敬的 David:

    实际上、在更新 Beckhoff EtherCAT 从站协议栈代码(SSC)版本5.12之前、我使用的是版本5.11、我已经遇到了问题。 因此、这不是 Beckoff 版本的回归。

    如果我仅链接2个从站、则会出现问题:在硬复位(例如关闭电源)后、我的配置中的2个从站无法正常工作;在扫描时、网络上看不到从站。 我必须拔下第二个从设备、扫描总线(现在我看到第一个从设备)、然后重新插入第二个从设备、扫描总线(现在我看到第二个从设备)。

    正如我提到过的、我认为这是第一个从端口 B 的问题。 如果使用带有 Odl 版本的 HostProc []和 FrameProc []的 PRU 初始化,一切都很好。

    我仅使用 AM335x。

    我将安装 PRU-ICSS-EtherCAT-SLAVE 01_00_05_00,但我认为它不会解决我的问题....

    我会随时通知您。

    非常感谢。

    Laurence

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

    劳伦斯

    如果可能 、请尝试 PRU-ICSS-ETHERCAT-SLAVE 01_00_05_00。 端口0和端口1都进行了更新。

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的 David:我只使用 PRU-ICSS-EtherCAT-SLAVE 01_00_05_00中的新表更改了 HostProc []和 FrameProc []两个表,它们正常工作。 现在、我使用 pdk_am335x_1_0_9和 PRU-ICSS-EtherCAT-SLAVE 01_00_05_00更新我的所有源代码。
    感谢你的帮助
    Laurence
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    在更新 Try PRU-ICSS-EtherCAT-SLAVE 01_00_05_00时、我遇到了一个小问题!!!

    在此之前、我还更新了 PDK pdk_am335x_1_0_9、并重新构建了所有组件的库。

    然后、我从 PRU 生成了两个项目:EtherCAT_SLAVE_FULL_AM335x_ARM (使用 Beckoff 栈5.12进行补丁)和 EtherCAT_SLAVE_DEMO_AM335x_ARM。

    我想编译这两个项目并且:不可能!!!

    编译时出现相同的错误:

    我尝试调查并找到错误。

    在文件 am335x_app_pa8fg.c 中,在文件夹 am335x_release\ConfigPkg\cfg 中 ,我可以找到 indirection:

    /* Module_startupDoneFxn_C */
    _far__ const CT_ti_osal_Settings_Module_startupDoneFxn ti_osal_Settings_startupDoneFxn_C =((ct_ti_osal_Settings_Module_startupDoneFxn) 0);
    但是、如果我搜索类型 CT__ti_osal_Settings_Module_startupDoneFxn、则此类型没有定义。

    例如,在上一个命令中:

    /* Module__loggerFxn8__C */
    __far__ const CT_ti_osal_Settings_Module_loggerFxn8 ti_osal_Settings_Module_loggerFxn8_C =((ct_ti_osal_Settings_Module_loggerFxn8) 0);
    如果我为 CT__ti_osal_Settings_Module_loggerFxn8类型选择了 acrh、我可以在文件 C:\ti\pdk_am335x_1_0_9\packages/ti\osal\Settings.h 中找到它的定义:

    /* Module_loggerFxn8 */
    typedef xdc_runtime_Types_LoggerFxn8 ct_ti_osal_Settings_Module_logerFxn8;
    _extern __far__ const CT_ti_osal_Settings_Module_loggerFxn8 ti_osal_Settings_Module_loggerFxn8__C;
    #ifdef ti_osal_Settings_Module_loggerFxn8__CR
    #define ti_osal_Settings_Module_loggerFxn8_C (*((ct_ti_osal_Settings_Module_loggerFxn8*)(xdcRomConstPtr + ti_osal_Settings_Module_loggerFxn8_C_offset))))
    其他
    #define ti_osal_Settings_Module_loggerFxn8 (ti_osal_Settings_Module_loggerFxn8__C)
    #结束

    定义的所有类型的 TI 都是相同的!!!!

    Module_startupDoneFxn_C 上只有一个错误

    当然、我尝试在文件 Settings.h 中添加相同的定义:

    /* Module_startupDoneFxn_C */
    typedef xdc_runtime_types_startupDoneFxn ct__ti_osal_Settings_Module_startupDoneFxn;
    _extern __far__ const CT_ti_osal_Settings_Module_starpDoneFxn ti_osal_Settings_Module_starpDoneFxn_C;
    #ifdef ti_osal_Settings_Module_startup DoneFxn__CR
    #define ti_osal_Settings_Module_startupDoneFxn_C (*(((ct_ti_osal_Settings_Module_startupDoneFxn*)(xdcRomConstPtr + ti_osal_Settings_Module_startupDoneFxn_C_offset)))
    其他
    #define ti_osal_Settings_Module_startupDoneFxn (ti_osal_Settings_Module_startupDoneFxn_C)
    #endif

    但它当然不起作用、我在编译 osal 库时出错:

    在/ti/PDK_AM~2/packages/ti/binary/pruss_app_sorte_slave/obj/icev2AM335x/a8host/release/pruss_app_sorte_slave_configuro/packages/cfg/sorte_icev2am335x_app_pa8fg.c:43:0中包含的文件中:
    /ti/PDK_AM~2/packages/ti/osal/Settings.h:191:9:错误:未知类型名称"XDC_RUNITY_TYS_STARTupDoneFxn"
     typedef xdc_runtime_types_startupDoneFxn ct__ti_osal_Settings_Module_startupDoneFxn;

    您是否曾为这些项目进行过编译?

    成功了吗?

    您能告诉我它为什么不起作用,并帮助我解决问题吗?

    非常感谢您的帮助。

     

    Laurence

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

    你(们)好、Lawrence

    我能够顺利运行 应用程序。 但您似乎 遇到了安装问题。
    您似乎也在 e2e.ti.com/.../2412115上发布了此问题
    我已经回答了这个问题。 让我关闭这个。
    David

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

    好的 David:你可以关闭这个帖子。

    我将查看我的安装、并在另一篇文章中告诉您。

    谢谢

    Laurence