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:AM2434 拒绝服务

Guru**** 2680595 points

Other Parts Discussed in Thread: SYSCONFIG, TPIC2810

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1582054/am2434-denial-of-service-for-am2434

器件型号: AM2434
主题中讨论的其他器件: SysConfigTPIC2810

你(们)好  

根据此 LP-AM243:在 LP-AM2434 中发送更多数据包时拒绝服务 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛、 我无法禁用引导加载程序。 您能给出指定的文件夹位置吗?

 

谢谢  

Yashaswini

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

    大家好、我按如下所示更改了 SBL OSPI、并尝试刷写我们的定制电路板  

     刷写后、我收到下面显示的 UART 日志、并尝试 使用 192.168.1.1 ping 我们的定制器件、器件正在响应、但当我刷写 LP-AM2434 时、它在 UART 日志中显示 IP 地址。  

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

    尊敬的  Yashaswini:

    如  LP-AM243 中所述:在 LP-AM2434 中发送更多数据包 时拒绝服务,您是否尝试使用 SDK 9.2 中的 SBL OSPI 映像? 它是否正常工作? SBL OSPI 映像可位于: /mcu_plus_sdk/tools/boot/sbl_prebuilt/am243x-lp/sbl_ospi.release.hs_fs.tiimage

    此致、
    Pourya

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

    你好 Pourya  

    使用了 SDK 9.2 中的 SBL OSPI 映像。 我也可以刷写、但刷写应用程序后的 UART 日志是我分享的。

    为什么显示日志? 它显然应该 显示 IP 地址和版本、对吧?

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

    尊敬的  Yashaswini:

    我建议先尝试一个简单的应用程序、例如“Hello World“示例、以验证它是否能够正确启动。 如果没有问题、我们可以集中解决未打印 UART 消息的原因。

    UART 消息缺失的原因有多种:应用程序可能在早期初始化期间崩溃、或者在应用程序配置中可能只是禁用 UART 输出。

    请首先测试“Hello World“示例、以排除任何与电路板相关的问题。

    此致、
    Pourya

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

    你好 Pourya

    我尝试了简单应用“Hello World“  、并 打印 UART 消息。 但当我使用以太网 IP 示例代码时,它不打印 IP 地址和版本(如前所述)。  

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

    你好 Pourya  

    此外、在 ind_comms_sdk_am243x_09_02_00_08 中、当我们在菊花链中连接了 7 个以上的卡时、我们观察到一段时间后有几个卡失去连接。 您能看一下这个问题吗? 连接卡数是否有任何限制?

    谢谢  

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

    尊敬的  Yashaswini:

    1) 当您提到“几个卡在一段时间后断开连接“时,这是否表明连接最初是建立的,示例实际上正在运行,但只有 UART 消息停止出现? 我的理解是否正确?
    关于“断开连接“问题、我强烈建议使用较新的 SDK 版本(SDK 11 或即将推出的新版本)。 当我之前建议使用 SDK 9.2 时、它仅用于使用 SDK 9.2 中的 SBL_OSPI 引导加载程序、而不是用于应用本身。

    2) 假设您使用的是 SDK 9.2、请确认在中appTask.c、UART 写入函数已注册到 OSAL。 (在 SDK 11 中,文件名和函数名略有变化,但基础逻辑保持不变。)

    3) 确保在 SysConfig 文件和应用程序中正确选择用于打印消息的 UART 实例。 UART 实例app.c在相关行中配置。 请通过与 SysConfig 文件交叉检查来验证它使用的是正确的 UART 实例。

    当然、第 2 点和第 3 点仅在您的设备在启动时未崩溃时才相关(请先澄清第 1 点)。

    此致、
    Pourya

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

    尊敬的 Pourya:  

    我认为 Yashaswini 没有澄清这个问题。 我们有一个由 AM-2434 芯片驱动的通信控制卡,这些卡通过 RJ45 连接以菊花链方式连接(以 felicitate Ethernet/IP communication)。 我们现在所看到的是、当菊花链上的卡数量少于 10 个时、PLC 与卡之间的命令将按要求运行。 但是、当菊花链卡的数量大于 10 个时、行为并不一致。 有些卡会按指令响应某些不会(它们保持在之前的指令状态,仅在断电时停止)。 在执行代码库时、我们观察到了一些情况。  

    1.我们注意到代码中配置的邻居数设置为 10 ,这与正常工作的控制卡数一致。 这是否会限制我们向网络中添加更多控制卡并对其进行命令的能力?

    2. 我们观察到,当我们长时间运行卡(超过 10 张卡超过一小时),然后命令卡停止时,命令不会执行。 但是、当卡数小于 10 时、不会出现此问题。

     正在等待您的回复!  

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

    尊敬的 Yash:

    Pourya 是不在办公室,直到周末。

    请预计下周将做出回复。

    此致

    Ashwani

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

    尊敬的 Yash:

    感谢 您提供更多详细信息。

    根据您所描述的情况、问题似乎与 LLDP 配置错误(最大邻居设备数)有关。 必须将此设置设置为网络上的最大预期节点数。 否则、可能会导致存储器损坏并最终崩溃(这就是某些器件稍后没有响应的原因)。  
    为确保这是根本原因、请将此值设置为大于 10 的某个数字(例如 12-13)、然后让我知道您的测试结果。

    此致、
    Pourya

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

    尊敬的 Pourya:  

    我们确实更改了该值、目前设置为 20、我们已在菊花链中连接了 15 张卡。 但观察到的行为是相同的、其中一些卡响应、而有些卡不响应 PLC 命令。  

    此致、  

    Yash Mehta.

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

    尊敬的 Yash:

    我有几个问题:

    1. 您的工程使用哪个 SDK 版本 (SDK 11 或 SDK 9.2)? 请提供完整的 SDK 版本号(例如 09.02.00.24)。

    2. 哪些节点首先出现故障? 位于远离 PLC 的节点是否受到更大的影响(即 PLC 与器件之间节点更多的节点)、或者故障模式是否呈随机模式?

    3. 您的项目的内存消耗是多少? 编译工程时、会生成.map 文件;请共享此文件。

    4. 关于内存消耗、在工程的 SysConfig 文件中是否正确配置了堆和栈大小? 如果可能、还请提供 SysConfig 文件。

    5. 我假设您的 PLC 使用隐式和显式消息与每个节点交换数据。 隐式消息的 I/O 周期时间是多少?I/O 数据的有效负载大小是多少?

    此致、
    Pourya

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

    你好 Pourya Eskandari ,  

    这是 红色的反应

    1) 您的工程使用哪个 SDK 版本 (SDK 11 或 SDK 9.2)? 请提供完整的 SDK 版本号(例如 09.02.00.24)。
     答案:  
         a) 试用 SDK ind_comms_sdk_am243x_09_02_00_08 和 SBL 09_02_00_08。 EDS-3.7 版本
        不能使用 10 张以上的卡片

        b) 尝试使用 ind_comms_sdk_am243x_11_00_00_13 和 sblmcu_plus_sdk_am243x_11_00_00_15、eds 版本 3.9: 我们无法与以菊花链方式连接的 2 个设备通信。

     

    2) 哪些节点先出现故障? 位于远离 PLC 的节点是否受到更大的影响(即 PLC 与器件之间节点更多的节点)、或者故障模式是否呈随机模式?

      节点随机出现故障、在某些情况下、连接在 PLC 旁边的节点出现故障。

     

    3 和 4:  附加配置文件。 我们使用 TI 提供的标准工程配置文件。  e2e.ti.com/.../SDK9.00.8_5F00_Proj.zipe2e.ti.com/.../SDK11.00.08_5F00_Proj.zip

     

    5) 我假设 PLC 使用隐式和显式消息与每个节点交换数据。 隐式消息的 I/O 周期时间是多少?I/O 数据的有效负载大小是多少?

    我们正在使用包含 20RPI 的隐式消息传递。 约 128 字节的数据。  

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

    尊敬的 Yash:

    我注意到您将 I2C 用于 LED 驱动器 (TPIC2810)。 是否有从主任务调用的用于访问 LED 驱动器的 API? 我问这个问题是因为 I2C 驱动程序已知存在稳定性问题、可能导致 API 挂起、进而阻止主任务执行。 若要排除这是影响因素、请在运行时禁用(或注释掉)所有对 LED 驱动器的调用以进行调试。

    关于您的 SDK 版本、如果您计划继续使用 SDK 9.2、我强烈建议升级到版本 09.02.00。 24 、因为它包括 Ethernet/IP 版本 3.07.07 的重要错误修复。
    此外、SysConfig 文件中配置的堆和栈大小可能不足。 请将堆大小从 131072 增加到 153600。
    为了正确确定根本原因并避免猜测、我将需要来自故障节点的 UART 日志、从启动到它们无响应为止。 这些日志对于准确找出实际问题非常有用。

    最后、发生问题通常需要多长时间? 它是仅在长期测试中观察到的、还是可相对较快地重现?

    此致、
    Pourya

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

    您好、Yash

    节点随机出现故障、在某些实例中、连接在 PLC 旁边的节点出现故障。
    1. 菊花链中发生故障节点后连接的节点的状态是什么? 它们是否响应控制器? 这是为了排除由于 PRU 固件而导致的任何转发停滞。
    2. 发生故障后、是否有任何与故障节点的通信工作、例如 Ping、ListIdentity? 这将澄清通信是否存在一般问题或仅针对 EIP IO 数据。
    3. 您是否有任何 LED 可以用作由 R5F 端定期任务控制的心跳 LED? 这会告诉我们 R5 应用是否完全崩溃。 如果您能够将 XDS110 调试器连接到电路板并使用 CCS 中的“Memory Browser“视图、检查是否更容易。
    4. 什么是网络流量配置文件 — 除 EIP 消息外、 您在网络中还有哪些其他数据包? 设置是否连接到另一个网络、这可能导致广播/多播泛洪情况 — 使节点无法响应。
    尝试使用 ind_comms_sdk_am243x_11_00_00_13 和 SBL mcu_plus_sdk_am243x_11_00_00_15、eds 版本 3.9: 我们无法通信 2 个以菊花链方式连接的设备。
    1. 这种情况在 100%的时间内都能重现吗? 如果是、您是否可以使用 AM243x-LP 来重现该行为? 如果双方都有相同的硬件、调试会容易得多。

    此致
    Archit  

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

    Archit Dev 在这里是中的响应 红色。  

    1. 菊花链中发生故障节点后连接的节点的状态是什么? 它们是否响应控制器? 这是为了排除由于 PRU 固件而导致的任何转发停滞。 答案:在菊花链出现故障节点后、节点仍然正常工作、并对 PLC 命令做出响应。
    2. 发生故障后、是否有任何与故障节点的通信工作、例如 Ping、ListIdentity? 这将澄清通信是否存在一般问题或仅针对 EIP IO 数据。 答:没有来自故障节点的响应。  
    3. 您是否有任何 LED 可以用作由 R5F 端定期任务控制的心跳 LED? 这会告诉我们 R5 应用是否完全崩溃。 如果您能够将 XDS110 调试器连接到电路板并使用 CCS 中的“Memory Browser“视图、检查是否更容易。 答:目前我们没有任何这类规定。  
    4. 什么是网络流量配置文件 — 除 EIP 消息外、 您在网络中还有哪些其他数据包? 设置是否连接到另一个网络、这可能导致广播/多播泛洪情况 — 使节点无法响应。 答:当前设置没有其他设备。 我们是一个专用网络,只有 PLC 和大约 15-16 EIP 控制卡在菊花链.

    Archit 开发  

    1. 这种情况在 100%的时间内都能重现吗? 如果是、您是否可以使用 AM243x-LP 来重现该行为? 如果双方都有相同的硬件、调试会容易得多。  

      答:正如 Pourya 建议我们迁移到 SDK 09_02_00_24、我们观察到一些卡失去通信的类似问题。  但是、在删除 cust_drivers.c 中调用的 I2C 通信“SOC_DAC_GET_SPEED"后“后、我们观察到所有卡都正常运行、因为我们运行了将近 4 小时。 目前是  需要为我们的 DAC 利用 I2C 通信。 是否有任何解决方法来解决此问题? 等待您的回复。

      此外、我来联系我们的工程团队、看看我们是否可以使用 TI 的实用硬件、但将其运送到任何地点都需要获得批准、这可能需要一些时间、而且我们目前速度紧迫。  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Yash:

    如果我正确理解、为 MCU+SDK 提供具有 I2C 修复功能的补丁的活动将与该主题分开进行。
    如果您遇到我可以提供帮助的任何其他问题(I2C 除外)、请告诉我。
    同时、如果正如离线讨论的那样、任何节点发生了任何问题、UART 日志将非常有助于确定根本原因。


    此致
    Pourya