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.

[参考译文] CCS/TMS320C6457:NDK DHCP IPServer

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/941589/ccs-tms320c6457-ndk-dhcp-ipserver

器件型号:TMS320C6457

工具/软件:Code Composer Studio

如何获取 DHCP 服务器的 IP 地址?

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

    您好!

    您能澄清一下您使用的 TI 软件包吗? C6457是一款非常旧的器件、软件包可能与我们为 C665x、C667x 提供的软件包类似。 在这个示例中、我们有一个"hello world"示例、它是使用 NDK 和 Nimu 驱动程序的 RTOS。 hello world 可以使用静态 IP 地址或 DHCP。  

    使用 DHCP 时、C66x 或 C64x 是 DHCP 客户端并发送发现数据包。 DHCP 服务器位于同一网络上且您配置了 IP 地址、您在 C64x 应用程序中是指如何读出/记录 DHCP 服务器 IP 地址?

    此致、Eric    

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

    我使用 NDK_2_23_02_03。

    是的、我需要 DHCP 服务器 IP 地址。  

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

    您好!

    我搜索了 NDK 源代码 NDK_2/3_xx_xx_xx\packages/ti\NDK\nettools\DHCP、其中有:

    /* DHCP 租赁信息的结构*/
    typedef struct _dhcpLEASE

    uint16 StateInitial;/*起始状态*/
    uint16 State;/* Current State *
    uint16 StateNext;// Next State */
    IPN IPAddress;/*来自 DHCP 服务器的 IP 地址*/
    IPN IPAddressOld;/*正在使用的 IP 地址*/
    IPN IPSubnetMask;// IP SubnetMask */
    IPN IPGate;// IP 网关地址*/
    uint32 LeaseExpires;//移动到初始状态的时间*

    (笑声)

    代码:

    静态空状态选择(DHCPLEASE *请)

    IPN IPOffer、IPServer;
    UINT16 MaxTries;
    uint32 TimeStart;

    MaxTries = 3;
    重试:
    #if DEBUGON
    DbgPrintf (DBG_INFO、"DHCP:StateSelecting:\r\n");
    #endif

    /*生成 DHCP 请求包并发送*/
    请->SendSize = dhcpBuildDiscover (请);
    dhcpPacketSend(请,INADDR_broadcast );

    /*获取时间*/
    TimeStart = llTimerGetTime (0);

    while (((TimeStart + 2)>= llTimerGetTime (0)))

    /*获取回复(等待3秒)*/
    dhcpPacketReceive(请);

    if (dhcpVerifyMessage (请,&IPOffer,&IPServer)==DHCPOFFER)

    请->IPAddress = IPOffer;
    请->IPServer = IPServer;
    请->StateNext =正在请求;
    返回;

    您可以在此处找到 DHCP 服务器地址。

    此致、Eric