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.

[参考译文] AM2434:FoE(通过 EtherCAT 进行文件访问)无法按预期工作。

Guru**** 2688045 points

Other Parts Discussed in Thread: IND-COMMS-SDK

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1571646/am2434-foe-file-access-over-ethercat-doesn-t-work-as-expected

器件型号: AM2434
主题中讨论的其他器件:IND-COMMS-SDK

工具/软件:

您好、

客户尝试通过工业通信 SDK 中包含的 EtherCAT (FoE) 访问文件、但未能获得预期的结果。 你能帮助回答他们在下面的问题吗?

 

来自客户--------------------------------------------

我遵循了 C:/ti/motor_control_sdk_am243x_11_00_00_06/ind_comms_sdk/docs/am243x/ethercat_subdevice/_fo_e_page.html 中描述的步骤、然后得到了意外结果。 有关详细信息、请参阅下文。

 

C:\ti\ind_comms_sdk_am243x_11_00_00_08\examples\industrial_comms\EtherCAT_subdevice_demo\device_profiles\401_simple\am243x-lp\r5fss0-0_freeRTOS

 

我关注:

C:/ti/motor_control_sdk_am243x_11_00_00_06/ind_comms_sdk/docs/am243x/ethercat_subdevice/_fo_e_page.html

 

“下载文件和上传的文件包含在随附的 zip 文件中。

e2e.ti.com/.../F337CC24.zip

-下载文件: this_is_a_test_file.txt

-上传的文件: result.txt“

 

“文件 this_is_a_test_file.txt 和 result.txt 不同。

我希望文件应该相同。“

 

“在我的调试中、foeFileHeader 似乎写得正确、但文件内容失败。 根据原始示例 NVM.c、ESL_foeDemo.c 修改了 2 个文件、这些文件也包含在.zip 中。 如您所见、一些日志输出被添加。 其产出如下:

 

-下载

```μ s

EC_SLV_APP_foe_FileOpen():pname=test、nameLen=4、isRead=0、password=0x0

EC_SLV_app_foe_FileWrite():size=19

EC_SLV_app_foe_FileClose():errorCode=0x0

NVM_APP_WRITE_():id=0、偏移=2097408、length=20、forceErase=1

74 68 69 73 5F 69 73 5F 61 5F 74 65 73 74 5F 66

69 6c 65 00

NVM_APP_WRITE (): id=0、偏移=2097152、长度=44、强制擦除=1

00 00 00 00 14 00 00 01 01 04 74 65 73 74 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00

```μ s

 

-上传

```μ s

EC_SLV_APP_foe_FileOpen():pname=test、nameLen=4、isRead=1、password=0x0

NVM_APP_READ():id=0、偏移=2097152、长度=44

00 00 00 00 14 00 00 01 01 04 74 65 73 74 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00

EC_SLV_APP_foe_fileRead (): size=1012, fileOffset=0

NVM_APP_READ():id=0、偏移=2097408、长度=19

FF 和 FF FF 和 FF FF 和 FF FF

FF 和 FF

```

------------------------------------------------

 

你能帮助他们提供任何建议吗?

 

 

谢谢。此致、

英明

 

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

    你好、松本秀明、

    TI EtherCAT 401 简单演示示例支持文件上传/下载、无需任何其他代码修改即可工作。 在您的情况下、问题 在于 NVM.c 和 ESL_foeDemo.c 文件中添加了额外的打印循环。 API NVM_APP_WRITE () 和 NVM_APP_READ () 中的这个打印循环会产生额外的延迟并导致 TwinCAT 中的超时。

    for(int i=0 ; i<length ; i++) {
        uint8_t* p = (uint8_t*)pData;
        OSAL_printf("%02x ", p[i]);
        if(i % 16 == 15) {
            OSAL_printf("\r\n");
        }
    }
    OSAL_printf("\r\n");

    请删除添加的所有打印循环并再次测试。

    此致、

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

    尊敬的 Harsha:

    感谢您的提议、很抱歉我们延迟了回复。 客户 在没有对 ind_comms_sdk_am243x_2025_00_05 的 ethercat_subdevice_simple_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang 进行任何修改的情况下再次尝试。 然后、发生错误。 详情请见下文。

    - ind_comms_sdk_am243x_2025_00_00_05
    -无需任何修改即可构建 ethercat_subdevice_simple_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang。
    -下载并运行(调试模式)没有断点。
    -按照中描述的步骤进行操作:
    - file:///c:/ti/ind_comms_sdk_am243x_2025_00_00_05/docs/am243x/ethercat_subdevice/_fo_e_page.html
    -部分:文件下载
    他们在具有 20 字节文本文件的 TwinCAT 上收到错误:
    你有什么想法来解决这个错误?
    谢谢。此致、
    英明
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hi Hideaki、

    是的。 通过 FoE 下载较小的文件(<256 字节)时、我能够重现超时问题、并且我已共享补丁以通过邮件修复此问题。

    此致、

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

    尊敬的 Harsha:

    非常感谢您分享补丁文件。 他们通过了超时错误、谢谢。

    但是、这种状况略有改变。 请您在下面再次提供帮助。

    从客户处、
    ----------------------------------------------------------------------------------------  

    我在没有对 ind_comms_sdk_am243x_2025_00_05 的 ethercat_subdevice_simple_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang 进行任何修改的情况下再次尝试。 然后、发生错误。

    下载文件和上传的文件不匹配。 详情请见下文。

     

    - ind_comms_sdk_am243x_2025_00_00_05

    -无需任何修改即可构建 ethercat_subdevice_simple_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang。

    -下载并运行(调试模式)没有断点。

    -按照中描述的步骤进行操作:

    - file:///c:/ti/ind_comms_sdk_am243x_2025_00_00_05/docs/am243x/ethercat_subdevice/_fo_e_page.html

    -部分:文件下载

     

    我在 TwinCAT 上得到一个包含 20 字节文本文件的错误:

      

    由于 TwinCAT 上邮箱的超时设置更改为更长、因此传递上述错误(超时错误)。  

     

    “Download.txt"下载“下载到评估板。 然后、文件上载并保存到“upload.txt"。“。

    预期结果是“Download.txt"与“与“upload.txt"相同“相同。 但它们是不同的。 “download.txt"和“和“upload.txt"的“的内容如下所示:

     

    C:\Users\yuuba\Documents\work>hexdump -C download.txt

    00000000 74 68 69 73 20 69 73 20 61 20 74 65 73 74 20 66        |这是一个测试 f |

    00000010 69 6c 65 2e                                      | ile。 |

    00000014

     

    C:\Users\yuuba\Documents\work>hexdump -C uploaded.txt

    00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff FF 和 FF FF 和 FF FF                      |.... |

    00000010 ff ff ff ff ff ff ff ff f ff                                         |... |

    00000014

    ----------------------------------------------------------------------------------------  

    谢谢。此致、

    英明

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

    Hello Hideaki、

    感谢您确认故障超时问题已解决。 不幸的是,我不能在我这边重现这个问题 您能否分享客户正在测试的二进制文件?

    由于 TwinCAT 上邮箱的超时设置更改为更长、因此传递上述错误(超时错误)。  [/报价]

    请确认是否已将补丁应用于 ind-comms-SDK?

    此致、

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

    尊敬的 Harsha:

    感谢您的答复。

    感谢您确认 foe 超时问题已解决。 不幸的是,我不能在我这边重现这个问题 您能否分享客户正在测试的二进制文件?

    您需要哪种二进制代码? 他们的测试应用代码? 正在下载文件? 或两者都有?

     

     

    请确认该补丁是否已应用于 ind-comms-SDK?

    没有、他们没有。

    谢谢。此致、

    英明

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

    Hello Hideaki、

    您需要哪种二进制文件? 他们的测试应用代码? 正在下载文件? 或两者兼有?

    请分享他们正在测试的 EtherCAT 子设备 401 简单示例二进制文件。 请应用我之前分享的补丁并尝试重现此问题。  
    我正在申请他们的二进制文件、因为使用 我在本地构建的 EtherCAT 子设备 401 简单示例、我最终无法重现此问题。

    我还将通过在我的端测试的驱动器共享二进制文件  

    此致、