0

研究有关 Stellaris/Tiva USB 库的 TI 文档,我找不到该库是否可用于 DMA 传输。特别是,批量传输设备似乎没有为 DMA 提供配置选项。(整个手册只提到了主机音频的 DMA,并提到了大容量存储的 DMA,但警告不要使用它)。

有人知道吗?

注意:我指的是 USB 驱动程序库,而不是外设驱动程序库。后者确实允许使用 DMA,但不提供设备编号功能。

编辑:正如 Ralf 所说(如下),有一些关于将 DMA 与大容量存储类一起使用的文档,但该类旨在与 DMA 一起使用 - 它似乎有许多管理 DMA 访问的内部函数,但奇怪的是够了,批量传输类没有这个功能(即使海量存储在内部使用批量传输)。

我不认为大容量存储对我来说是一个解决方案——将数据存储为文件的额外工作似乎与 ADC 采集样本的流性质不兼容。

4

1 回答 1

1

网上有几个例子使用driverlib/udma.hhttps://github.com/yuvadm/tiva-c/blob/master/driverlib/udma.h),即https://github.com/Emeryth/Stellaris-mass-存储引导加载程序/blob/master/boot_usb_msc.c

在TIVA 文档的第 313 页上列出了内置 USB DMA 功能,它们的实现在https://github.com/yuvadm/tiva-c/blob/master/usblib/usbdma.chttps://github.com/ yuvadm/tiva-c/blob/master/usblib/usblibpriv.h

于 2016-04-28T12:29:44.297 回答