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/AM4377:具有 EtherCAT 示例代码的不同.xml 文件

Guru**** 2611705 points
Other Parts Discussed in Thread: AM4377, SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/582501/rtos-am4377-different-xml-file-with-ethercat-sample-code

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

工具/软件:TI-RTOS

我已成功使用 EtherCAT 进行 EEPROM 仿真(在 QSPI ROM 上)、

但另一个.xml 文件在引导时无法正常工作。

我发现问题的位置是"while (u16PdiCtrl!= 0x80);(in hw_Init() of tischw.c)"。

这意味着"u16PdiCtrl"为0x80、但另一个.xml 文件具有0x08。(即使我使用 TI_ESC.xml)

什么是"u16PdiCtrl"值? 我是否可以将另一个.xml 文件与 EtherCAT 示例代码一起使用?

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    EtherCAT 专家已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yong-kYoung、从\ecat_appl\EcatStack\itieschw.c 文件中、我看到 u16PdiCtrl 位于 do-while 循环中、等待 ESC 启动。 您的新.xml 是否基于 TI 的? 如果是、您进行了哪些修改? 您是否在 XML 记事本中打开了新的.xml 以检查正确性? 如何将 XML 文件上传到 EEPROM?

    谢谢、
    Paula
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已在"TI_ESC.xml"中上传"AM4377/4379 Drive"。
    该映像的第一个字节中有0x05、但第一个字节的 EtherCAT 代码示例中有0x80 (Full-Feature、'ities_EEPROM.h')。
    上载二进制文件并重新引导后、初始化卡在该 do while 循环中。
    上传由 TwinCAT2、"ESC Access"和"上传"二进制检查完成。
    因此、我想知道第一个字节中的该值。 因为我将使用公司使用的另一个.xml 文件。
    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,EEPROM 二进制 PDI 控件(EEPROM 二进制中的前两个字节-对应于寄存器0x140和0x141)需要与栈所需的值相匹配,如果不是代码只需循环即可。

    从 ESI EEPROM 配置文档中、我看到如果选择了"SPI"、寄存器0x140将获得0x05、 "uController 异步16位"将0x140分配到0x08。

    解决此问题的一种方法可能是将 SYSBIOS_IND_SDK_02.01.03.02\SDK\PROTOCOS\EtherCAT_SLAVE \ecat_appl\ESI\TI_ESC.xml 转换 为二进制文件、然后生成"ities_EEPROM.h"。 最后一步、重建。 以下链接中的说明

    从 ESI xml 生成 ESI 头文件

    另一种方法是  使用 TwinCAT 生成 EEPROM 二进 制文件(如前所述)、并找到一个工具将该二进制文件转换为 XML、进行更改并将其转换回。 可能存在类似这样的工具。 但是,我个人并不知道任何情况。 如果您找到了一个、请告诉我。

    第三个选项是 更改堆栈"hw_Init"函数(itichw.c)以匹配 ESI EEPROM 设置。 但是、您必须小心、您的配置是合理的、 并且是正确的。。。。

    第四个选项、更改 EEPROM 二进制标头(前7个字)以匹配 TI 的 EEPROM 二进制文件。

    我只是附加了几个快照供您参考、不是您需要匹配的快照、而只是为了拥有和想法...

    TI EtherCAT 从站 EEPROM 二进制示例:

    ET1100配置 ESI EEPROM 标头示例

    希望这对您有所帮助、谢谢您、

    Paula