Используете USB-библиотеку Stellaris/Tiva с uDMA?

Изучая документы TI о библиотеке Stellaris/Tiva USB, я не могу найти, может ли эта библиотека использоваться для передачи DMA. В частности, устройство Bulk Transfer, похоже, не предлагает параметров конфигурации для DMA. (Во всем руководстве упоминается только DMA для Host Audio и упоминается DMA для Mass Storage, но при этом не рекомендуется его использовать).

Кто-нибудь знает об этом?

Примечание. Я имею в виду библиотеку драйверов USB, а не библиотеку периферийных драйверов. Последний разрешает использование DMA, но не предлагает функций для нумерации устройств.

Редактировать: Как говорит Ральф (ниже), есть некоторая документация по использованию DMA с классом Mass Storage, но этот класс предназначен для использования с DMA - у него, кажется, есть много внутренних функций, которые управляют доступом к DMA, но странно достаточно, чтобы класс Bulk Transfer не имел этой возможности (даже несмотря на то, что Mass Storage использует внутреннюю передачу данных).

Я не думаю, что Mass Storage - это решение для меня - дополнительная работа по сохранению данных в виде файлов не кажется совместимой с потоковой природой полученных образцов ADC.

1 ответ

Есть несколько примеров в сети, которые используют driverlib/udma.h ( https://github.com/yuvadm/tiva-c/blob/master/driverlib/udma.h), т.е. https://github.com/Emeryth/Stellaris-mass-storage-bootloader/blob/master/boot_usb_msc.c

На странице 313 документа TIVA перечислены встроенные функции USB DMA, их реализация находится по https://github.com/yuvadm/tiva-c/blob/master/usblib/usbdma.c и https://github.com/yuvadm/tiva-c/blob/master/usblib/usblibpriv.h

Другие вопросы по тегам