Перейти к содержанию
    

Allwinner T113-s3 уделал HiFi4 DSP. Смеяться или плакать?

11 минут назад, _Евген_ сказал:

Удалось ускорить работу с fatfs+SD ?

И что, кэширование не помогает? 

11 минут назад, _Евген_ сказал:

По коду драйвер diskio использует mmc_write_blocks по 512 байт.

Ну дык, чего ж вы хотели-то? Кэширования нет, блок по 512байт... 

ЗЫ. Вы б еще карту по SPI подключили для полного, так сказать, эффекта. Мы ж тут уже писали неоднократно, что нужен больший размер блока, кэширование записи и пр...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 минуты назад, mantech сказал:

Мы ж тут уже писали неоднократно, что нужен больший размер блока, кэширование записи и пр...

Можно по подробнее, что значит кеширование записи и что за блоки? Это параметры fatfs?

Для работы с видео в проекте используется кешируемые буфера(ve_malloc -> 0x08...), я это понял по опыту, т.к. для устранения артефактов кодека(на сжатых картинках) пришлось добавить реализацию ve_flush_cahe c armv5_flush_cache 😃 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, _Евген_ сказал:

Можно по подробнее

Флеш накопители не могут быстро работать, когда размер блока 512 байт. Для больших объемов данных необходимо делать блоки по 4, 8 или 16 Кбайт, некоторые карты позволяют и по 32Кб, чем больше емкость карты тем более эффективна она на больших блоках. Ну по простому, есть время за которое идет запись, и запишите вы 512 байт или 32К оно одинаковое, но скорость записи будет в 64 раза быстрее, так понятно? При чтении тоже есть выигрыш читая большими блоками. 

Кэширование записи. При записи пишется не только ваш объем данных, но и служебная инфа, если ее не кэшировать, то она будет записываться на карту при записи каждого блока, при кэшировании она пишется в буфер, а потом сбрасывается на карту но не каждый раз, а раз в 10 записей или 50, это уж как сделаете. Минус - питание должно быть хорошее, чтоб не порушить таблицы ФАТ.

Даже еслти лень делать кэширование, то запись большими блоками у меня давала уже 5мбайт\сек , с кэшированием еще 1.5 - 2 мега больше было. Карта работала в стандартном режиме, 3.3В.

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, mantech сказал:

то запись большими блоками у меня давала уже 5мбайт\сек , с кэшированием еще 1.5 - 2 мега больше было.

Вы описываете такие "вкусные вещи", но не приводите их "рецепт". =(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, _Евген_ сказал:

Вы описываете такие "вкусные вещи", но не приводите их "рецепт". =(

А подумать самостоятельно? Здесь не раздел для начинающих, где все разжевывают и подают на тарелочке)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, _Евген_ said:

Вы описываете такие "вкусные вещи", но не приводите их "рецепт". =(

Посмотрите тут: https://github.com/minilogic/f1c_nonos/tree/main/src/usbh/msc Запись, если это возможно, делается порциями по 32КБайта. Результат на экране 😉

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, Ozelot сказал:

Посмотрите тут: https://github.com/minilogic/f1c_nonos/tree/main/src/usbh/msc Запись, если это возможно, делается порциями по 32КБайта. Результат на экране 😉

Согласен, цифры соблазнительные, но мне флешку в корпус не впихнуть. А лишние отверстия увеличат риск попадания воды.

Я правильно Вас понял, что общим решением кратного роста пропускной способности fatfs в обоих случаях, является увеличение размера кластера(под windows(10RUS) -> форматировать -> Размер единицы распределения)? Но как быть с ограниченным списком MIN 512 ... MAX 4096 в fatfs/ffconf.h(Пишу по памяти): при попытке увеличить в fatfs/ffconf.h значение MAX c 4096  на значения выше при сборке были ошибки на "#if" в коде

Изменено пользователем _Евген_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мин макс этот размер сектора (блока). А кластер это группа последовательных секторов (блоков)

Пару лет назад я с FatFS на ehci контролоере пооучал скорости записи пол макчимум пропускной спосоьности usb hs и hdd.

Вот тут

 

https://electronix.ru/forum/topic/166772-allwinner-t113-s3/?do=findComment&comment=1813823

 

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 минут назад, _Евген_ сказал:

Согласен, цифры соблазнительные, но мне флешку в корпус не впихнуть.

При чем тут флешка в корпус? сд карта - это та же флешка, просто другой интерфейс связи. Вам написали же, что нужно работать блоками по 32К...

15 минут назад, _Евген_ сказал:

Я правильно Вас понял, что общим решением кратного роста пропускной способности fatfs в обоих случаях, является увеличение размера кластера(под windows(10RUS) -> форматировать -> Размер единицы распределения)?

В вас каша в голове, причем тут кластеры? Блоки это другое. Почитайте про ФС вообще и по ФАТ в частности, прежде, чем задавать глупые вопросы...

17 минут назад, _Евген_ сказал:

MIN 512 ... MAX 4096

Оставьте там 512, не трогайте))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 минуты назад, mantech сказал:

Вам написали же, что нужно работать блоками по 32К...

Я не понимаю про какой уровень вы говорите. Где определяется размер этих "блоков": на уровне драйвера SD, fatfs или в пользовательском приложении?

 

44 минуты назад, mantech сказал:

В вас каша в голове, причем тут кластеры? Блоки это другое. Почитайте про ФС вообще и по ФАТ в частности, прежде, чем задавать глупые вопросы...

Я честно стараюсь разложить кашу "по полочкам". Когда я вчера изменял "Размер единицы распределения" при форматировании карты, я заметил, что кол-во блоков(блок=512) в одной операции записи на уровне драйвера sdio.c так же менялось. Т.е. уменьшалось общее кол-во вызовов функции записи. Я решил,  что Вы эти блоки имели ввиду.

 

44 минуты назад, mantech сказал:

Оставьте там 512, не трогайте))

в ffconf.h все в исходном виде оставил. У меня там и поддержка EXT_FAT выключена стоит(в проекте f1c_nonos она включена).

48 минут назад, GenaSPB сказал:

Мин макс этот размер сектора (блока). А кластер это группа последовательных секторов (блоков)

Пару лет назад я с FatFS на ehci контролоере пооучал скорости записи пол макчимум пропускной спосоьности usb hs и hdd.

Вот тут

 

https://electronix.ru/forum/topic/166772-allwinner-t113-s3/?do=findComment&comment=1813823

 

 

Я так понял по общей реакции, что я не к месту применил термин "кластер". "Размер единицы распределения" из Win10 - соответствует общему представлению термина блока? 

Изменено пользователем _Евген_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 минут назад, _Евген_ сказал:

(блок=512)

Это сектор. Блок может быть 512 - 32768, в зависимости от того, как вы пишете в функции ff_write и поддержке драйвера сд карты, в файле disk_io. Там функции сообщается, сколько секторов она может записать одним блоком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, GenaSPB сказал:

Зря exfat отклбчили..

Ну может он и не нужен, у меня тоже отключен, т.к. поддержка карт SDHC только. Главное LFN включить, иначе с длинными именами будет лажа...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Partitions ещё. У мкня больше разнообразия - в виде usb накоаитеоей разнообразия побольше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...