4.3 Архитектура MTD |
Предыдущая Содержание Следующая |
Когда встаёт задача заставить Linux работать на устройстве на базе флеш-памяти, обычно возникают следующие два вопроса:
- Есть ли в Linux драйвер для поддержки моей флеш-памяти; если же нет, как мне написать драйвер? - Если Linux поддерживает драйвер для моей флеш-памяти, как можно обнаружить флеш-память на плате и сделать, чтобы драйвер устанавливался автоматически?
Ответы на эти вопросы даёт понимание архитектуры MTD. Архитектура MTD разделена на следующие компоненты:
▪Ядро MTD: оно обеспечивает интерфейс между низкоуровневыми драйверами флеш-памяти и приложениями. Оно реализует режим символьного и блочного устройства. ▪Низкоуровневые драйверы флеш-памяти: в этом разделе говорится только о микросхемах флеш-памяти NOR и NAND. ▪BSP для флеш-памяти: флеш-память может быть подключена к плате каким-то уникальным способом. Например, NOR Flash может быть подключена непосредственно на шину процессора, или же может быть подключена к внешней шине PCI. Доступ к флеш-памяти также может быть уникальным, в зависимости от типа процессора. Уровень BSP позволяет драйверу флеш-памяти работать с любой платой/процессором. Пользователь должен предоставить подробности того, как на плате подключена флеш-память; мы называем этот кусок кода как драйвер связи с флеш-памятью (flash-mapping driver). ▪Приложения MTD: это могут быть как субмодули ядра, такие как JFFS2 или NFTL, так и приложения в пространстве пользователя, такие как менеджер обновлений.
Как эти компоненты взаимодействуют друг с другом и другими частями ядра показывает Рисунок 4.2.
Рисунок 4.2 Архитектура MTD.
|
Предыдущая Содержание Следующая |