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

STM32F100 + FatFS = FR_NO_FILESYSTEM

Уважаемые коллеги!

 

Подключил к своему проекту библиотеку FatFS, написал процедуры инициализации, чтения и записи. Все работает. Карта инициализируется, данные записываются и читаются.

Но при попытке прочитать существующий файл с карты памяти типа SD Объемом 2 Гб вызывает ошибку (код возврата - FR_NO_FILESYSTEM). При этом такая ситуация возникает

со всеми картами памяти данного объема. Карты типа SDHC Объемом 4 и 8Гб работают нормально.

 

Быть может, кто-то встречался с такой проблемой?

 

Заранее благодарен за любые идеи и подсказки!

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


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

Для карт 2 и 4ГБ нужны разные процедуры чтения-записи.

В карте 2 ГБ тот адрес, который Вы передаёте в карту, -это физический адрес, который считается в байтах.

В карте более 2ГБ это номер сектора, т.е. физический адрес / 512

И вот поэтому просто чтение-запись у Вас работает, хоть и пишет не туда, куда Вы думаете. А когда нужно прочитать FAT, её там не оказывается.

 

Перед работой с картой, во время её инициализации, нужно выяснять, что это за карта. Так же полезно выяснять макс. скорость.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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