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/EVMK2H:SRIO 不能发送64字节类型11消息

Guru**** 2590860 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/588407/ccs-evmk2h-srio-can-not-send-64-bytes-type-11-message

器件型号:EVMK2H

工具/软件:Code Composer Studio

您好!

   我正在使用 MCSDK 3.1.4.7在   Ubuntu Linux 上将类型11 256字节从 KeyStone 2发送到 FPGA。 (我确信这不是 Linux 问题)。 我以 SRIO MuticoreLpbk 为例。  它运行良好。

   现在、我要向 FPGA 发送64字节。  我确保"SRIO_socksend"、"cfg.U.drvManagedCfg.rxCfg.rxMTU" "cfg.U.drvManagedCfg.txCfg.txMTU"全部设置为64。  但是、当数据传输到 FPGA 时、 从11类报头可以看到 SSIZE 为"e"、可转换为256B。  

   SSIZE 的 SRIO 文档:

0b1100—64字节消息段(最多支持带有16个段的1024B 消息)

0b1101—128字节消息段(最多支持带有16个段的2048B 消息)

0b1110—256字节消息段(最多支持具有16个段的4096B 消息)


   如何解决此问题?

   此致

    Yoyo

     

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

    我已将此内容转发给 SRIO 专家。 他们的反馈应发布在此处。

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

    你(们)好

    根据 MCSDK 2.1.2.6 (我正在使用)中的代码、rxMTU/txMTU 仅影响缓冲区分配。
    SSIZE 设置硬编码为256字节(0xe)、如 SRIO_drv.c 中所示


    int32_t SRIO_sockSend_TYPE11
    (
       SRIO_SockHandle        srioSock、
       SRIO_DrvBuffer         hDrvBuffer、
       uint32_t               numBytes、
       将 SRIO_SockAddrInfo*     添加到
    )

       (笑声)

       /*创建 SRIO 协议特定信息:我们始终支持最大数据包大小和无限重试。 *
       CSL_SRIO_SetType11PSInfo (srioInfo、ptr_addr11Info->id、ptr_localAddr11Info->id、
                                ptr_addr11Info->mbox、ptr_addr11Info->letter、ptr_addr11Info->tt、0xe、0x0);

       (笑声)


    由于 SSIZE 定义了最大有效载荷大小、因此即使发送64字节数据、也不必更改为64字节。

    谢谢、
    SEI Kato