STM32 Mass Storage

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
AlexZavgorodniy
Родился
Сообщения: 10
Зарегистрирован: Пн июн 25, 2012 05:02:00

STM32 Mass Storage

Сообщение AlexZavgorodniy »

Доброго времени суток, товарищи!


Нужна ваша помощь.
Сделал композитное устройство CDC+MSC под stm32l4. В качестве памяти использую SPI микруху. Оба класса CDC и MSC работают без проблем. Винда также видит флешку, форматирует и успешно пишет/читает файлы.

Проблема заключается в следующем:

отправляю данные через ком-порт, МК видит файловую систему, создает файл и успешно в него записывает данные. Однако, видна не видит созданного файла. Данный файл появляется только тогда, когда сделаю реконнет USB.

Хочется увидеть работу девайста такой:
Воткнул USB - > открыл флешку и допустим, проверил есть ли файл -> кинул данные через ком-порт (это будет делать пользовательское приложение) -> без реконнета USB проверил, что файл с данными создан на флешке

Есть подсказки, где и что искать?
Реклама
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: STM32 Mass Storage

Сообщение COKPOWEHEU »

По-человечески не выйдет. Протокол MSD подразумевает что устройство является просто хранилищем данных, сами по себе они не меняются. Соответственно ОС может и скорее всего будет буферизировать данные чтобы не изнашивать "флешку" попусту.
Чтобы это обойти, можно попробовать поискать настройки кэширования (отключить его), но это придется делать каждый раз.
Либо притвориться другим устройством и использовать такой протокол, который допускает именно обмен данными, а не просто хранение. Да тот же CDC или HID. При желании можно вокруг него написать "драйвер", который бы отображал данные в виде файловой системы.
Ну и самый кривой способ - разбираться с MTP-протоколом, по которому телефоны с компьютером общаются.
Реклама
Ответить

Вернуться в «ARM»