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.

[参考译文] AM2432:将 ICSS_fwhal Lib 文件替换为源文件导致 EtherCAT 无法进入 OP

Guru**** 2463730 points
Other Parts Discussed in Thread: AM2432

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1472087/am2432-replace-icss_fwhal-lib-file-with-source-file-cause-ethercat-cannot-enter-op

器件型号:AM2432

工具与软件:

尊敬的 TI 专家:

客户正在使用 AM2432 SDK9.0。

他们使用以下默认 ICSS_fwhal 源文件来替换此库文件。

ICSS_fwhal 库文件替换为源文件后、他们重新编译源文件并将其添加到下面的项目中。

但是、在这么做之后、他们的 EtherCAT 无法再进入 OP、并且 PHY 的 LINKSTA LED 会保持闪烁(之前、如果不将 ICSS_fwhal lib 文件替换为源文件、则是正常工作的文件)。

客户不知道为什么、是否因为我们的默认 ICSS_fwhal lib 文件版本与源文件不同?

谢谢!

Kevin

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

    尊敬的 Kevin:

    为了确保加载 EtherCAT 固件、您是否可以根据客户的设置在寄存器0x30090000中提供值? 该寄存器值将提供 EtherCAT 固件版本。 另请在寄存器0x30090134中提供值。

    有关上述寄存器值的详细信息、请参阅以下文档: TI EtherCAT 子器件控制器寄存器列表

    此致、
    亚伦  

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

    大家好、Aaron:

    感谢您的回复、客户最近进行了更多测试、最终发现此问题与编译器优化配置相关。

    1: 如果优化为 O0

    结果: EtherCAT 可以正常进入 OP、没有任何问题。

     0x30090000和0x30090134的寄存器值如下所示。

    2:  优化为 O2

    结果:  程序将在 bsp_init()函数(如下所示)崩溃、且 EtherCAT 无法进入 OP。

     如下所示、0x30090000和0x30090134的寄存器值均为0。

    您能否为客户提供一些建议、说明为什么会发生这种情况?

    谢谢!

    Kevin

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

    感谢 Kevin 老师的讲解。

    当进行优化时  O2 ,应用程序在 bsp_init()中出现故障,因此固件未加载,因此 EtherCAT 通信失败。 我将尝试从我这边重现这一点、进一步调查可能出现的问题。

    此致、
    亚伦

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

    尊敬的 Kevin:

    有关问题重现的快速更新:

    2:  优化为 O2 [报价]
    • 您在这里指的是项目的优化?
    • 任何投入 O2  并更改的优化 将 icss_fwhal 更改为 O0 、未观察到应用程序崩溃。 我必须进一步检查优化设置、看看这是否为预期行为。

    此致、
    亚伦

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

    大家好、Aaron:

    感谢您的答复。

    客户发现解决此问题的关键是增加堆栈大小。 之后  增加 Task1的堆栈大小 、并更改的优化 将 icss_fwhal 更改为 O0 、未观察到应用程序崩溃。

     Kevin

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

    尊敬的 Kevin:

    将 ICSS_fwhal 设置为 O0不是一个好的配置。 建议将毛脂保持在 O2本身。 我们目前正在了解应用导致 O2中的 ICSS_fwhal 崩溃的原因。

    此致、
    亚伦