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.

[参考译文] MSP432E411Y:无法使用 tcpecho 通过以太网进行通信

Guru**** 663810 points
Other Parts Discussed in Thread: MSP432E411Y, MSP-EXP432E401Y, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1194327/msp432e411y-cannot-communicate-over-ethernet-using-tcpecho

器件型号:MSP432E411Y
主题中讨论的其他器件: MSP-EXP432E401YSysConfig

您好!

在配备 MSP432E411Y 的定制电路板上、以下示例代码已针对 MSP432E411Y 进行了更改并确认了操作。

C:\ti\simplelink_msp432e4_SDK_4_20_00_12\examples\rtos\MSP_EXP432E401Y\ns\tcpecho/tirtos\ccs

打开 tcpecho.syscfg、默认为 DHCP 设置、如上所示。 因此、我仅更改了 MAC 地址设置、通过网络交换机将运行 openDHCP 服务器的 PC 连接到定制板、然后运行程序。 因此、控制台输出如下所示、应该由 DHCP 自动获取的 IP 地址没有输出、并且在一段时间后出现故障。

此外、由于我们希望使用定制电路板上的静态 IP 地址执行以太网通信、因此我们在 tcpecho.syscfg 中设置静态 IP 地址。 当我运行程序时,我得到了以下控制台输出:我确认 tcpHandler 函数的 NDK_accept ()继续等待外部的连接请求。 因此,我发出了一个连接请求从 PC 到静态 IP 地址的端口1000,但我不能得到接受(),连接请求未被接受。

您能给我一些解决问题的建议吗?

谢谢。

Eevee

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

    尊敬的 Eevee:

     您可以在 LaunchPad 上尝试库存示例吗? 我在 MSP-EXP432E401Y LaunchPad 上尝试了 tcpecho_MSP_EXP432E401Y_tirtos_ccs 示例、结果如下。 我能够从 DHCP 服务器获取 IP 地址。 我还在 PC 端打开客户端应用、可以将数据发送到服务器并回传消息。 请执行以下操作:

    -首先尝试在您网络上的 LaunchPad 上的示例。 因为它对我起作用 、所以我们知道这个例子应该起作用。 如果它不起作用、则表示您的网络存在问题。 可能存在防火墙或您的 DHCP 服务器未响应请求。

     -使用 Wireshark 来了解 MCU 是否正在发送 DHCP 请求,以及 DHCP 服务器是否正在确认请求。  

     -检查您的网络,如果在 LaunchPad 上运行的常用示例不工作,请尝试另一个网络。  

     -如果您可以使 LaunchPad 在您的网络上成功工作,那么您可以转到您的定制板。 这样就更容易隔离问题。 检查 MAC。 您是否有合适的 MAC。 您可以在 Tools->On-Chip Flash 下从 CCS 中读取 MAC 地址。  

     -您可能需要将您的自定义电路板原理图与 LaunchPad 进行比较。 您能发现任何明显的差异吗?

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

    您好、Charles

    我通过网络交换机将构建 openDHCP 服务器和 LaunchPad 的 PC (设置为 IP:192.168.0.1)连接到 LAN、并执行示例代码。

    因此、我得到了以下终端输出、LaunchPad 能够自动从 DHCP 获取 IP:192.168.0.2、并传递 ping 命令。

    但是、在这之后、即使 PC 使用端口1000向 LaunchPad (IP:192.168.0.2)发送了连接请求、连接状态似乎仍在继续、并且在套接字接受阶段不被接受。 我已经附加了此执行的 Wireshark 日志。

    在日志的第16行中、PC 端(IP:192.168.0.1)通过端口1000向 LaunchPad (IP:192.168.0.2)发出请求。 在查看此日志时、您有什么注意到的地方吗?

    谢谢。

    Eevee

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

    您好!

     我在您的 Wireshark 中没有看到任何 Telnet 应用程序。 您是否正在向服务器发送任何数据。 客户端应将数据发送到服务器、以便服务器回显相同的数据。  

     -您使用什么客户端应用程序将数据发送到服务器(the LP)?  

     -您可以尝试其他网络,如您的家庭网络吗?

     -您可以尝试像 Hercules 这样的客户端实用程序吗? 您可以在 https://www.hw-group.com/software/hercules-setup-utility?multilink=switch 上找到下载内容

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

    您好、 Charles

    感谢您的答复。

     -您使用什么客户端应用程序将数据发送至服务器(LP)?  [/报价]

    我当前使用的应用程序是 Tera Term。

     -您是否可以尝试不同的网络,如您的家庭网络?

    我用不同的网络进行了测试、情况是一样的。

     -您可以尝试像 Hercules 这样的客户端实用程序吗? [/报价]

    我下载了 Hercules 并进行了验证、但出现了一个超时错误、如下面的屏幕所示。

    我将向您发送我构建的示例代码。 您能否确认一下以防万一?

    谢谢。

    Eevee

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

    您好!

     您是否尝试过 SDK 附带的不修改的原始示例?

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

    您好!

     为什么不试试我运行的项目? 我刚运行附件中的项目、它很适合我。 首先、将.out 文件目录加载到闪存中并运行它。 您能看到什么区别吗? 之后、将每个文件与您拥有的文件进行比较。 请确保您有正确的 SDK 版本。 我使用的 SDK 版本是 simplelink_msp432e4_SDK_4_20_00_12。

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

    您好、 Charles

    使用"5381.tcpecho_MSP_EXP432E401Y_tirtos_ccs"时、当我将.out 文件加载到闪存并尝试运行时、连接超时与之前的现象相同。请告知我接下来是否应该检查什么内容、或者您是否有任何建议。

    谢谢。

    Eevee

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

    尊敬的 Eevee:

     我没有想法。 我在 LaunchPad 上运行相同的.out、没有问题。 您是否有其他电路板需要检查? 您是否有另一台 PC 要检查? 是否可以更改以太网电缆? 我真的不知道为什么它不对你有效,当它只是对我的工作,现成的.  

     我也给你一个提示。 我在度假直到下周三、我的回复将会延迟。  

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

    您好、Charles

    LaunchPad 上是否有需要更改的跳线或开关? 我手头只有一个 LaunchPad。 我将更改 PC 和以太网电缆并进行测试。

    谢谢。

    Eevee

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

    您好、 Charles

    为确保正确、我从上面拍下了 EVM 的照片、以检查 EVM 上跳线的设置。

    此外、我更换了 PC 和以太网电缆、但问题仍未解决。

    谢谢。

    Eevee

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

    您好!

     "对不起,我是被你撞见的。"  

     您有哪种 SDK 版本? 请参阅下面的我使用的内容。  

     您能否再次下载并安装 SDK 版本?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我更换了 PC 和以太网电缆,但问题仍未解决。

    我认为跳线没有问题。  

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

    您好!

    几年前、我用 tcpecho 演示作为起点。 您只需考虑以下几点:

    由于 DHCP 工作正常,这表明网络电缆和以太网电缆基本良好。

    该示例将会配置显示器(由 Display_printf 使用)以使用调试器反向通道 UART (通过 调试器连接到 PC 上的虚拟 COM 端口的 UART 编号1)。 示例项目中的 README.html 介绍了如何连接 Putty 以在 PC 上查看来自虚拟 COM 端口的调试输出、因此我很惊讶地看到它会从控制台上输出。

    README 还介绍了如何运行 Python 脚本以发送格式正确的 TCP 数据包、该数据包应在演示应用程序中回传。

    据我所记得的、tcpecho 演示是开箱即用的-无需更改跳线。

    也许样例项目自我使用以来已经更新过、但这对我很有效!

    希望这对您有所帮助。

    吉姆

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

    您好、Jim、Chaeles

    我想整理要采取的步骤。
    1.安装 DHCP 服务器并构建 DHCP 服务器。
    (您没有指示此步骤、而是1。 必要?)
    2.导入项目。
    3.在工程中从 SysConfig 更改 MAC 的 MAC 地址。
    (对于 MAC 地址、我应该在"Tools->On-Chip Flash?"下的 CCS 中输入读取值吗?)
    4.按调试按钮启动程序。
    5.使用 Hercules 设置 TCP 客户端字段中的模块 IP 和端口。 (我应该在模块 IP 和端口中输入什么?)

    执行这些过程后、"TCP 连接超时"会显示在 Hercules 上、并且无法成功执行通信。

    您能否在上述过程中回答()中的问题?
    此外,如果有任何遗漏,请告知我。

    谢谢。

    Eevee

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

    关于 MAC 地址- Launchpad 演示板在 MSP432的用户配置寄存器中具有一个 MAC 地址、因此将 SysConfig GUI 中的 MAC 字段保留为默认值(我想全部是 F)、驱动程序将使用芯片中的值。

    对于定制电路板、MSP432不提供 MAC 地址、因此可通过调试器设置一个。

    如果 MAC 地址不正确、网络堆栈不能正确启动、但不能真正让问题发生、我怀疑 DHCP 不能正常工作、除非您的 MAC 正常。

    我不知道 Hercules。 正如我提到过的、我使用了演示中包含的 Python 脚本-这会发送一条 TCP 消息并检查是否有回显。

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

    您好、Jim

    我明白了。 我明天会尝试用 python 来运行它。

    关于 MAC 地址- Launchpad 演示板在 MSP432的用户配置寄存器中具有 MAC 地址、因此将 SysConfig GUI 中的 MAC 字段保留为默认值(我认为是所有 F)、驱动程序将使用芯片中的值。

    我的说法是、在使用 EVM 运行时、不需要更改 GMAC 的默认值吗?

    1. 安装 DHCP 服务器并构建 DHCP 服务器。
    (您没有指示此步骤、而是1。 必需?)

    那么、上述情况又如何呢? 如果运行此示例代码、是否需要在运行 DHCP 服务器之前构建它?

     -您可能需要将您的自定义电路板原理图与 LaunchPad 进行比较。 您能发现任何明显的差异吗?

    [/报价]

    在 Clales'的回答中,他键入了一个特定的 IP 地址和端口。 这些是如何确定的?
    我对在实际验证操作时使用哪个值感到困惑。

    谢谢。

    Eevee

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

    我相信您是对的- Launchpad 具有一个 MAC 地址、样本应该保持不变。

    对于 DHCP 服务器、我使用的是一个我曾经放置过的旧 NETGEAR 路由器。 当有人借用它时、我试图在 SysConfig GUI 中启用 DHCP 服务器选项、并在独立的 Launchpad 上为自己构建 DHCP 服务器、但我从来没让它发挥作用。 (请访问 e2e.ti.com/.../msp432e401y-dhcp-server-example )

    我相信有 DHCP 服务器项目可用于 Linux 和 Windows -任何项目都应该能正常运行。

    您需要的 IP 地址是 DHCP 服务器分配给您的 Launchpad 的 IP 地址。 Launchpad 将 在控制台窗口中打印其分配的地址、如 Charles 的屏幕转储中突出显示的内容。

    我记得 TCP 端口号是硬编码到示例项目中的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 Clales'回答时,他键入了特定的 IP 地址和端口。 这些是如何确定的?
    我对在实际验证操作时使用哪个值感到困惑。

    尊敬的 Eevee:

     该示例假定网络上已经有 DHCP 服务器。 该示例启动后、它会尝试获取 DHCP 服务器租用的 IP 地址。 IP 地址将显示在"Terminal"窗口中。  看一下我发送的图像、 会发现终端窗口显示的是10.219.158.81。 这是示例从 DHCP 服务器获取的 IP 地址。 如果您没有 DHCP 服务器、则该示例将不起作用。 在 Hercules 客户端应用程序的下一个映像 中、我只需在 TCP 客户端选项卡中键入相同的 IP 地址。 TCP 端口号在源文件 C:\ti\simplelink_msp432e4_SDK_4_20_00_12\examples\rtos\MSP_EXP432E401Y\ns\tcpecho\tcpHooks.c 中定义 请参阅以下片段。

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

    您好、Charles

    由于 Tcpeho 通信尚未建立、我想澄清以下内容。

    (1)认为以太网连接了 EVM 和 PC 是否正确?

    (2)构建 DHCP 服务器的方法可能是错误的。 当您验证操作时、您是否有可能向我发送该程序?

    谢谢。

    Eevee

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

    您好!

     我在度假。 我将在星期三给你答复。

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

    您好!

    要使该演示正常工作、您需要以下工具:

    • 预加载 tcpecho 演示的 Launchpad 电路板。
    • 一台 PC、其以太网端口设置为通过 DHCP 接收其 IP 地址。 并且安装了 Python 脚本。
    • 一个以太网交换机、连接到 Launchpad 和 PC。
    • 连接到交换机的 DHCP 服务器-如果使用互联网路由器之类的设备、则可能是交换机的一部分。

    我想、如果尝试使用 Launchpad 作为 DHCP 服务器、您将不会有任何幸运。 我已经花了几个小时来讨论这个问题、但还没有运行!

    连接并运行后、DHCP 服务器将向 Launchpad 和 PC 发出 IP 地址-可能是192.168.0.2和192.168.0.3。

    您应该看到 Launchpad 在其控制台调试窗口中提到已为其分配 IP 地址。 通常在引导后几秒钟。 DHCP 服务器通常具有某种形式的管理接口(可能是网页)、它将在其中报告已连接的设备。 其中还应显示已分配给 Launchpad 和 PC 的 IP 地址。

    此时、您应该能够在 PC 上打开命令提示符窗口、并在分配给它的地址 ping Launchpad (例如 ping 192.168.0.2)。 如果这不起作用,事情是错误的,你不会得到任何进一步。

    您现在应该能够在 PC 上运行 Python 脚本。 它应通过 IP 将一个 TCP 数据包发送至您的 Launchpad、后者应将其回显。

    希望这对您有所帮助

    吉姆

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

    您好、Jim

    一台具有以太网端口设置为通过 DHCP 接收其 IP 地址的 PC。 还有可用的 Python 脚本,且安装了 Python。

    您能否分享您如何在 PC 上配置 DHCP 服务器?

    谢谢。

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

    我刚刚为交换机使用了旧的 NETGEAR 路由器、因为它内置了 DHCP 服务器。 我关闭了 WiFi 位。 它有4个以太网端口来连接 PC 和一些 Launchpad。
    它的 DHCP 部分保留默认配置、因此它分配的 IP 地址范围为192.168.1.2 到192.168.1.99。
    它为自己保留192.168.1.1。 即管理界面、您可以在其中配置它。
    对于更高级的配置、设置一些固定地址、使其始终向 PC 发出相同的 IP 地址。

    我相信有免费的 DHCP 服务器可用于 Linux 和 Windows、如 https://sourceforge.net/projects/dhcpserver/、 但我不使用。
    此致
    吉姆

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

    您好、Jim、

     非常感谢您在以太网方面提供的帮助以及分享您的经验和知识。 您的参与对社区大有裨益。 说了这句话、我仍然不明白为什么海报无法让库存示例正常工作。  

    尊敬的 Eevee:

     我想知道您是如何构建项目的。 您可以尝试运行随附的.out 文件吗? 我在不进行任何修改的情况下构建示例。 在 LaunchPad 上运行它没有问题。 请加载此.out 并运行它。 如果您仍然有相同的问题、至少它证明了这与您的版本或您正在使用的 SDK 版本不同。  

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

    您好、Charles Jim

    感谢您的支持。

    同样、我们的目标是实现具有静态 IP 的以太网通信。 我将在 Python 脚本中分享操作检查的结果。 因此、无法分配 IP、也无法执行 Python 脚本。

    ■确认条件
    ・按原样使用 Tcpecho_MSP_EXP422E401Y_tirtos.ccs、并启用 DHCP 并根据自述文件进行检查。

    ・在网络配置方面,DHCP (家庭路由器的局域网端端口)、确认 PC 和 Launchpad 与一个网络集线器相连。

    ・片上闪存 MAC 地址设置(2D-00-00-4C-2B-00)

    ■确认结果
    ・已将 IP 分配给连接到同一网络的确认 PC。
    ・就显示驱动程序消息而言、Launchpad 无法分配 IP。

    [消息输出到终端]
    服务状态: DHCP:已启用: 00000
    服务状态: DHCPC:已启用:正在运行: 000
    服务状态:DHCPC:已启用:故障:002
    DHCP 客户端初始化失败;请检查您的网络。

    有可能得到一些建议吗?

    谢谢。

    Eevee

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

    当我的 Launchpad 连接到以太网交换机(路由器/DHCP 服务器)后、我将获得:

    如果我断开以太网电缆的连接、会得到:

    您的电缆是否出现故障或未完全插入? 以太网交换机应为每个端口提供一个指示灯、以显示它是否认为已插入了器件。

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

    您好!

     您能展示您的 Wireshark 捕获吗? DHCP 客户端和 DHCP 服务器通常会经历四阶段握手。 4个阶段涉及发现、提议、请求和 ACK。 您可以通过 Google 搜索 DHCP 协议的工作原理。 您的 Wireshark 捕获可能会显示一些有关事件的线索。 您可能需要在交换机上配置端口镜像,以便可以看到显示的全部4个相位。 还要检查客户端和 PC 是否在同一子网中。

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

    尊敬的 Eevee:

     我还建议您尝试使用 lwIP 栈运行非 RTOS 示例。 您可以在以下文件夹中找到 Web 服务器示例。 此示例还将与 DHCP 服务器握手以获取 DHCP 地址。 如果问题与电路板有关或与电路板无关、此示例应该可以提供更多线索。 我

    C:\ti\simplelink_msp432e4_sdk_4_20_00_12\examples\nortos\msp_EXP432E401Y\lwip\ethernet_with_lwip

    如果可以成功运行此示例、则可以转到 Web 浏览器并在 URL 中输入服务器 IP 地址。 您将看到该板提供的网页。 请参见以下示例。 如果您不能超越 DHCP、那么我倾向于认为您有电路板问题或网络问题。  

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

    您好、Charles

    DHCP 服务器不会在 Launchpad 上返回 DHCP 发现报价。 作为对确认 PC 的 DHCP 发现的响应、DHCP 服务器返回 Offer 并分配一个 IP。 另外,确认 PC 和 DHCP 服务器的子网相同。

    两者之间的区别是、Discover 的数据包大小似乎有2倍的差异。 这似乎是选项后填充大小的差异。

    详情见附件。


    此外、我们将从现在开始检查操作。
    "使用 lwIP 堆栈的非 RTOS 示例"

    谢谢。

    Eevee

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

    尊敬的 Eevee:

     我已经检查了您的 Wireshark 日志、但 DHCP 服务器没有向 MCU 客户端回复"DHCP Off"数据包、这很奇怪。 MCU 正在发送 DHCP 发现、 这意味着 MCU 在与堆栈相关的情况下执行其任务。 我想您的网络上有问题。 您的 DHCP 服务器似乎能够租用您的 PC 的 IP 地址、但不能租用 LaunchPad。 我认为是某种类型的网络问题、我不知道如何解决。 您可能需要咨询 IT 部门以获得帮助。 我不是 DHCP 协议方面的专家。 您可能需要详细检查 DHCP 发现数据包、并查看数据包格式是否有任何奇怪之处。  

     请使用 lwIP 栈运行非 RTOS 示例。 我想看看您是否遇到了与基于 RTOS 的 tcpecho 示例相同的问题。  

     您是否有其他 LaunchPad? 您能否产生同样的问题?

     您是否有另一个尝试使用的以太网交换机? 您能否产生同样的问题?

     我过去曾提出过各种建议、例如在不同的网络上运行示例、检查您的电缆。 我的想法有点过时了。 该示例应该在 LaunchPad 板上开箱即用。  

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

    您的以太网交换机可能只是在连接 Launchpad 的情况下路由到 DHCP 提供的端口、而不是路由到 Wireshark 侦听的 PC、或者您的 DHCP 服务器可能存在一些奇怪的情况-不知道是什么。 您能看到服务器的管理页面吗? 连接的设备列表?
    现在您已完成了什么设置?

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

    您好、Jim、 Charles

    感谢您的评论。
    首先、我使用 lwIP 协议栈运行了一个非 RTOS 示例、因此我将共享内容。

    DHCP 服务器未通过来自 Launchpad 的 DHCP 发现服务进行响应的现象是相同的。 然后 Launchpad 将169.254.1.43声明给 ARP 并将此 IP 分配给自己。 Windows 无法 ping 通169.254.*.*,因此我甚至无法使用浏览器检查连接。

    我将向您发送操作结果和 Wireshark 日志、附件中包含 DHCP 和 ARP。

    ■其他确认结果
    为了确认网络存在问题、我们将 Launchpad 替换为过去开发的另一个支持 TCP/IP 连接的嵌入式电路板。
    因此,静态 IP 和 DHCP 在同一网络中都能正常工作。
    我使用 Wireshark 检查了 DHCP 的发现、提供、请求和确认。 也可以从确认 PC (客户端)进行 TCP 连接。 EVM 已由多个器件确认。

    如果您有任何建议或需要在下一步中确认的事项、请告诉我。

    谢谢。

    Eevee

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

    所附的.xlsx 文件中的图表看起来完美!

    使用带镜像端口的交换机是不错的做法。 它应该允许您的监视器 PC 查看所有网络流量-假设 镜像端口已正确设置为镜像所有其他端口。

    我不知道您的 Launchpad 是如何获取 IP 地址 169.254.1.43 -我不认为完整堆栈的 TI RTOS 示例具有默认 IP 地址-几分钟后即超时。 也许这是 LWIP 堆栈的一个功能-我不知道、我从未尝试过它。

    您的 DHCP 服务器正在设置范围为192.168.2.x 的 IP 地址,其中 x 为100 -> 200。 它还将子网掩码设置为255.255.255.0,因此只有在 IP 地址的前3个字节匹配时,ping 才起作用。

    您的两台 PC 的地址将分别为192.168.2.100和192.168.2.101,因此它们应该能够互相 ping 通。 如果 Launchpad 的 IP 为 169.254.1.43、则表示它不在同一子网中、因此 ping 无效! 是否可以将默认地址修改为在同一子网中? (例如192.168.2.201)

    DHCP 服务器是否有显示已连接设备的页面? 推导出显示连接了2台 PC、但显示未连接 Launchpad。

    DHCP 服务器是什么品牌? 我使用的是旧版 NETGEAR 家庭路由器。 也许您的服务器具有一些不寻常的功能、不能配合 Launchpad 使用-不知道、只是猜测!

    您可能必须尝试使用静态地址、但通常在更改任何内容之前让未修改的样本正常工作是一个好主意! 我介绍了如何在线程 https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1125791/msp-exp432e401y-setting-static-ip-address-at-runtime 中设置固定 IP

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

    尊敬的 Eevee:

     我认为这是我尚未克服的最大谜题。 您在 LaunchPad 上运行的 lwIP 示例在 DHCP 握手期间仍然失败。 lwIP 协议栈具有 AUTOIP 功能、如果无法从 DHCP 服务器获取 IP 地址、它将为自己分配 IP 地址。 此时此刻,我真的没有想法。  

     您是否尝试过其他网络? 您是否可以尝试使用家庭网络、而不是公司网络、或反之?  也许只需将板插入家庭路由器的背面、或者根据 Jim 的建议、尝试使用不同的交换机。 这些示例已经过验证、我从未见过客户未能获取 DHCP IP 地址。  

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

    您好、Jim、 Charles

    感谢您的评论。

    您的两台 PC 将具有地址192.168.2.100和192.168.2.101,因此它们应该能够互相 ping 通。 如果 Launchpad 的 IP 为 169.254.1.43、则表示它不在同一子网中、因此 ping 无效! 是否可以将默认地址修改为在同一子网中? (例如192.168.2.201)

    我更改了将 Ping 发送至固定 IP 的 PC 端、例如169.254.1.44 (255.255.255.0)并确认、但 Ping 未通过的现象没有变化。 您能告诉我如何更改 Launchpad 的默认地址吗?

    DHCP 服务器是否有显示已连接设备的页面? 推导出显示连接了2台 PC、但显示未连接 Launchpad。

    DHCP 服务器是什么品牌? 我使用的是旧版 NETGEAR 家庭路由器。 也许您的服务器具有一些不寻常的功能、不能配合 Launchpad 使用-不知道、只是猜测!

    [/报价]

    我使用的是 Logitec 路由器。 型号为"LAN-W301NR"。 路由器有一个页面显示已连接的 DHCP 客户端。
    此外,显示 DHCP 客户机的页面包含以下内容。

    ・显示确认 PC 的 IP 和 MAC。
    ・不显示 Lauchpad 的 IP 和 MAC

    您有没有尝试过不同的网络? 您是否可以尝试使用家庭网络、而不是公司网络、或反之?  [/报价]

    我尝试了一个路由器布法罗制造。 型号为"WCR-1166DS"。

    确认结果与 Logitec 路由器相同。

    ・对于从 Launchpad 进行 DHCP 发现,请使用 DHRP 探测和公告中的 IP 169.254.1.43。
    ・IP 已通过 DHCP 正确分配给确认 PC。
    ・显示 DHCP 客户机的页面包含以下内容。
    →将显示确认 PC 的 IP 和 MAC。
    →不显示 Launchpad 的 IP 和 MAC

    谢谢。

    Eevee

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

    尊敬的 Eevee:

     是否已  在 LaunchPad 上运行 lwIP 示例?

     您有多少个 LaunchPad? 可以在所有板上重复同样的问题吗?

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

    您好、Charles

    我稍后会检查并联系您。 以下情况如何?

    您能告诉我如何更改 Launchpad 的默认地址吗?

    谢谢。

    Eevee

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

    您好!

     如果您询问"Auto IP",其中的 IP 地址为169.254.xxx.xxx,这是按协议规定的。 请查看自动 IP 的 wiki 页面。  

    https://en.wikipedia.org/wiki/Link-local_address

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

    您好、  Charles、Jim

    问题已成功解决。 感谢您的全力支持!

    由于 DHCP 服务器响应其他设备的 DHCP 发现、我们认为另一个通信层次结构存在问题、因此我们将注意力转向了以前未确认的 MAC 地址。 原因是到目前为止使用的 MAC 地址"2D-00-00-4C-2B-00"。
    通过按结构将 MAC 地址分开、我们能够确定原因为"I/G bit = 1"。

    tcpecho_msp_EXP432E401Y_tirtos_ccs 的 tcpecho.syscfg
    将 MAC 地址设置为"I/G bit = 0"可解决 DHCP 和静态 IP 环境中的问题。

    谢谢。

    Eevee

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

    尊敬的 Eevee:

     很高兴您的问题得到解决。  我很好奇您更改 MAC 地址的原因。 您是如何通过2D-00-00获取 MAC 地址的? 有何看法? LaunchPad 预编程有唯一的 MAC 地址。 作为 MAC 地址中第一个字节(最左侧字节)的位0的 I/G 位为0。 这就是我建议使用库存 LaunchPad 来验证示例的原因。 我没有意识到您更改为完全不同的 MAC 地址。 将 I/G 位设置为1表示它用于对同一组中的所有节点进行多播。 我想这就是 DHCP 服务器拒绝该请求的原因。 总之、很高兴这个问题被理解了、并且我学到了一些新的东西。  

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

    您好、 Charles

    2D-00-00-4C-2B-00是提前写入 LaunchPad 的值。 由读取 CCS 来确认。

    谢谢。

    Eevee

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

    尊敬的 Eevee:

     我很难相信  TI 会使用2D-00-00-00-4C-2B-00对 LaunchPad 进行预编程。 在电路板的背面应该有一个显示 MAC 地址的贴纸。 它是另一个值吗?  

     我去在线 MAC 地址查找、2D-00-00供应商不是德州仪器。 请参见下方的。 通常、如果 OUI 与 TI 有关、您会看到德州仪器。  

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

    也许有人与您的 Launchpad 疯狂
    现成可用的 MAC 地址都以 TI 拥有的70:FF:76开头。
    Wireshark 甚至会识别它们(因此、如果我们多加留意、我们可能会发现您的电路板上有一个不同寻常的地址-我并没有意识到这是一个问题、因此我也学到了一些东西!)