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.

[参考译文] RTOS/OMAP-L138:SNTP 问题

Guru**** 2550180 points
Other Parts Discussed in Thread: OMAP-L138

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/788938/rtos-omap-l138-problem-with-sntp

器件型号:OMAP-L138
主题中讨论的其他器件:OMAPL138

工具/软件:TI-RTOS

我的 SNTP 有问题。  我已使用 CfgAddEntry 函数在 C 代码中配置 EMAC。 因为我使用的是 FTP、没有任何问题。

我的代码:

#define Sntp_port 123
int32_t RetVal;
uint32_t 秒;
uint32_t secondsFraction;

slNetSock_Timeval_t timeval;
uint64_t ntpTimeStamp = 0;
SlNetSock_AddrIn_t ipv4addr;

ipv4addr.sin 系列= SLNETSOCK_AF_iNet;
ipv4addr.sin 端口= SlNetUtil_htons (SNTP 端口);
ipv4addr.sin addr.s_addr = SlNetUtil_htonl (3639550724);
//ipv4addr.sin addr.s_addr = inet_addr ("216.239.35.4");// time.google.com
timeval.tv_sec = 5;
timeval.tv_usec = 0;
RetVal = SNTP_getTimeByAddr ((SlNetSock_Addr_t *)&ipv4addr、&timeval、
ntpTimeStamp (ntpTimeStamp); 

ntp_getTimeByAddr 函数返回(-102)-> ntp_ESOCKEATEFAIL (创建套接字失败)我注意到问题是函数"创建 UDP 套接字以与 NTP 服务器通信"时。

我在 SNTP 之前添加了 SlNetSock_init (0)、现在是 SNTP_getTimeByAddr return (-105)-> SNTP_ECONNECTFAIL (连接到 NTP 服务器失败)。此外、我还注意到 SlNetSock_getVirtualSdConf () in SlNetSock_connect (-2320L) return

问题出在哪里?

我正在使用:  

->pdk_omapl138_1_0_6  

->NDK_3_40_01_01  

-> ns_2_40_01_02

此致、

Patryk

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

    我们需要一些时间来研究这个问题、然后返回给您。

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

    谢谢 Sahin、

    我在等。 但我试图补充:

    int32_t slNetIf 添加(uint16_t IFID、char * ifName、const SlNetIf _Config_t * ifConf、uint8_t Priority) 

     我的 SlNetIf 配置_t 桩模块有问题。  我应该将所有函数写入该结构吗?  没有现成的解决方案或示例? 我应该怎么做?  
    我是否想很好地解决这个问题?

    此致、
    Patryk

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

    您的似乎正在实施 SNTP 客户端、并希望通过网络从 SNTP 服务器获取时间戳。 在较旧的 NDK 2.26.0.8中、头文件 sntp.h 和辅助文件 sntp_8h.html 对 API 调用流和先决条件有很好的解释。 它还提到"SNTP 现已从 NDK 中弃用、SNTP 模块很快将从 NDK 中删除并在单独的产品中提供。"

    在 NDK_3_40_01_01中、SNTP 拆分为 ns_2_40_01_02。 SNTP_START()和 SNTP_STOP()之前使用的函数已消失。 只有 SNTP getTime()函数,我不确定如何启动服务。 我正在查看我们是否有针对 SNTP 的迁移指南、并将在此处更新。 很抱歉耽误你的回答!

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

    感谢 Eric 的回复。

    我仍然没有解决这个问题。 如果您能找到迁移指南、我将不胜感激。 否则、SNTP 对我来说是无用的。

    此致、Patryk

    感谢您的回答

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

    Patryk、

    此问题看起来像是未初始化 NS 堆栈的情况。 一旦 NS 初始化正确,则 SNTP_getTime()应该起作用。  适用于 L138的 Processor SDK RTOS 没有适用于 NS 的示例代码。 我们有另一个处理器 MSP 432的此类示例、网络代码应相同。 您可以参阅 OMAP-L138 project.e2e.ti.com/.../httpsgethooks.c 上随附的代码

    e2e.ti.com/.../startsntp.c

    此致、Eric  

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

    感谢 Eric 的支持、

    您能否与 https://gethooks.c 文件中使用的 stuture "SlNetIfConfigNDKSec"共享我的文件?

    状态= SlNetIf_add (SLNETIF_ID_2、EMACMSP432E4_ETHERNET_NAME、
    (const SlNetIf Config_t *)&SlNetIfConfigNDKSec、IFPRI); 

    PS: 我从 MSP 432处理器下载了 SDK、并具有此结构。

    此致、Patryk

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

    e2e.ti.com/.../slnetifndk.cHi、

    我附加了该文件。

    此致、Eric