Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: check_fs
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Mikron
FATfs + NAND Flash
проблема в функции check_fs

Код
static BYTE check_fs (    /* 0:FAT-VBR, 1:Any BR but not FAT, 2:Not a BR, 3:Disk error */
    FATFS *fs,    /* File system object */
    DWORD sect
)
{
    if (disk_read(fs->drv, fs->win, sect, 1) != RES_OK)
        return 3;
    if (LD_WORD(&fs->win[BS_55AA]) != 0xAA55)
        return 2;
    if ((LD_DWORD(&fs->win[BS_FilSysType]) & 0xFFFFFF) == 0x544146)
        return 0;
    if ((LD_DWORD(&fs->win[BS_FilSysType32]) & 0xFFFFFF) == 0x544146)
        return 0;

    return 1;
}


у меня возвращает 2
Правильно ли я понимаю, что LD_WORD(&fs->win[BS_55AA]) != 0xAA55) это идентификатор, хранящийся по определенному адресу, говорящий все ОК?
у меня k9gag08u0e, 8192 байта на странице
http://rln.nnov.ru/uploads/files/k9gag08u0e.pdf
FatFS настроено на 512 байт, с 8192 она все равно не умеет работать, думал позже сделать просто массив на 8192, и самому разбивать его по 512

в общем вопрос, по какому адресу хранится этот идентификатор? и правильно ли я понимаю смысл


ниже проект, хотя конечно мб и не понадобится

Спасибо за помощь
Tarbal
0xAA55 это два последних байта из самого первого блока (512 байт) на диске. Initial boot record кажется называется. Он длиной 512 байт.
на линуксе можно посмотреть таким образом:
sudo head -n 100 /dev/sda | od -tx1 | less
<q> для выхода на командную строку.
Адрес 760 в восьмеричной форме соответствует 512:
0000760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
Mikron
Tarbal, то есть этот блок передается операционной системе как инфа о диске?
а заполнить его я должен?
Tarbal
Цитата(Mikron @ Oct 31 2013, 20:08) *
Tarbal, то есть этот блок передается операционной системе как инфа о диске?
а заполнить его я должен?

Этот сектор заполняется при форматировании диска. Там даже есть немного ассемблерной программы и информация о партишнах. Я уверен только в отношении PC и FAT.
Вот почитайте про это:
http://en.wikipedia.org/wiki/Master_Boot_Record
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.