Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FatsFs и разделы
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
deplen
Здравствуйте.

Столкнулся с проблемой в работе fatfs. Необходимо сделать два раздела, выполняя данную функцию пошагово все работает, разделы создаются. Если же я делаю это без пошагового режима (вставил флешку и думаешь что сработало), то разделов нет. Такое чувство, что операции просто не выполняются (не останавливаются, как следовало бы ожидать для работы функции mkfs)

Код
PARTITION VolToPart[] = {
    {1, 1},    
    {1, 2},    
};

void test()
{
    FATFS dialogFS;
    FRESULT rc;
    BYTE work[_MAX_SS];

    rc = disk_initialize(1);
    DWORD plist[] = {80, 20, 0, 0};
    rc = f_fdisk(1, plist, work);    

    rc = f_mount(&dialogFS, "0:", 0);  
    rc = f_mkfs("0:", 0, 0);        
    rc = f_mount(0, "0:", 0);        

    rc = f_mount(&dialogFS, "1:", 0);
    rc = f_mkfs("1:", 0, 0);        
    rc = f_mount(0, "1:", 0);    
}


В чем может быть проблема?
kolobok0
Цитата(deplen @ May 12 2014, 13:49) *
Здравствуйте. ...В чем может быть проблема?


похоже на тайминги. попробуйте поиграться с задержками и проверьте код самой FS.
deplen
Цитата(kolobok0 @ May 13 2014, 00:32) *
похоже на тайминги. попробуйте поиграться с задержками и проверьте код самой FS.


использовал последнюю версию библиотеки...попробую на предыдущей
deplen
выставил задержку перед вызовом функции f_mkfs() и все заработало
RED_BULLok
Цитата(deplen @ May 21 2014, 08:26) *
выставил задержку перед вызовом функции f_mkfs() и все заработало


Странно, задержки должны быть в реализации самой функции. А какой код возвращали функции ?
MiklPolikov
Цитата(deplen @ May 21 2014, 09:26) *
выставил задержку перед вызовом функции f_mkfs() и все заработало

У меня то же самое, работаю с SD картами. Задержку требует SD карта. По-моему ей нужно "подумать" перед запросом о количестве секторов, который происходит при f_mkfs

Вопрос :
Кто-нибудь сталкивался с тем, что FATfs не видит файловую систему на только что купленных SD картах ? Форматирование в Windows ситуацию не меняет. После форматирования функциями самой FATfs карта работает и в FATfs и в Windows. После нового форматирования в Windows продолжает работать и в FATfs . Почему так происходит, в самых общих чертах понятно. Но хочется , что бы FATfs работала со всеми картами изначально. Может надо что-то в настройках FATfs изменить ?
kolobok0
Цитата(MiklPolikov @ Jul 18 2014, 18:36) *
...Почему так происходит, в самых общих чертах понятно....


OFF/2:
Думаю надо начинать обсуждение с того чего понятно sm.gif
MiklPolikov
Цитата(kolobok0 @ Jul 18 2014, 22:30) *
OFF/2:
Думаю надо начинать обсуждение с того чего понятно sm.gif


Думаю, это связано с положением FAT относительно начала адресного пространства. Помню, там есть разные варианты размещения, видимо какой-то из них FATfs не поддерживает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.