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.

[参考译文] EK-TM4C1294XL:TM4C1294

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/680501/ek-tm4c1294xl-tm4c1294

器件型号:EK-TM4C1294XL

大家好、
我们围绕 TM4C1294及其以太网接口开发了不同的器件。 我们在没有操作系统的情况下使用了 LWIP 堆栈库、并且器件非常稳定。
但是、在大型基础设施 LAN 上测试设备时、我们在网络接口上遇到了一个奇怪的故障。 网络接口断开连接并拒绝  
起来。 ping 和用于与设备通信的其他网络端口没有响应。
所有其他功能仍然有效(传感器和显示器)、但 LAN 没有任何答案。
必须关闭和打开器件以解决问题。 我们尝试将设备限制在 VLAN 中、它解决了问题、但无法应用于实际安装。
在 同一子网上连接的 Microsoft OS 请求的大量数据和广播似乎使 TM4C1294由于溢出或我们不知道的其他原因而导致无法恢复的错误。  
您是否曾遇到过相同的问题?  

谢谢、致以诚挚的问候
Maurizio

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Maurizio、
    您能否检查 EMACSTATUS 和 EMACDMARIS 寄存器? 您是否看到设置了任何错误标志? 如果是、设置了哪些项?
    您是否可以将两个 TM4C129器件置于同一广播域中? 当 MS OS 发送大量广播帧时、两者是否会看到相同的问题? 还是只有一个会失败?
    我还建议您将相同的问题发布到 LwIP 论坛、看看是否有人遇到过类似的问题、以及如果问题与堆栈相关、如何解决。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢 Charles、

    否、我从未检查 EMACSTATUS 和 EMACDMARIS 寄存器。

    是的、我们在同一区域恰好有两台设备、但客户说它们位于不同的子网。 因此、一个正常工作、另一个在"未定义"条件后冻结网络时钟活动。

    我将尝试在您建议的论坛上发布相同的问题、希望这有助于我解决问题。

    同时、如果您有其他建议、我会向您推荐。

    谢谢、致以诚挚的问候

    Maurizio

     

     

     

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

    是否可以问,"Stefania"是否作为(赦免)"诱饵"."。 在 Maurizio 的时候,“在(到目前为止)无鱼线中播下然后卷带?”

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

    不、我们为什么要这么做?

    我们在同一办公室有两个不同的帐户。 "Stefania"是我的同事、我们也在同一个项目中。

    我们不想像“诱饵”一样使用此帐户。。 (为什么???)    

    我们都在尝试解决一个问题,我是使用她帐户的软件开发人员,因为我忘记了我的帐户...... 就这些。 现在 、有人可以帮助我们吗?  

    我发现在 LWIP 1.4.1上、TI 发布了    一个名为 Tiva-tm4c129.c 的 PBUFF 存储器泄漏补丁、路径为: /third_party/lwip-1.4.1/ports/Tiva-tm4c129/netif/TIVA-tm4c129.c"

    现在器件正在接受测试。但 在另一个使用旧堆栈1.3.2的产品上、我们也遇到了相同的问题 、我们也面临相同的问题: 当连接到大型网络时,随机地,TCP 停止工作,必须关闭并打开设备。

    似乎是相同的 PBUFF 问题。

    有什么建议吗?

    谢谢、致以诚挚的问候

    Maurizio (和 Stefania)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Maurizio、
    切换到 lwip 1.4.1后的结果是什么? 它会产生什么影响吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的观点-以及(可能失败)尝试(轻微)幽默-是供应商代理被"教"、"回复海报的名称"-和两个名称(可能)-及时-导致混淆!   尤其是当"不同"供应商代理到达时、"现场"。

    您的解释是(最有效的)-而不是我(曾)考虑过的一个。。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    :-)你是对的...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的夏尔,1.4.1看起来很稳定,但很难模拟大型网络上发生的情况。 首先,当出现问题时,我们无法重现具体情况。 我们已尝试使用网络模拟器将设备(LWIP 1.3.2和1.4.1)与大量垃圾数据进行轰炸。 此外、将旧集线器置于环路中、只是为了创建到微接口的高随机数据流、但它具有抵抗力、并且非常稳定。
    今天、我们的客户说该问题再次发生(但在 LWIP 1.3.2器件上)、这证实了该问题由环境负责。 将设备连接到同一子网,该子网中有300多台 PC (装有 Windows 7-10),并且无法创建 VLAN 来限制网络流量。 所以我很沮丧。 这是因为问题是随机的、但非常重要、因为器件充当生产线数据收集器、当 TCP 挂起时、所有数据都会丢失、因为我们需要关闭并再次打开器件、因为堆栈在软件复位后也无法重新启动。 Windows PC 是否可能生成将 LWIP 承载到循环中的多播或广播数据包?

    请帮帮我!
    谢谢、致以诚挚的问候
    Maurizio
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Maurizio、
    您是否有机会读取 EMACSTATUS 和 EMACDMARIS 寄存器?

    根据您的描述、1.4.1比1.3.2更稳定、即使您在自己的环境中看不到任何故障。 看起来您的客户也尝试过1.4.1、没有发现任何问题。 是这样吗? 只有1.3.2遇到了该问题。 您能否在客户端将故障设备固件从1.3.2重新编程到1.4.1。 这将证明堆栈版本是否在此处发挥作用。 如果是这种情况、那么可能是与堆栈相关的问题、我希望 LwIP 论坛能够提供一些指导。

    太多广播/多播消息肯定会阻塞网络。 这是一个网络管理问题、客户终端的 IT 部门可以考虑这一问题。 我不确定连续广播消息会如何影响
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    晚上好、Charles。

    现在 、同一个 LAN 上有2个设备(一个为1.4.1、另一个为1.3.2)、两个设备都工作正常、因此我无法知道 1.4.1是否比1.3.2更好。 我需要等待问题的评估。

    同时 、我将修改固件以在 LCD 上打印 EMACSTATUS 和 EMACDMARIS 寄存器(这是因为一旦发生问题 、就无法通过网络接口读取器件)

    您是否知道一个有效的工具来传播 UDP 和 TCP 流量,以尝试在我们的实验中模拟在不同端口(多播、广播等)上生成流量的问题?

    应用程序非常简单:

    -TCP 套接字正在侦听端口4001,等待16字节命令字符串

    -连接被接受时,软件使用16字节的数据进行应答

    -设备已关闭连接。

    此周期每分钟重复一次。

    端口80上的另一个待处理项是打开的,允许运行小型 Web 服务器进行设备配置。

    在这种情况下,设备也处于监听状态。

     


    谢谢、致以诚挚的问候

    Maurizio

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个问题 Charles、
    在论坛上搜索发现有人有类似的问题:

    -在 TM4C1294XL LaunchPad 上使用 lwIP 的应用程序在4-5天后停止工作

    似乎他的应用程序在一段未定义的时间后停止响应、有人建议检查是否禁用了 tcp_udp 标志。

    如果定义 UDP、则默认情况下始终启用。 因此、如果我在 lwipopts.h 上指定不想使用它、"opt.h"会覆盖我的设置、默认情况下将其设置为1。

    因此,如果我尝试将"opt.h"上的默认设置从1更改为0,则在编译时会收到与"dhcp.c"文件相关的错误。 因此无法禁用它!

    这意味着 UDP 套接字始终正常工作。 如果从未定义要侦听的端口、则 brodcast 也可以填充 UDP 缓冲区并创建内存泄漏或未定义状态?

    我已禁用使用 UDP (定位器和更新)的所有相关例程...

    你怎么看?

    此致

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

    Maurizio、
    正确的做法是,DHCP 发送的第一条消息是发现哪条消息是广播消息,因为客户端不知道 DHCP 服务器的 IP 地址是什么。 由于 TCP 不支持广播、因此使用 UDP。

    EMAC 模块具有可用于过滤广播消息的滤波器、但我不确定这是否是实验用的内容。 如果您怀疑内存泄漏、我建议尝试增大堆大小、看看这是否会产生影响。 您可能希望查阅 LwIP 论坛、了解它们如何更好地管理堆内存。

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

    您好、Charles、

    明天、我将尝试调查 UDP 套接字、希望找到触发错误的内容。 我需要生成多个广播以强调 DHCP。

    我会随时向您提供最新信息。

    谢谢、致以诚挚的问候


    Maurizio