4.5.2 Заполнение mtd_info для микросхемы NAND Flash |
Предыдущая Содержание Следующая |
Как упоминалось ранее, доступ к NAND Flash выполняется путём подключения линий данных и команд к линиям ввода-вывода процессора. Для микросхемы NAND Flash важными являются следующие контакты:
▪контакт CE (Chip Enable, Выбор Микросхемы): микросхема NAND Flash выбрана, когда на этом выводе установлен низкой уровень. ▪контакт WE (Write Enable, Разрешение Записи): микросхема NAND Flash принимает данные от процессора, когда на этом выводе установлен низкой уровень. ▪контакт RE (Read Enable, Разрешение Чтения): микросхема NAND Flash посылает данные в процессор, когда на этом выводе установлен низкой уровень. ▪контакт CLE (Command Latch Enable, Разрешение Фиксации Команды) и контакт ALE (Address Latch Enable, Разрешение Фиксации Адреса).
Эти выводы определяют назначение операции для микросхемы NAND. Как используются эти контакты, объясняет Таблица 4.2.
Таблица 4.2 Использование контактов ALE и CLE
▪контакт WP (Write Protect, Защита Записи): этот вывод может быть использован для защиты от записи. ▪контакт RB (Ready Busy, Готов/Занят): используется в фазах передачи данных, чтобы указать, что микросхема занята. ▪контакты IO (Ввода/Вывода): используются для передачи данных.
В отличие от микросхемы NOR Flash, драйвер которой для выделения памяти для структуры mtd_info вызывает do_map_probe(), драйверу для NAND Flash необходимо выделить память для структуры mtd_info. Ключом к этому является структура nand_chip, которая заполняется драйвером связи с NAND. Драйвером связи с NAND выполняются следующие шаги:
▪Выделение памяти для структуры mtd_info. ▪Выделение памяти для структуры nand_chip и заполнение необходимых полей. ▪Сделать поле priv структуры mtd_info указывающим на структуру nand_chip. ▪Вызов функции nand_scan(), которая будет пытаться опознать микросхему NAND, а также заполнить структуру mtd_info функциями для работы NAND. ▪Регистрацию структуры mtd_info в ядре MTD.
Параметры для NAND, которые хранятся в структуре nand_chip, можно разделить на:
▪Обязательные параметры: ▪Обязательные параметры, если ECC выполняется аппаратно. Некоторое оборудование обеспечивает генерацию ECC; в этом случае должны быть реализованы следующие функции. В случае программной реализации ECC, драйвер NAND предоставляет следующие функции как функции по умолчанию. ▪Необязательные параметры. Драйвер предоставляет для следующих параметров функции/значения по умолчанию. Однако они могут быть заменены драйвером связи:
| ||||||||||||
Предыдущая Содержание Следующая |