Jump to content
    

STM32F100 + FatFS = FR_NO_FILESYSTEM

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

 

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

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...