Цитата(_4afc_ @ Sep 11 2008, 13:40)

Не пользоваться файловой системой, а то ещё и с защитой интелектуальной собственности будете боротся.
Весь смысл моего девайса в том, что его можно воткнуть в любой комп и сразу работать. Для того на нём и MassStorage стоит (ещё HID есть - устройство составное). Т. е. совершенно неподготовленный пользователь, которые этот девайс впервые видит и никакой документации не имеет: 1. Воткнул его в УСБ, 2. На появившемся диске мышкой на .exe нажал (диск read only), 3. Тут у него уже и документация и помощь появилась, 4. Логи прочитал (хотя м.б. и не знает, что это так называется) и себе на винт скопировал, 5. Через HID девайс перенастроил (если разобрался), 6. Объектом поуправлял (если связь есть). И всё это без установки к. л. драйверов.
Тут без файловой системы никак. А вообще я не слышал чтобы файловая система или Mass Storage были к.л. патентом защищены.
Цитата(_4afc_ @ Sep 11 2008, 13:40)

Короче - создайте устройство, объёмом 16 и более мнимых секторов.
Читайте средствами ОС сектора напрямую. В винде есть ограничения - может не читать меньше 16 секторов.
На стороне ОС читаете или пишете большой блок в сектора подрят.
На стороне МК берёте или отдаёте данные не смотря на номер сектора.
Скорость потока регулируется временем обработки сектора на стороне мк.
Об этом я както и не подумал. Спасибо.
Цитата(_4afc_ @ Sep 11 2008, 13:40)

Для передачи 2 мегабит в секунду с at91sam7s64 в ПК хватало внутреннего буфера в 4 кб. А более 2 мегабит - вытянуть не удалось.

Только Mass Storage (без HID) у меня строго мегабайт в секунду читается. Т.е. максимально возможная скорость у FS USB - NAKов я вообще не хосту не передаю. А когда в составном устройстве (HID добавляется), то скорость падает т.к. шина под HID резервируется.
Цитата(_4afc_ @ Sep 11 2008, 13:40)

Максимально вроде удавалось отдавать 10 мбит в ПК, но это прямо на пайпах со своим драйвером.
А тах шина конечно медленная надо для таких задач осваивать HS, апример на SAM9RL64
У USB FS 8 мбит максимум. 16 пакетов по 64 байта в милисекунду. Если ещё и контрольный канал использовать, то ещё 1 пакет добавляется. Но до 10 мбит всё равно не дотягивает.
HS я пробовал, там всего 2 дескриптора добавляются, а так всё тоже самое. Но у меня ошибки CRC начали частенько возникать (хотя м.б. это у меня руки кривые). И я подумал, что если уж у меня на столе подглючивает, то что на объекте то будет! И для себя решил, что если FS по скорости вытягивает, то на нем и нужно делать.