4.6 Блочные и символьные устройства MTD

Предыдущая  Содержание  Следующая V*D*V

Как упоминалось ранее, MTD устройства экспортируются в пользовательское пространство двумя способами: как символьное и как блочное устройство. Символьные устройства представлены с использованием следующих имён устройств:

 

/dev/mtd0

/dev/mtdr0

/dev/mtd1

/dev/mtdr1

...

/dev/mtd15

/dev/mtdr15

 

Все символьные устройства имеют старший номер 90. Символьные устройства экспортируются как или символьные устройства для чтения и записи, или же как символьные устройства только для чтения. Это достигается с помощью младших номеров. Все MTD устройства, имеющие нечётные младшие номера (1, 3, 5, ...), экспортируются как устройства только для чтения. Таким образом, и /dev/mtd1, и /dev/mtdr1 указывают на одно и то же устройство (устройство, содержащееся во втором слоте в mtd_table[]); первое может быть открыто в режиме чтения-записи, в то время как второе может быть открыто только в режиме чтения. Ниже приводится список команд ввода/вывода (ioctl), которые поддерживаются символьными устройствами MTD.

 

MEMGETREGIONCOUNT: команда для передачи пользователю числа регионов стирания

MEMGETREGIONINFO: команда для получения информации о регионе стирания

MEMERASE: команда стереть заданный сектор флеш-памяти

MEMWRITEOOB/MEMREADOOB: команды, используемые для доступа к дополнительным данным

MEMLOCK/MEMUNLOCK: команда, используемые для блокировки указанных секторов при условии наличия аппаратной поддержки

 

Блочные устройства имеют старший номер 31. Поддерживаются до 16-ти младших устройств. Блочные устройства используются для монтирования файловых систем поверх устройств флеш-памяти (смотрите Рисунок 4.7).

 

Рисунок 4.7 MTD устройство, экспортируемое как символьное и блочное устройство.

Рисунок 4.7 MTD устройство, экспортируемое как символьное и блочное устройство.

 

Предыдущая  Содержание  Следующая