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/TMDSEVM6678:SRIO DIO 配置

Guru**** 2551640 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/600231/rtos-tmdsevm6678-srio-dio-config

器件型号:TMDSEVM6678

工具/软件:TI-RTOS

你(们)好

在我的方案中、我希望通过 SRIO 将 FPGA 数据发送到 DSP 内核的 L2SRAM、在处理数据后、DSP 将数据通过 SRIO 返回到 FPGA。

我将" C:\ti\pdk_C6678_1_1_2_6\packets\ti\drv\examplpleProjects\SRIO_LoopbackDioIsrexampleProject "设置为我的基本工程。

我知道 SRIO 数据包的最大有效载荷大小为256B。 借助直接 I/O、一个 SRIO 事务可以通过 设置 LSU_REG3说明来支持多个数据字节、从而读取/写入高达1MB 的数据。

问题1:

我找不到应该在哪里设置 LSU_REG3? 如何发送1 MB 数据?

问题2:

我找不到应该在哪里设置 LSU 寄存器? 如何在 代码中设置 LSU 寄存器?

问题3:

 SRIO 驱动程序是否有任何参考或文档?

此致

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

    我已通知设计团队。 他们的反馈将在此处发布。

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

    LSU_REG3和其他 LSU 寄存器在 pdk_x\packages/ti\drv\SRIO\src\SRIO_drv.c 中的 SRIO 驱动程序函数 SRIO_sockSend_DIO ()中进行配置 您可以在应用程序中引用 dioSocketsWithISR()函数来发送大小为1MB 或更大的数据。

    SRIO 驱动程序设计文档 SRIO_SDS.pdf 位于 pdk_x\packages/ti\drv\SRIO\docs 中。

    可从 software-dl.ti.com/.../index_FDS.html 获取 C6678x 的最新 PDK 版本2.0.5。

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

    尊敬的 Garret
    感谢您根据我之前的帖子提供的答案。


    问题1:
    要发送1MB 数据,我应该将 Size_DIO_packet 设置为1MB?

    问题2:
    是否可以将源地址更改为本地 L2 SRAM、将目标地址更改为 MSMC SRAM?

    我想使一个处于回送模式的项目、Core1在 DIO 模式下通过 SRIO 将数据发送到 Core0、Core1在接收到数据后从其本地 L2 SRAM 发送数据到 MSMC SRAM、Core0和 Core0生成中断

    数据。

    第一:
    我运行" C:\ti\pdk_C6678_1_1_2_6\packages\ti\drv\examplpleProjects\SRIO_LoopbackDioIsrexampleProject "项目。 此项目不使用 SRIO_sockRecv()函数。

    第二:
    我运行"C:\ti\pdk_C6678_1_1_2_6\packages\ti\drv\examplpleProjects\SRIO_MulticoreLoopbackexamplpleProject"项目、并完成了一些更改:

    我在两个内核上运行该项目、这样 Core1在 DIO 模式下将数据从其本地 L2 SRAM 发送到用于 Core0的 MSMC SRAM、但 Core0未接收到数据!!

    问题1:
    是否可以在 DIO 中以环回模式运行 SRIO?(我在 Core0中使用了 SRIO_sockRecv ()函数)

    问题2:
    我应该怎么做?

    此致

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

    你(们)好

    请回答我的问题。 我在等。

    我认为在 DIO 操作模式下、写入器端直接在存储器中写入数据、因此无需在接收 端使用" SRIO_sockrcv ()"函数。

    我的想法是对的吗? 如果答案是肯定的、如何从 收到 的数据通知接收方?

    此致

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

    请回答 我的问题。 为什么没有人回答我????

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

    Dariush


    是的、Size_DIO_packet 可设置为高达1MB、请参阅 LSUx_Reg3

    19-0 Byte_Count 19'h0要读取/写入的数据字节数-高达1MB。 (与 RapidIO 地址一起使用以创建
    RRapidIO 数据包头中的 WRSIZE/RDSIZE 和 WDPTR)。
    0x0000—1MB
    0x0001—1B
    0x0010—2B
    …μ A
    0xFFFFF—1048575B

    您应该能够将源地址修改为本地 L2 SRAM、将目标地址修改为 MSMC SRAM。 请注意、本地 L2 SRAM 为每个内核512KB。

    >>我认为在 DIO 操作模式下,写入器端直接在内存中写入数据,因此无需在接收 端使用“SRIO_sockrcv()”函数。

    没错。

    >>如何将 收到 的数据通知接收方?

    您可以使用门铃通知远程侧、请参阅此处的讨论:

    此致、Garrett

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

    你(们)好

    非常感谢您的回答。

    我有一个包含 FPGA 和 DSP 的定制板。 我想通过 SRIO 将数据从 FPGA 发送到 DSP。
    我希望 FPGA 在 DSP 存储器中写入数据。 在我学习了" sprugw1b.pdf "之后、我决定使用 DIO 并运行
    " C:\ti\pdk_C6678_1_1_2_6\packages \ti\drv\exampleProjects\SRIO_LoopbackDioIsrexampleProject "示例。

    根据" sprugw1b.pdf "第63页、如果数据包类型为 nread、NWRITE ...、 则 DSP 处于中的 DIO 运行模式
    换句话说、当 FPGA 发送包括 SWRITE、Nread、NWRITE、DSP 接收到 DIO 数据包在内的数据包时。

    问题1:
    FPGA 中的哪个标头字段负责 DSP 存储器映射地址?

    我在第168页学习了" pg007.pdf "、描述了数据包格式、如下所示。

    问题2:
    哪个帧字段决定了" sprugw1b.pdf "中图2-11中的 DSP 存储器地址、如下所示?

    问题3:
    为什么" WrPtr "是一个字节?

     此致