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.

[参考译文] AM5728:了解技术参考中的 DMA 示例代码

Guru**** 2406500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1484296/am5728-understanding-dma-example-code-in-technical-reference

器件型号:AM5728

工具与软件:

我尝试利用 ARM 处理器可用的 DMA 引擎、并通读了技术参考文档 spruhz6l。

我在"16.1.5 dma_system 基本编程模型"部分找到了一些示例代码、此示例代码使用名为 DMA4/DMA4_t 的结构、这些结构似乎非常有用、但我找不到任何对我正在使用的 SDK 版本09.02.00.133的引用。 是否有这样一个示例可用于编译与该示例类似的内容进行测试? 如果有另外一个正在配置/发送突发写入的示例、效果会更好。

我假设,因为我可以查找所有 DMA4配置寄存器的内存地址,我可以使用 mmap ()从零开始写入所有这些内容,但 我不喜欢重做已经完成的工作,如果我可以找到它。

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

    您好、Quinn、  

    您使用的是 Linux 是否正确? 我相信我们的系统都使用 DMA 引擎 API: https://docs.kernel.org/driver-api/dmaengine/client.html

    TRM 中的半代码可能更接近 RTOS/No-OS 代码。


    -若苏厄

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

    您好、Josue:

    我使用的是 Linux。

    感谢您指向内核文档的指针、这将为我清除一些内容。

    我仔细检查了一下、好像 AM57上已经有 DMA 引擎的 sysfs 实施方案、但我一直无法从用户空间中找到任何专门用于此接口的文档。 您是否知道 sysfs 实施中是否已有任何相关文档?  

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

    Quinn,

    我不在办公室、直至2013年3月。 请预计会有延迟。

    若苏厄

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

    您好、Quinn、

    我认为对于此用例、您必须使用内核驱动程序或 ioctl 路由。
    我也看到了以下链接: https://docs.kernel.org/driver-api/dma-buf.html#userspace-api-principles-and-use

    祝你好运!

    -若苏厄  

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

    感谢您提供的信息、我认为这可以回答我有关这些文档的所有问题。