Программатор UFPI Инструкция 4.3.11 Доп. функции. (некоторые пункты появляются после чтения ID)
- Информация о материале
- Обновлено: 19.04.2023, 20:17
- Опубликовано: 14.04.2023, 05:38
- Автор: DeniS
Анализ при чтении ID.
Выбор объекта для поиска таблицы разделов. Можно назначить отдельно «eMMC» или «Дамп», либо комбинацию, выбрав приоритет «Дамп, eMMC». При этом если открыт .UDEV файл с описанием разделов, то будет загружен список разделов из UDEV. Иначе программа попытается проанализировать разметку собственными алгоритмами.
Extended CSD.
Записать отдельный байт в регистр, или целиком файл eCSD.
При чтении ID в логе описаны и подписаны отдельные байты eCSD. В квадратных скобках указан номер байта в регистре. Далее его значение и расшифровка. При записи байта достаточно так же указать его номер и значение. Пример:
Конфигурация загрузки [179] 0x00 (Нет загрузки, access to USER)
При каждом чтении ID в папке «ufpi\Logs\eMMC» создаются файлы, в том числе полного eCSD. Они подписаны номером флеш и дата/время создания. При записи полного файла, достаточно выбрать его, при необходимости отредактировать в hexeditor.
Важно помнить, что не все регистры eCSD доступны для записи и не все регистры доступны для восстановления. У разных производителей разные зарезервированные регистры, которые нельзя менять без последствий. Стоит внимательно ознакомиться со спецификациями JEDEC.
Основные байты можно сконфигурировать в калькуляторе Конфиг загрузки.
Samsung функции.
Большой выбор спец. функций доступен преимущественно для eMMC Samsung ревизии до v5.0. Собраны в одном месте.
«Запись CID» и «Запись CID #2» — записывает пользовательское значение CID, даже от eMMC
другого производителя.
«Запись CSD» — записывает пользовательское значение CSD.
«Снять защиту от записи» — снятие защиты от записи, статус которой установлен в CSD и eCSD и отображен в логе при чтении ID:
Permanent Write Protect или
Boot Write Protection 0x0A (BOOT1_PERM BOOT2_PERM)
или
User Write Protection 0x10 (US_PERM_WP_DIS)
«Форматирование» — очищает содержимое разделов и регистров до заводского состояния.
«Чтение прошивки» и «Запись прошивки» - специальные команды чтения и записи внутреннего FW
eMMC. Поля «Чтение в» и «Запись из» должны быть заполнены соответствующими файлами для
чтения и записи. Файл прошивок считанные посторонними программаторами могу быть несовместимы, или требуют корректировки. Операция прошивки внутреннего FW у eMMC не гарантирует корректной дальнейшей работы флеш.
Hynix функции.
«Очистить Lifetimer (v5.1)» - Экспериментальная функция сброса показателя счетчика наработки
«LifeTimer». Сделана только для того, чтобы продлить срок работы в девайсах, для которых он критичен. Работает на eMMC Hynix ревизии v5.1. Помимо сброса LifeTimer, записывает в [155] байт eCSD значение «Разделы завершены».
Режим чтения.
«Автовыбор» — Оптимальный режим для чтения исправных флеш в колодке на высокой скорости. Стоит по умолчанию.
«Одиночными блоками» — вычитывание происходит последовательно по одному блоку с контролем целостности принятого блока CMD17 (READ_SINGLE_BLOCK) . Размер блока по умолчанию указан в регистре CSD. Подходит для работы с неисправными флеш, где требуется контроль и повторное перечитывание проблемных блоков. Скорость этого режима самая низкая.
«Несколькими блоками (Открытый)» — вычитывание происходит по несколько блоков командой
CMD18 (READ_MULTIPLE_BLOCK) и прерывается командой остановки.
«Несколькими блоками (Счетчик)» — вычитывание происходит по несколько блоков командой CMD18 (READ_MULTIPLE_BLOCK) и останавливается. Счетчик задается командой CMD23 (SET_BLOCK_COUNT).
«Несколькими блоками (Один запрос)» — вычитывание происходит командой CMD18 (READ_MULTIPLE_BLOCK) без остановок до конца заданного региона.
«Игнорировать ошибки чтения» — не останавливаться при ошибках чтения, читать со следующего блока. Опция может пригодиться при вычитывании неисправных флеш.
Режим записи.
«Автовыбор» — Оптимальный режим для записи исправных флеш в колодке на высокой скорости. Стоит по умолчанию.
«Одиночными блоками» — аналогично чтению.
«Несколькими блоками (Открытый)» — аналогично чтению.
«Несколькими блоками (Счетчик)» —аналогично чтению.
«Несколькими блоками (Один запрос)» — аналогично чтению.
«4-Бит режим при VCCQ=1V8» — при записи переводит режим в 4 бит, если VCCQ 1,8V. Рекомендуется использовать эту опцию для стабильного и предсказуемого результата.
Режим стирания.
«Автовыбор» — по умолчанию. По стиранию eMMC.
«Одиночными блоками» — Стирание командами по одному блоку.
«Несколькими блоками» — Стирание командами по несколько блоков.
«Запись нулей» — запись 0x00.
Частотный режим.
«Автовыбор» — Оптимальный режим. Установлен по умолчанию.
«Устаревший 26 МГц» — режим совместимости с устаревшими MMC картами.
«Высокая скорость 26 МГц» — высокоскоростной режим (HS52), с выставленной частотой 26МГц.
«Высокая скорость 52 МГц» — высокоскоростной режим (HS52) с выставленной частотой 52МГц. Этот режим установлен по умолчанию как наиболее стабильный и подходящий для большинства случаев.
«Высокая скорость 200МГц» — Высокоскоростной режим (HS200) до 200МГц. На практике выше
90МГц стабильной работы в распространенных колодках BGA добиться сложно.
«Задержка семплирования» и «Задержка выхода» — параметры могут пригодиться для согласования линий при работе на высокой частоте. Для использования достаточно выставить максимальное значение, если ошибки пропали, понижать до меньшего стабильного значения.
Разделы.
BOOT/ RPMB / GPP. — некоторые eMMC, в частности Samsung до ревизии 5.0 поддерживают функцию разметки разделов BOOT , RPMB, GPP. Для изменения, ввести размерность (кБ/МБ) и целочисленное значение.
RPMB.
«Аутентификация» — ввод ключа для дальнейшей работы и записи в RPMB.
«Записать ключ аутентификации» — установка ключа аутентификации производится только в том случае, если он ранее не был записан. Это согласно спецификации 32 байтный ключ в HEX виде (т.е.
0x….). Перед использованием следует понимать необходимость действий. Операция для большинства флеш необратима.
«Выключено» — отключение работы и опроса статуса RPMB при чтении ID. По наблюдениям пользователей, встречались неисправные eMMC Toshiba, которые после опроса статуса RPMB переставали читаться до следующей перезагрузки.
Пароль.
«Разблокировать» — требует ввод пароля (в формате ASCII) для запуска сессии работы с заблокированной флеш. Например в логе такой флеш будет:
eMMC ID 1501003030585056300304051227C0CF, DAT0 Заблокировано!
«Заблокировать» — завершение сессии с заблокированной флеш.
«Очистить» — Позволяет снять известный пароль.
«Установить» — установить пароль для блокировки флеш.
«Стереть» - стирает пароль и очищает содержимое флеш. Для этой операции не требуется ввод пароля.
«Брутфорс» — автоподбор пароля. Можно задавать длину, символы, а так же останавливать и продолжать перебор.
Цикл питания.
Полный цикл отключения питания, задержка и заново инициализация и чтение ID.
Асинхронный.
Аналогично остальным модулям. Важно не забывать, что вычитывание и пропуск ошибок невозможен в асинхронном режиме.
Тест контактов.
Аналогично остальным модулям.