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

 
 
> Fatfs и битые сектора, Как помечаются сбойные сектора в этой ФС?
Nikitoc
сообщение Nov 3 2010, 20:37
Сообщение #1


Местный
***

Группа: Validating
Сообщений: 207
Регистрация: 14-01-09
Из: Днепропетровск
Пользователь №: 43 367



Доброго времени суток. Собственно вопрос в теме. Никак не могу понять каким образом данная ФС помечает сбойные сектора? О том, что они маскируются вначале контроллером SD-карты рассказывали aaarrr и zltigo. Но когда запас на замену истощается эти сектора вылазят наружу и становятся головной болью ФС. В исходниках FatFs встречается, например такая запись (внутри функции f_write):
Код
if (disk_write(fp->fs->drv, fp->buf, fp->dsect, 1) != RES_OK)
    ABORT(fp->fs, FR_DISK_ERR);

где:
Код
#define LEAVE_FF(fs, res)    return res
#define    ABORT(fs, res)        { fp->flag |= FA__ERROR; LEAVE_FF(fs, res); }

Я так понимаю, что в случае неудачной записи, в структуре данного объекта FIL выставляется флаг FA_ERROR. И функция f_write возвращает FR_DISK_ERR. А дальше тупик. Объясните, пожалуйста, как будет вести себя FatFs при попытке повторной записи по данному адресу? Отмечается ли данный сектор как сбойный в FAT?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jorikdima
сообщение Nov 12 2010, 22:38
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



У вас 100 лет прибор работать будет? Или бьете все время в один сектор/файл? Если второе, то проще иметь логику выбора сектора куда писать и периодически менять его. Если второе, то вас скорее всего не будет через 100 лет smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Nikitoc   Fatfs и битые сектора   Nov 3 2010, 20:37
- - goodwin   Ну во-первых такую флэшку надо выбрасывать немедле...   Nov 3 2010, 21:17
|- - Nikitoc   Цитата(goodwin @ Nov 4 2010, 00:17) Правд...   Nov 3 2010, 21:59
- - Nixon   Непонятно с чего вы решили, что проблемой сбойных ...   Nov 4 2010, 09:41
|- - Nikitoc   Цитата(Nixon @ Nov 4 2010, 13:41) Непонят...   Nov 4 2010, 10:16
- - Nikitoc   Мда. Немного покопавшись в исходниках я обнаружил ...   Nov 4 2010, 15:49
- - sigmaN   Да это нигде не реализовано. Вам же сказали, что с...   Nov 7 2010, 23:50
|- - _Pasha   Цитата(sigmaN @ Nov 8 2010, 03:50) Или вы...   Nov 8 2010, 07:04
|- - Nikitoc   Цитата(sigmaN @ Nov 8 2010, 03:50) Или вы...   Nov 12 2010, 22:12
- - Nikitoc   Танцы с бубном продолжаются. Недавно я столкнулся ...   Dec 15 2010, 19:47
- - _4afc_   Цитата(Nikitoc @ Dec 16 2010, 01:47) Танц...   Dec 16 2010, 07:24
- - Nikitoc   Цитата(_4afc_ @ Dec 16 2010, 14:24) Попод...   Dec 16 2010, 09:38
- - DL36   Сравните значение поля FSI_Free_Count (488 4) сек...   Dec 18 2010, 16:55
- - Nikitoc   Цитата(DL36 @ Dec 18 2010, 23:55) Сравнит...   Dec 19 2010, 16:06


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:34
Рейтинг@Mail.ru


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