GenaSPB 11 1 октября, 2021 Опубликовано 1 октября, 2021 (изменено) · Жалоба Напомню - вот результаты моих тестов того же фреймворка, но на USB_OTG. Никаких потоков, просто суперцикл. Это Middleware от ST. Получить бы такую же скорость и можно считать повезло. Quote запись файлов на usb flash и жесткий диск при подключении к usb a порту на stm32h743 @400 MHz. Интенфейс usb fs. пустой 5400 rpm FUJITSU 200 GB SATA disk диск через USB переходник, 128k cluster: 1 minute - 65273856 = 1087 kB/S exFAT, 64k block writes 1 minute - 64749568 = 1079 kB/S exFAT, 128k block writes поскольку отмерялось вручную, изменений нет в пределах пограшности измерения 1 minute - 62832640 = 1047 kB/S exFAT, 2k block writes Флешка 8 гб, фат32 с 32кб кластером: 1 minute - 34828288 = 580 kB/S FAT32, 4k block writes 1 minute - 46940160 = 782 kB/S FAT32, 16k block writes 1 minute - 49610752 = 826 kB/S FAT32, 64k block writes. Использованы исходники из stm32 cube с минимальными доработками. STM32MP157 @650 MHz, OTG_HS. пустой 5400 rpm FUJITSU 200 GB SATA disk диск через USB переходник, 128k cluster: 1 minute - 321636352 = 5360 kB/S exFAT, 2k block writes 1 minute - 404914176 = 6748 kB/S exFAT, 32k block writes 1 minute - 409731072 = 6828 kB/S exFAT, 128k block writes USB FLASH exFAT, 32k cluster: 1 minute - 130449408 = 2174 kB/S exFAT, 32k block writes 1 minute - 139329536 = 2322 kB/S exFAT, 128k block writes Изменено 1 октября, 2021 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 1 октября, 2021 Опубликовано 1 октября, 2021 (изменено) · Жалоба Изменив параметр "частота прерываний от контроллера" 8 на 1 - для получения прерывания по окончании обмена - получил вместо 400 килобайт скорость 2.5 мегабайта в секунду на USB FLASH. SATA HDD чуть позже. Quote Флешка 8 гб, фат32 с 32кб кластером:2610 kB/S exFAT, 128k block writes Изменено 1 октября, 2021 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 1 октября, 2021 Опубликовано 1 октября, 2021 · Жалоба 1 минуту назад, GenaSPB сказал: ..."частота прерываний от контроллера"... Это где? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 1 октября, 2021 Опубликовано 1 октября, 2021 (изменено) · Жалоба USBCMD, биты 23:16 - "interrupt treshold control" upd: убрал у всех элементов ASYNC флаг EHCI_CHR_HEAD - стало 3.7 мегабайта в секунду... Уже чувствуется USB HS Изменено 1 октября, 2021 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 1 октября, 2021 Опубликовано 1 октября, 2021 · Жалоба И как неплохой результат: LUN #0: Inquiry Vendor : Hitachi Inquiry Product : HTS542512K9SA00 Inquiry Version : MSC Device ready MSC Device capacity : 117220824 KBytes Block number : 234441648 Block Size : 512 Это устройство даёт не менее 4 бегабайт в секунду на EHCI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 34 1 октября, 2021 Опубликовано 1 октября, 2021 · Жалоба 2 часа назад, GenaSPB сказал: стало 3.7 мегабайта в секунду... Это чтение или запись? Для чтения все равно очень мало... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 1 октября, 2021 Опубликовано 1 октября, 2021 (изменено) · Жалоба Я тольуо запись тестирую - 128k block writes через FatFS Изменено 1 октября, 2021 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 34 1 октября, 2021 Опубликовано 1 октября, 2021 · Жалоба 3 часа назад, GenaSPB сказал: для получения прерывания по окончании обмена Чет я не помню там прерываний, у меня все работает в режиме поллинга на своей задаче. 1 минуту назад, GenaSPB сказал: Я тольуо запись тестирую - 128k block writes через FatFS А чтение сколь дает или оно вообще не реализовано? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 1 октября, 2021 Опубликовано 1 октября, 2021 · Жалоба Да у меня тоже можно в опросе проверять. Чаще всего оде несколько ускоряет - так как всё это изначально под super loop предназначено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 34 1 октября, 2021 Опубликовано 1 октября, 2021 (изменено) · Жалоба 7 минут назад, GenaSPB сказал: 128k block writes Это по 512байт 128 блоков? Смысл таким большим куском писать? При тестировании прирост от размера блока 4Кбайта к 16Кбайт почти 4 раза, 16К-32К полтора раза, более 32К уже не заметно, но буферировать все это добро приходится.. ЗЫ.. А понял, это блок размером 128Кбайт))) Изменено 1 октября, 2021 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 1 октября, 2021 Опубликовано 1 октября, 2021 (изменено) · Жалоба написано же... 128 килобайт. А про зависимость от размера был тест ранее, результаты выше - Да, после 64 кБ не сильно влияет. upd: в режиме софтового опроса: USB FLASH: Write speed 5622 kB/SHDD: Write speed 20097 kB/S (через USB -> SATA переходник, напомню) Изменено 1 октября, 2021 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 2 октября, 2021 Опубликовано 2 октября, 2021 (изменено) · Жалоба После некоторых доработок ST Middleware - для использования чтения длинных USB BULK пересылок если есть (а EHCI позволяет сам формировать последовательность из множества запросов IN) - получил: USB FLASH: Write speed 5332 kB/S SATA HDD: Write speed 38637 kB/S Это для непрерывной записи в течении одной минуты. Скорость чтения windows 10 c с того же диска аналогична: Изменено 2 октября, 2021 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться