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.

[参考译文] 在 Jacinto 6 EVM 中使用 QNX RTOS 实现 PTP 的同时、我们必须使用什么 IOCTL 从 CPTS 驱动程序获取原始以太网帧的时间戳

Guru**** 2551110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/604771/what-ioctl-we-have-to-use-to-get-timestamp-from-cpts-driver-for-raw-ethernet-frames-while-implementing-ptp-with-qnx-rtos-in-jacinto-6-evm

HII、

  我不熟悉 CPTS。 我在 QNX BSP 中提到了 PTP.c 和 devctl.c。 如何获取帧的时间戳、是否必须使用 ioctl 函数来获取它、如果必须使用该 ioctl 函数(在接收/传输帧后或在打开 socket/bpf 文件描述符时)。 我使用 BPF 收发原始以太网帧。 如果有任何方法来实现用于收发原始以太网帧的套接字、建议使用该解决方案。

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

    我已将您的问题转发给 QNX 专家。

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

    我有 QNX 专家的回复:

    关于 IOCTL 标志、查看文件 devctl.c、SIOCSDRVSPEC、SIOCGDRVSPEC 的 IOCTL 标志、支持特定于驱动程序的 devctl 标志或 PTP_GET_TX_TIMESTAMP 和 PTP_GET_RX_TIMESTAMP、请尝试在测试设置中使用这些选项。

    关于原始以太网帧,socket() API 的 QNX 文档将 SOCK_RAW 选项列为原始以太网的选项。 您需要在系统上进行测试、以查看它是否满足您的需求。

    ioctl()- www.qnx.com/.../index.jsp
    socket()- www.qnx.com/.../index.jsp


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

    HII、

       感谢您的回复。 对于 RAW 套接字、我在 Linux 中使用了 AF_PACKET、但 QNX 中不可用。 我在 QNX 中必须使用什么来代替 AF_PACKET。 我将 BPF API 用于原始套接字通信、但无法在 PTP ioctl 中使用 BPF 文件描述符。 我的目标是在 J6中获取用于发送和接收原始以太网帧的硬件时间戳。 在 Linux 中、我使用套接字函数通过 CPTS 驱动程序获取时间戳。 而在 QNX 中、我无法创建原始以太网套接字。 请提供一些实施建议。

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

    如需发送/接收原始以太网帧、请联系 QNX 软件系统部门获取推荐/样片方法、或联系您当地的 TI FAE。

    此致、
    Yordan