Требуется реализовать USB mass storage device на основе evaluation kit (EK). (файловая система подключена).
В примерах StellarisWare имеется bulk device, usb_host_msc и ряд других, но примеров mass storage device нет ни там, ни при поиске в Интернете...
Bulk device определяется на стороне РС, но требует установки драйвера.
MSC host на стороне PC не определяется.
Читая описание ROM-функций и примера usb_host_msc, сделал следующее:
- настройка USB, GPIO, DMA как в примере
- заполнение структуры tUSBDMSCDevice, как предлагается в описании ROM-функций (вместо всех callback-функций стоят заглушки с записью логов)
- вызов функций:
USBStackModeSet(0, USB_MODE_OTG, ModeCallback);
pv = USBDMSCInit(0, &g_sMSCDevice);
- обработчик прерывания из примера USB0OTGModeIntHandler настроен для вызова по вектору.
Вторая функция возвращает ОК, но никакой реакции на стороне РС не возникает. На callback-функции не попадает.
С USB ранее я не занимался, разбираюсь во всём с нуля. Поэтому возникают вопросы:
- Для реализации mass storage надо прописывать отсутствующий в примерах DEV MODE или это делается на основе OTG MODE?
- На основе какого примера можно с минимальными затратами реализовать mass storage? Какая примерно будет последовательность вызова функций для инициализации режимов USB?
- Где можно / можно ли вообще посмотреть готовый пример?
Спасибо.