Jump to content

    
Sign in to follow this  
deplen

FatsFs и разделы

Recommended Posts

Здравствуйте.

 

Столкнулся с проблемой в работе 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);    
}

 

В чем может быть проблема?

Edited by deplen

Share this post


Link to post
Share on other sites
Здравствуйте. ...В чем может быть проблема?

 

похоже на тайминги. попробуйте поиграться с задержками и проверьте код самой FS.

 

Share this post


Link to post
Share on other sites
похоже на тайминги. попробуйте поиграться с задержками и проверьте код самой FS.

 

использовал последнюю версию библиотеки...попробую на предыдущей

 

Share this post


Link to post
Share on other sites
выставил задержку перед вызовом функции f_mkfs() и все заработало

 

Странно, задержки должны быть в реализации самой функции. А какой код возвращали функции ?

Share this post


Link to post
Share on other sites
выставил задержку перед вызовом функции f_mkfs() и все заработало

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

 

Вопрос :

Кто-нибудь сталкивался с тем, что FATfs не видит файловую систему на только что купленных SD картах ? Форматирование в Windows ситуацию не меняет. После форматирования функциями самой FATfs карта работает и в FATfs и в Windows. После нового форматирования в Windows продолжает работать и в FATfs . Почему так происходит, в самых общих чертах понятно. Но хочется , что бы FATfs работала со всеми картами изначально. Может надо что-то в настройках FATfs изменить ?

Share this post


Link to post
Share on other sites
OFF/2:

Думаю надо начинать обсуждение с того чего понятно :)

 

Думаю, это связано с положением FAT относительно начала адресного пространства. Помню, там есть разные варианты размещения, видимо какой-то из них FATfs не поддерживает.

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.

Sign in to follow this