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.

[参考译文] AM2634-Q1:AM2634 - LWIP — 在&quot 处启用主机名停止;网络链路断开事件"

Guru**** 2826825 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1600243/am2634-q1-am2634--lwip---enabling-hostname-halts-at-network-link-down-event

器件型号: AM2634-Q1
主题中讨论的其他器件:MCU-PLUS-SDK - AM263XSysConfig

您好、

对于我们的应用程序、设备必须使用 DHCP 和主机名获取 IP 地址。 为了实现这一点、我已将下面的选项设置为 1。

File-->C:src \ti\mcu_plus_sdk_am263x_10_02_00_13\source\networking\lwip\lwip-stack\lwip\include\lwip\opt.h

#define LWIP_DHCP_DISCOVER_ADD_HOSTNAME 1.

#define LWIP_NETIF_HOSTNAME       1.  

在我的应用程序中、我使用下面的行设置主机名。

m_netif_s[0]->hostname =“Varma";</s>“
 
执行因网络中断事件而挂起。  下面是调试日志。
--------------- 日志的开头------
EnetAppUtils_reduceCoreMacAllocation:将 CoreID:0 的 Mac 地址分配从 4 减少到 2  
打开 MAC 端口 1
EnetPhy_bindDriver:1873  
打开 MAC 端口 2
EnetPhy_bindDriver:1873  
Phy 3 处于活动状态
PHY 12 处于活动状态
在启动 lwIP 时、本地接口 IP 启用了 DHCP
[LWIPIF_LWIP] NETIF 初始化成功
主机 MAC 地址–0:70:ff:76:1f:db:4e
主机 MAC 地址–0:70:ff:76:1f:db:4F
Enet IF DOWN 事件
Cpsw_handleLinkUp:1653  
MAC 端口 1:链路接通
网络链路断开事件
----- 日志的结尾--------------------------------
 
当我恢复删除禁用的主机名选项时、IP 地址分配工作正常、 执行过程没有任何问题。
 
感谢解决此问题的任何修复/建议。
 
谢谢
Varma

 

 

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

    尊敬的 Varma:

    让我检查一下、然后返回给您。

    此致、

    Aswin

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

    您好、Varma、

    除了您提到的更改外、我还使用此示例测试了此用例、

    示例路径: mcu_plus_sdk_am263px_11_00_00_19/source/networking/enet/core/examples/lwip/enet_cpsw_tcpserver

    要设置主机名、

    文件路径: mcu_plus_sdk_am263px_11_00_00_19/source/networking/enet/core/examples/lwip/enet_cpsw_tcpserver/app_main.c

    运行示例后、  

    我能够看到分配了 IP 地址。

    我将器件连接到 PC、其中 PC 是 DHCP 服务器。 我将 PC 配置为 DHCP 服务器。

    运行示例后、我检查了 DHCP 租用列表、可以看到正在映射的 IP 地址、MAC 地址和主机名。

    另外、选项 12 — 在 DHCP 发现数据包中观察到主机名。

    最后、您能尝试使用这个示例吗? ?

    另外、我是否知道在查询中使用了什么示例?

    此致、

    Aswin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“669778" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1600243/am2634-q1-am2634--lwip---enabling-hostname-halts-at-network-link-down-event
    执行因网络中断事件而挂起。  下面是调试日志。
    [/报价]

    当您说执行已挂起时、是否意味着内核卡住了? 您能否暂停内核并检查代码执行当前的位置?

    此致、

    Aswin

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

    尊敬的 Aswin:

    我正在使用  MCU_PLUS_SDK_am263x_10_02_00_13 进行测试。 我使用经过少量修改的 enet_cpsw_rawhttpserver 进行了测试。 我将使用您建议的示例进行测试。

    但我需要使用裸机 c 实现的代码。 而不是 FreeRTOS。  

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

    尊敬的 Varma:

    是、请查看此示例以确认工作正常

    此致、

    Aswin

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

    尊敬的 Aswin:

    我尝试了该示例、但仍然没有分配 IP 地址。 这一次、器件会一直等待 IP 地址。 下面是日志。

    我还检查了您的另一个问题、说明执行在暂停时等待的位置。 执行会停止、但不显示任何文件来指示代码在暂停时的确切位置。

    =========================

    CPSW LWIP TCP Echo 服务器

    =========================

    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:0 的 Mac 地址分配从 4 减少到 3

    打开 MAC 端口 1

    EnetPhy_bindDriver:1835

    打开 MAC 端口 2

    EnetPhy_bindDriver:1835

    Phy 3 处于活动状态

    PHY 12 处于活动状态

    在启动 lwIP 时、本地接口 IP 启用了 DHCP

    [LWIPIF_LWIP] NETIF 初始化成功

    主机 MAC 地址–0:28:B5:e8:ca:e3:1f


    主机 MAC 地址–0:70:ff:76:1f:db:4e


    [0] Enet if Down Event

    [LWIPIF_LWIP] Enet 已成功启动

    [0]正在等待网络打开...

    Cpsw_handleLinkUp:1628

    MAC 端口 2:链路接通

    [0]网络链路断开事件

    [0]正在等待网络打开...

    Cpsw_handleLinkUp:1628

    MAC 端口 1:链路接通

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

    [0]正在等待网络打开...

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

    尊敬的 Varma:  

    您能告诉我 您使用哪块电路板来运行此示例吗?

    此致、

    Aswin

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

    您是否看到 DHCP 数据包从板中传出。 您能否检查 DHCP 数据包中是否有主机名? 就像我在屏幕截图中提到的一样吗?

    此致、

    Aswin

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

    我正在使用 AM263x LaunchPad。
    我检查了  DHCP 服务器的两个选项。

    1. Windows 11 上的 DHCP 服务器应用程序。 我检查了 Wireshark 日志。 器件中没有 DHCP 数据包。

    2.连接到路由器的设备。 我无法在此处运行 Wireshark、但可以检查 DHCP 日志。 器件中无任何内容。

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

    尊敬的 Varma:

    我已经在 AM263X Launchpad 上进行了测试。 使用和不使用主机名、我将获得 IP 地址。 AM263X 已连接至路由器。

    由于硬件是相同的、我们可以检查我共享的二进制文件吗? 您能在您的设备上运行吗?

    主机名是 am263xlp。

     e2e.ti.com/.../binary_5F00_w_5F00_host_5F00_name.oute2e.ti.com/.../binary_5F00_wo_5F00_host_5F00_name.out

    此致、

    Aswin

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

    尊敬的 Aswin:

    我测试了您的两个.out 文件。 我能够使用无线路由器进行测试。 这两种方法都有效。 我已在路由器的 LAN 客户端列表中验证、我获得了主机名、这意味着主机名选项正常工作。  

    我不知道我在做什么错。 您能否提及、除了我在本文中提到的选项之外、还需要启用哪些选项?

    谢谢、此致

    Varma

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

    您好、Aswin、

    请告诉我您对此的想法。

    如果可能、请将项目与源代码共享、以使用主机名实现。

    此致

    Varma

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

    您好、Aswin、

    我被卡住了。 请帮助解决该问题

    谢谢、此致

    Varma

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

    尊敬的 Varma:

    因为我是 OOO、所以对延误表示歉意。  

    我遵循的步骤如下:

    1.将  LWIP_NETIF_HOSTNAME 和 LWIP_DHCP_DISCOVER_ADD_HOSTNAME 设置  为 1。

    2.重建库

    3.添加如下主机名

    4.编译工程并运行示例。

    此外、您能否确保 SDK 中没有其他更改。 如果 SDK 未进行版本跟踪、是否可以重新安装 SDK 并再次进行检查。

    此致、

    Aswin

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

    尊敬的 Aswin:

    谢谢、我将尝试全新安装 SDK。

    此致

    Varma

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

    尊敬的 Aswin:

    我全新安装了 SDK。 拾起了示例代码 tcp echo 和 raw httpserver。 在这两种情况下、行为是相同的

    启用主机名将导致“Netwrok Link Down Event“(网络链路断开事件)并在此停止、  

    尽管在 opt.h 文件中没有主机名选项、但它继续获取 IP 地址并正常工作


    我们能否通过团队电话进一步讨论此问题?

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

    尊敬的 Varma:  

    我将与您共享一个补丁文件。 您能在新安装的 SDK 之上添加这个补丁吗? 我还以 zip 文件的形式发送我使用的项目。

    库已针对调试配置进行构建。 您能否在 debug config 中构建工程并在您的末端尝试?  

    我将 MAC 端口 1 连接到 DHCP 服务器。

    您将能够看到我在工程的调试文件夹中使用的二进制文件。

    e2e.ti.com/.../0001_2D00_added_2D00_dhcp_2D00_hostname_2D00_discover.patch

    e2e.ti.com/.../hostname_5F00_added.zip

    如果问题仍然存在、我们可以在电话中进行讨论。


    用于测试、

    1.在 MCU-PLUS-SDK  AM263X-X/11.00.00.19 上应用补丁 [www.ti.com/.../11.00.00.19]

    2.在调试模式下构建项目

    3、通过 CCS 加载示例、将 MAC 端口 1 连接到 DHCP 服务器。

    此致、

    Aswin

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

    您好 Aswin  

    该补丁是否会在 Windows 操作系统上运行。  MCU+ SDK 具有不同的路径。 我是否需要更改补丁文件中的路径?

    我执行了一个运行来检查下面的命令、没有修改的路径(根据我的工作站)。 在这两种情况下,我得到了相同的错误消息。

    谢谢、此致

    Varma

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

    您好:

    您能否请尝试使用这个补丁

    e2e.ti.com/.../0001_2D00_patched.patch

    1.应用补丁: Git Apply .\0001-patch.patch

    2.清理库: gmake -sj32 -f .\makefile.am263x libs-clean

    3.清理库: gmake -sj32 -f .\makefile.am263x libs-scrub

    4. Build Libs: gmake -sj32 -f .\makefile.am263x libs

    5.构建示例:  gmake -sj32 -C .\source\networking\enet\core\examples\lwip\enet_cpsw_tcpserver\am263x-lp\r5fss0-0_freertos\ti-arm-clang\ clean all

    或导入 CCS 并在释放模式下进行内置。 释放模式、因为我们在释放模式下重建库。

    6.运行示例

    此致、

    Aswin

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

    尊敬的 Aswin:

    我的同事 Ramakrishna 将与我一起工作并与我互动。

    @ramakrishna.mojilinedi@hbl.in

    此致

    Varma

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

    尊敬的 Varma、Ramakrishna:

    使用补丁文件后、请告诉我结果。

    此致、

    Aswin

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

    尊敬的 Aswin:

    很抱歉,我不能很快回复。  

    我多次尝试您的说明、删除了 SDK 并重新安装了 Fresh SDK 两次。 行为是相同的。 我甚至在另一台机器上尝试过。 但无法使主机名选项正常工作。

    此致

    Varma

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

    尊敬的 Varma:  

    您能告诉我该工程和二进制文件吗? 我在这里检查一下吗?

    我们可以有一个电话后,如果再问.

    此致、

    Aswin

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

    尊敬的 Aswin:

    我正在运行 TCP 服务器示例工程。 我正在 OneDrive 上与文件共享

    TCPs Server_Example 项目

    如果无法访问上述链接、请共享您的电子邮件 ID、我可以发送副本或将您的电子邮件添加到白名单。

    此致

    Varma

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

    尊敬的 Varma:  

    输出文件的大小对我来说是不同的。 这表明构建过程或设置中存在一些问题。

    您能告诉我吗  

    1. CCS 版本

    2.编译器版本

    3. SysConfig 版本

    4. SDK 版本

    不同版本之间存在 45KB 的差异(发布配置)

    此致、

    Aswin

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

    我的设置为 CCS 12.8.1、 SysConfig_1.26.0、 ti-cgt-armllvm_4.0.4.LTS

    此致、

    Aswin

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

    尊敬的 Aswin:

    在多次重新安装后、我得到了主机名选项正常工作。 它最终与 MCU_PLUS_SDK_am263x_11_00_00_19、CCS 20.2、SysConfig-1.26.0 配合使用。

    由于某种原因、它无法与 MCU_PLUS_SDK_am263x_10_02_00_13 配合使用。  

    是否有方法可以触发、从 CCS IDE 重新编译库?

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

    尊敬的 Varma:  

    很高兴听到它起作用了。 LIBS 重建是一次性的事情。 这无法通过使用 CCS 来完成。

    此致、

    Aswin

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

    尊敬的 Aswin:

    感谢您的支持

    此致

    Varma

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

    尊敬的 Varma:

    我即将结束该主题。 请以新的 e2e 形式提出新问题。  

    谢谢你。

    此致、

    Aswin