PIClist RUS
микроконтроллеры PIC и интерфейсы
техническая документация
статьи и разработки на русском языке

Формат файловой системы FAT на карты MMC и RS-MMC

« назад на главную страницу

Оригинал: datasheet "SanDisk MultiMediaCard and Reduced-Size MultiMediaCard Product Manual. Version 1.0"

Скачать "Формат файловой системы FAT на карты MMC и RS-MMC (по даташиту от Sandisk)" в формате PDF

Перевод с английского © PIClist-RUS (piclist.ru)


MMC и RS-MMC-карты от Sandisk отформатированы "подобно жёсткому диску" под разделённую файловую систему DOS FAT. Подобно жёстким дискам в ПК, первый блок данных памяти состоит из таблицы разделов. Поэтому будем использовать такую же систему обозначений, как и для жёстких дисков, то есть область памяти делится на логические сектора по 512 байтов каждый, а первый сектор зарезервирован для этой таблицы разделов. Таблица 1 показывает структуру данных в этом секторе.

Таблица 1. Структура первого сектора

Позиция байтаДлина, байтовОписание элементаЗначение/Диапазон
0x0446Подпрограмма проверки на непротиворечивость
0x1BE16Содержимое таблицы разделаСм. Таблицу 2
0xCE16Содержимое таблицы разделаСм. Таблицу 2
0x1DE16Содержимое таблицы разделаСм. Таблицу 2
0x1EE16Содержимое таблицы разделаСм. Таблицу 2
0x1FE1Сигнатура0x55
0x1FF1Сигнатура0xAA

Таблица 2. Описание содержимого раздела

Позиция байтаДлина, байтовОписание элементаЗначение/Диапазон
0x01Загрузочный дескриптор0x00 (не загрузочный диск)
0x80 (загрузочный диск)
0x13Первый сектор разделаАдрес первого сектора
0x41Дескриптор файловой системы0 = Пусто
1 = DOS 12-разрядный FAT < 16 Мб
4 = DOS 16-разрядный FAT < 32 Мб
5 = Расширенный DOS
6 = DOS 16-разрядный FAT >= 32 Мб
0x10 – 0xFF = свободны для других файловых систем*
0x53Последний сектор разделаАдрес последнего сектора
0x84Первый сектор раздела относительно начала устройстваНомер первого сектора (линейный адрес)
0xc4Число секторов в разделеОт одного до максимального количества секторов на устройстве

* Дескрипторы, отмеченные звёздочкой, не используются в системе DOS. Каждый раздел DOS основан на 12-разрядном, 16-разрядном FAT или VFAT соответственно. Все номера секторов хранятся в формате с прямым порядком байтов (первым стоит самый младший байт). Начальный и конечный адреса раздела дан в терминах головок, дорожек и секторов, и поэтому может быть проигнорирован MMC-картой, поскольку позицию раздела можно определить с помощью последних двух элементов (номер первого сектора и число секторов в разделе).

Загрузочный сектор описан в Таблице 3.

Таблица 3. Загрузочный сектор

Позиция байтаДлина, байтовОписание элементаЗначение/Диапазон
0x03Команда перехода0xEB 0xXX 0x90
0x38OEM имяXXX
0xB2Байтов в секторе512
0xD1Секторов в кластереXXX (в диапазоне: 1-64)
0xE2Зарезервированные сектора (число зарезервированных секторов на диске), включая загрузочный сектор)1
0x101Число таблиц FAT2
0x112Число записей корневого каталога512
0x132Число секторов на дискеXXX (Зависит от ёмкости карты, если носитель данных имеет более 65535 секторов, это поле равно 0, а "число всех секторов" установлено)
0x151Описатель диска0xF8 (жёсткий диск)
0x162Секторов в FATXXX
0x182Секторов в дрожке32 (не имеет смысла)
0x1A2Число головок2 (не имеет смысла)
0x1C4Число скрытых секторов0
0x204Число всех секторовXXX (зависит от ёмкости)
0x241Номер диска0x80
0x251Зарезервировано0
0x261Расширенная сигнатура загрузки0x29
0x274Идентификатор или серийный номер томаXXX
0x2B11Метка томаXXX (ASCII символы, дополняемые пробелами, если менее 11 символов)
0x368Тип файловой системыXXX (ASCII символы, идентифицирующие тип файловой системы FAT12 или FAT16)
0x3E448Код программы загрузкиXXX
0x1FE1Сигнатура0x55
0x1FF1Сигнатура0xAA

Все появления "X", означают зависящие от карты или неопределённые значения. Число секторов в дорожке и число головок для MMC-карты бессмысленны и их можно проигнорировать.



© PIClist-RUS (piclist.ru), 2007 г.

PIClist RUS (piclist.ru) © 2008
все права сохранены. перепечатка статей и переводов с данного сайта запрещена.