реклама на сайте
подробности

 
 
> stm32 и FatFs от Chan
Ioann_II
сообщение Mar 30 2017, 02:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 7-06-05
Пользователь №: 5 797



Здравствуйте, Уважаемые коллеги.

Снова нуждаюсь в Ваших подсказках.

Наконец-то подключил файловую систему от Чана и решил её опробовать.
Версия R0.11 от 02-02-2015.
Пробую открыть файл и дописать в его конец данные:
Код
f_open(&MyFile, "stm32.txt", FA_WRITE | FA_OPEN_ALWAYS);
f_lseek(&MyFile, f_size(&MyFile));
f_write(&MyFile, wtext, strlen((char *)wtext), &wbytes);


По описанию, FA_OPEN_ALWAYS должна открывать файл, если он есть и создавать если его нет.
Код выполняется, но:
- если такой файл уже есть, то очень быстро, менее 1с.
- если файла нет, то f_open и f_lseek срабатывают быстро, а вот f_write - долго, примерно минута. файл с данными появляются.

С чем это может быть связано? Куда "копать"?

_FS_NORTC пробовал (время не организовывал).
портирование от Domen Puncer, немного переделал.

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rash
сообщение Mar 31 2017, 19:47
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Потеря скорости и времени будет, если писать по 82 байта. Скорость можно достичь если кратно секторам и то хотя бы начиная с 1024, а то и лучше 4096 байт, складывая нужные данные в свои буферы. Также есть задержка после записи/чтения данных. Задержка завесит от размера передаваемых данных. Для записи может длится 1-30 мсек. Причём самая длительная имеет одну и туже периодичность, скорее всего зависит при переходе между блоками.

Думал сделать буфер на низком уровне, но не получилось, т.к. есть перекрёстный вызов из FatFs функций Write и Read. Выход, вставить переключение задач пока идёт ожидание, что бы не терять время при частой записи на SD карту.
Go to the top of the page
 
+Quote Post
Ioann_II
сообщение Apr 1 2017, 10:21
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 7-06-05
Пользователь №: 5 797



Отформатировал карту.
Записал большой объём данных (мегабайт на 300).
Проверил ещё раз:
открытие - 185 мс
поиск конца файла - 0 мс
запись данных 10*82 байт - 81 мс.

Вывод: похоже, что FatFs от Чана тут не при чём... До этого на этой карте тестировал другую FAT32 - Похоже, что там что-то не так. А тут всё норм.

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

Но всё равно хорошо, что спросил - получил полезную информацию, советы и ссылки.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 1 2017, 13:23
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Ioann_II @ Apr 1 2017, 12:21) *
Вывод: похоже, что FatFs от Чана тут не при чём... До этого на этой карте тестировал другую FAT32 - Похоже, что там что-то не так. А тут всё норм.

Ещё вроде желательно, чтобы все структуры (начала копий FAT, бутзапись, корневой каталог) были выровнены по границе блока стирания карты. Тогда вроде операции записи выполняются значительно быстрее. Размер блока стирания указан в CSD.
Может на той проблемной карте было невыровнено.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ioann_II   stm32 и FatFs от Chan   Mar 30 2017, 02:04
- - Genadi Zawidowski   три вопроса: 0) почему не последняя версия? 1) поч...   Mar 30 2017, 07:36
- - MiklPolikov   Цитата(Ioann_II @ Mar 30 2017, 05:04) С ч...   Mar 30 2017, 16:54
- - Ioann_II   0) почему не последняя версия? Версия та, что была...   Mar 30 2017, 23:57
|- - MiklPolikov   Цитата(Ioann_II @ Mar 31 2017, 02:57) Пол...   Mar 31 2017, 06:31
||- - Ioann_II   Цитата(MiklPolikov @ Mar 31 2017, 09:31) ...   Mar 31 2017, 07:41
||- - jcxz   Цитата(Ioann_II @ Mar 31 2017, 09:41) Воп...   Mar 31 2017, 09:02
|||- - Ioann_II   Цитата(jcxz @ Mar 31 2017, 12:02) Если по...   Mar 31 2017, 11:56
||- - MiklPolikov   Цитата(Ioann_II @ Mar 31 2017, 10:41) Пох...   Mar 31 2017, 12:23
||- - Ioann_II   Цитата(MiklPolikov @ Mar 31 2017, 15:23) ...   Mar 31 2017, 14:15
||- - Шаманъ   Цитата(Ioann_II @ Mar 31 2017, 17:15) При...   Mar 31 2017, 14:40
|- - jcxz   Цитата(Ioann_II @ Mar 31 2017, 01:57) Пол...   Mar 31 2017, 06:37
- - Genadi Zawidowski   ЦитатаТаймауты сделаны без таймеров. Это где? Там ...   Mar 31 2017, 14:34
|- - Ioann_II   Цитата(jcxz @ Apr 1 2017, 16:23) Ещё врод...   Apr 1 2017, 14:42
- - Hold   На обычной SD 2 ГБ емкостью получал скорости запис...   Oct 12 2017, 07:10
|- - mantech   Цитата(Hold @ Oct 12 2017, 10:10) Если пи...   Oct 12 2017, 12:05
|- - Огурцов   Цитата(mantech @ Oct 12 2017, 12:05) Это ...   Oct 13 2017, 05:35
|- - mantech   Цитата(Огурцов @ Oct 13 2017, 08:35) а та...   Oct 13 2017, 07:43
|- - Огурцов   Цитата(mantech @ Oct 13 2017, 08:43) Дак ...   Oct 13 2017, 17:16
- - Hold   Нашел карту SDHC 4 класс 8 ГБ. Или что-то с картой...   Oct 13 2017, 04:46
|- - Ruslan1   Цитата(Hold @ Oct 13 2017, 06:46) Читает/...   Oct 13 2017, 08:20
|- - jcxz   Цитата(Ruslan1 @ Oct 13 2017, 11:20) В об...   Oct 13 2017, 15:51
|- - Hold   Цитата(jcxz @ Oct 13 2017, 22:51) У автор...   Oct 16 2017, 09:37
|- - Ruslan1   Цитата(Hold @ Oct 16 2017, 11:37) Как име...   Oct 16 2017, 10:00
|- - jcxz   Цитата(Hold @ Oct 16 2017, 12:37) Как име...   Oct 16 2017, 10:19
|- - mantech   Цитата(Hold @ Oct 16 2017, 12:37) Там и т...   Oct 16 2017, 13:13
|- - sadat   Цитата(mantech @ Oct 16 2017, 16:13) Если...   Oct 16 2017, 15:08
||- - mantech   Цитата(sadat @ Oct 16 2017, 18:08) У ФМ-к...   Oct 16 2017, 15:25
|- - Огурцов   Цитата(mantech @ Oct 16 2017, 13:13) Если...   Oct 16 2017, 15:36
|- - mantech   Цитата(Огурцов @ Oct 16 2017, 18:36) в на...   Oct 16 2017, 16:38
|- - Огурцов   Цитата(mantech @ Oct 16 2017, 16:38) Хоти...   Oct 16 2017, 20:39
- - Hold   Да, дело было в размере кластера. Флешку не формат...   Oct 13 2017, 09:19
|- - Ruslan1   Цитата(Hold @ Oct 13 2017, 11:19) Понятно...   Oct 13 2017, 09:41
- - Hold   У меня интерес по поводу скорости был скорее акаде...   Oct 13 2017, 09:51
|- - Ruslan1   Цитата(Hold @ Oct 13 2017, 11:51) решил г...   Oct 13 2017, 10:14
|- - mantech   Цитата(Ruslan1 @ Oct 13 2017, 13:14) влож...   Oct 13 2017, 14:07
- - Hold   На будущее запомню, однако не думаю что сейчас с н...   Oct 16 2017, 12:50
- - Hold   На FM25V10 в количестве 4х штук лежит критически в...   Oct 16 2017, 17:56
|- - mantech   Цитата(Hold @ Oct 16 2017, 20:56) На FM25...   Oct 16 2017, 18:21
- - Hold   Лог на sdram особо не в счет - питания нет 3 секун...   Oct 16 2017, 18:36
|- - mantech   Цитата(Hold @ Oct 16 2017, 21:36) Лог на ...   Oct 16 2017, 20:23
|- - Hold   Цитата(mantech @ Oct 17 2017, 03:23) Опят...   Oct 17 2017, 03:58
|- - mantech   Цитата(Hold @ Oct 17 2017, 06:58) За день...   Oct 17 2017, 08:01
|- - jcxz   Цитата(Hold @ Oct 17 2017, 06:58) Основна...   Oct 17 2017, 08:45
|- - Hold   Цитата(jcxz @ Oct 17 2017, 15:45) А каков...   Oct 17 2017, 09:58
|- - sadat   Цитата(Hold @ Oct 17 2017, 12:58) Фрам вс...   Oct 17 2017, 10:36
|- - jcxz   Цитата(Hold @ Oct 17 2017, 12:58) В это в...   Oct 17 2017, 17:04
||- - Hold   Цитата(jcxz @ Oct 18 2017, 00:04) Всё опи...   Oct 18 2017, 02:20
||- - jcxz   Цитата(Hold @ Oct 18 2017, 05:20) Что бы ...   Oct 18 2017, 10:59
|- - Огурцов   Цитата(Hold @ Oct 17 2017, 09:58) Фрам вс...   Oct 17 2017, 18:55
- - Hold   Ставить серьезные диски ради 512К (по факту их там...   Oct 18 2017, 11:38
|- - mantech   Цитата(Hold @ Oct 18 2017, 14:38) Ставить...   Oct 18 2017, 13:14
- - Hold   Кэши(зеркало) удобнее читать чем тянуть байты из A...   Oct 18 2017, 16:52
|- - mantech   Цитата(Hold @ Oct 18 2017, 19:52) Кэши уд...   Oct 18 2017, 17:08
- - Hold   Эти самые резервные копии через фтп верхнее ПО раз...   Oct 18 2017, 17:15
|- - mantech   Цитата(Hold @ Oct 18 2017, 20:15) Эти сам...   Oct 18 2017, 17:26
||- - sadat   Цитата(mantech @ Oct 18 2017, 20:26) ...   Oct 18 2017, 17:46
||- - mantech   Цитата(sadat @ Oct 18 2017, 20:46) Думаю,...   Oct 18 2017, 17:52
||- - sadat   Цитата(mantech @ Oct 18 2017, 20:52) В сл...   Oct 18 2017, 17:56
||- - mantech   Цитата(sadat @ Oct 18 2017, 20:56) Иногда...   Oct 18 2017, 18:06
|- - jcxz   Цитата(Hold @ Oct 18 2017, 20:15) Эти сам...   Oct 19 2017, 06:48
- - Hold   Сливаются копии FRAM а не прошивка. Но да, прошивк...   Oct 18 2017, 17:41
|- - mantech   Цитата(Hold @ Oct 18 2017, 20:41) Бэкап f...   Oct 18 2017, 17:47
|- - sadat   Цитата(mantech @ Oct 18 2017, 20:47) И ча...   Oct 18 2017, 17:49
- - Hold   Питания ионистора хватает на то, чтобы несколько р...   Oct 18 2017, 18:06
- - Hold   Не буду особо ничего опровергать, скажу лишь, что ...   Oct 19 2017, 09:16
|- - jcxz   Цитата(Hold @ Oct 19 2017, 12:16) Не буду...   Oct 19 2017, 09:39
- - Hold   Атомарность, он же совместный доступ, обеспечивает...   Oct 24 2017, 15:14
|- - jcxz   Цитата(Hold @ Oct 24 2017, 18:14) Атомарн...   Oct 25 2017, 08:29
|- - mantech   Цитата(jcxz @ Oct 25 2017, 11:29) Т.е. - ...   Oct 25 2017, 09:21
- - uriy   На STM32F407 сделал mass storage in ram. Выделил 6...   Oct 25 2017, 13:16
- - Hold   Признаться да, такой защиты у меня нет, новые данн...   Oct 25 2017, 16:01
- - jcxz   Цитата(Hold @ Oct 25 2017, 19:01) Признат...   Oct 26 2017, 06:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 22:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016