Easyelectronics.ru

Электроника для всех
Текущее время: 19 июл 2018, 22:38

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Проблемы с перезаписью файла в FatFs
СообщениеДобавлено: 10 окт 2017, 17:15 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 16 апр 2010, 19:37
Сообщения: 151
Откуда: Тамбов
Всем доброго времени суток! Может кто сталкивался? Имеется SPI NAND Flash (MX25L6406EM2) + STM32F412 + USB MSC + FatFS. Операционной системы в проекте нет.

1. Удаляем файл на MSC через хост. Видим в файловом браузере, что файл удалился. Далее отключаемся от USB, перезапускаем устройство, подключаемся и видим, что файл не удалился. Его длина равна длине удаленного файла и сам файл не читается. Если файл попытаться открыть внутри прошивки, а не через хост, то файл читается не до конца и данные не соответствуют истине

2. На MSC имеется файл (190 кб). С хоста перезаписываем данный файл файлом с таким же именем, но меньшего размера. Открываем файл с хоста, все нормально, данные соответствуют истине. После переподключения устройства видим, что файл по размеру равен предыдущему, а разница в содержимом дополнена нулями

3. На MSC имеется файл (190 кб). С хоста снова перезаписываем файл файлом с таким же именем, но большего размера. После переподключения, размер файла равен предыдущему, а содержимое соответствует новому файлу

Получается, что содержимое файла обновляется, а таблица разделов не обновляется. Ошибка не постоянная, иногда все работает нормально.

_________________
The project was compiled with 0 errors, 0 warnings


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с перезаписью файла в FatFs
СообщениеДобавлено: 10 окт 2017, 17:43 
Старожил
Аватара пользователя

Зарегистрирован: 11 мар 2010, 12:44
Сообщения: 1097
Откуда: Default city
Таблица разделов кэшируется. Попробуй сбросить кэш каждый раз.

_________________
Не дай Бог увидеть нубский ЛУТ, бессмысленный и беспощадный
В МК "на порядок" - это "в два раза"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с перезаписью файла в FatFs
СообщениеДобавлено: 10 окт 2017, 18:56 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 16 апр 2010, 19:37
Сообщения: 151
Откуда: Тамбов
dekar писал(а):
Таблица разделов кэшируется. Попробуй сбросить кэш каждый раз.


В винде? Как это сделать?

_________________
The project was compiled with 0 errors, 0 warnings


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с перезаписью файла в FatFs
СообщениеДобавлено: 10 окт 2017, 21:27 
Старожил
Аватара пользователя

Зарегистрирован: 11 мар 2010, 12:44
Сообщения: 1097
Откуда: Default city
В винде - кнопкой "извлечь" на флешке.
В FatFS f_sync(FIL*)

_________________
Не дай Бог увидеть нубский ЛУТ, бессмысленный и беспощадный
В МК "на порядок" - это "в два раза"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с перезаписью файла в FatFs
СообщениеДобавлено: 11 окт 2017, 13:07 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 16 апр 2010, 19:37
Сообщения: 151
Откуда: Тамбов
dekar писал(а):
В винде - кнопкой "извлечь" на флешке.
В FatFS f_sync(FIL*)


Спасибо, потестирую, может проблема в этом.

_________________
The project was compiled with 0 errors, 0 warnings


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с перезаписью файла в FatFs
СообщениеДобавлено: 16 окт 2017, 18:43 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 16 апр 2010, 19:37
Сообщения: 151
Откуда: Тамбов
Никак не получается до конца решить проблему. Похоже проблема в кешировании. Если создать на usb msc файл, а потом просто отключить от usb, то файл будет поврежден. Если сделать безопасное извлечение устройства, то записанный файл будет в порядке. В настройках винды (Диспетчер устройств->дисковые устройства->мой usb msc->политика) кеширование отключено, но почему то это не оказывает никакого эффекта. Всё равно приходится выполнять безопасное извлечение устройства. Может в стандарте USB MSC есть какой-нибудь флаг, который надо установить, чтобы хост никогда не кешировал этот диск ?

_________________
The project was compiled with 0 errors, 0 warnings


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB