4.3 Архитектура MTD

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

Когда встаёт задача заставить Linux работать на устройстве на базе флеш-памяти, обычно возникают следующие два вопроса:

 

- Есть ли в Linux драйвер для поддержки моей флеш-памяти; если же нет, как мне написать драйвер?

- Если Linux поддерживает драйвер для моей флеш-памяти, как можно обнаружить флеш-память на плате и сделать, чтобы драйвер устанавливался автоматически?

 

Ответы на эти вопросы даёт понимание архитектуры MTD. Архитектура MTD разделена на следующие компоненты:

 

Ядро MTD: оно обеспечивает интерфейс между низкоуровневыми драйверами флеш-памяти и приложениями. Оно реализует режим символьного и блочного устройства.

Низкоуровневые драйверы флеш-памяти: в этом разделе говорится только о микросхемах флеш-памяти NOR и NAND.

BSP для флеш-памяти: флеш-память может быть подключена к плате каким-то уникальным способом. Например, NOR Flash может быть подключена непосредственно на шину процессора, или же может быть подключена к внешней шине PCI. Доступ к флеш-памяти также может быть уникальным, в зависимости от типа процессора. Уровень BSP позволяет драйверу флеш-памяти работать с любой платой/процессором. Пользователь должен предоставить подробности того, как на плате подключена флеш-память; мы называем этот кусок кода как драйвер связи с флеш-памятью (flash-mapping driver).

Приложения MTD: это могут быть как субмодули ядра, такие как JFFS2 или NFTL, так и приложения в пространстве пользователя, такие как менеджер обновлений.

 

Как эти компоненты взаимодействуют друг с другом и другими частями ядра показывает Рисунок 4.2.

 

Рисунок 4.2 Архитектура MTD.

Рисунок 4.2 Архитектура MTD.

 

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