Цитата(Lotor @ Sep 3 2012, 16:01)

На счет скорости тут на форуме много тем вердикт которых - надо буферизировать и писать большими кусками сразу
Насколько "большими" ?
Цитата
. Надеюсь Вы предусмотрели внешнюю память для этих целей (SDRAM например).
Нет, внешней памяти там нет, но буфер до 64к могу выделить.
Мне вот еще что непонятно:
1) Почему 1гб флешка почти вдвое быстрее чем 4гб - потому что ФАТ 16 а не ФАТ32?
2) Я писал блокми по 4К, это как раз размер кластера для 4гб флешки.
Когда я попробовал писать блоками по 16К - скорость на 1гб флешке увеличилась почти втрое! Достигнув примерно 1МБайт/сек.
И это понятно, потому что у нее кластер 16к.
А вот для 4гб флешки скорость не изменилась, и это тоже понятно - потому что блок кратен и больше кластера.
Но получается, что 1гб флешка с фат16 уже не вдвое а примерно в 5 раз быстрее чем 5гб флешка с фат32!
И этого я совершенно не могу понять - обьем передаваемых по DMA данных одинаков, и уж намного больше чем обьем данных таблиц фат. Неужели 32-х разрядный 168МГц процессор не просто во много раз медленее работает с фат32 чем с фат16, а настолько, что это становиться более значимым чем обьем передаваемых данных?!
Цитата
На счет блокирующей записи - именно из-за неё мне пришлось спешно прикручивать ртос в своё время. Конечно можно выкрутится и без неё, но имхо самое простое решение. В итоге мой девайс пишет видео со скоростью 5 МБайт/с.
Нихренассе! У меня максимум 1МБайт/с пока получается, на 1гб флешке с ФАТ16, при блоке равном кластеру (16К).
При том, что проц сейчас вообще больше ничего не делает (кроме SysTick прерывания, но там почти ничего нет кроме пары счетчиков и пары флагов).
На каком проце у Вас это было ?
Может есть еще какой-то "fine tuning" в конфиге FatFs?