Jump to content
NandFlash

All Activity

This stream auto-updates     

  1. Today
  2. Vektor

    тест

    Free

    Version 1.0.0

    10 downloads

    Информация о файле ОБЯЗАТЕЛЬНО
  3. Admin

    тест 2

    Free

    Version 1.0.0

    4 downloads

    Информация о файле ОБЯЗАТЕЛЬНО
  4. Free

    Version 1.0.0

    1 download

    Информация о файле ОБЯЗАТЕЛЬНО
  5. Earlier
  6. Лог детакта eMMC, базовая информация о eMMC. В настройках eMMC_Tool есть галочка "Shot info about eMMC in log". Данная настройка позволяет выводить только основную информацию в логе детекта eMMC. Первые строки позволяют понять, есть ли физический контакт по линии CMD, которая служит основной линией передачи команд в eMMC. Т.к. eMMC имеет 2 напряжения, VCC (собственно питание микросхемы) и VCCQ (или VIO - напряжение линии ввода-вывода), то интерфейс обмена eMMC работает с логическими уровнями VCCQ. Поэтому важно, чтобы в интерфейсе программы было выставлено напряжение VIO равное напряжению на адаптере eMMC, обычно это 1,8v. Тем не менее, при нестабильности коннекта можно увеличить VIO в программе, это позволит за счет перетока тока из бокса в интерфейс eMMC улучшить коннект с проблемным подключением. Настоятельно не рекомендуется повышать больше чем на 1 шаг или ставить ниже реального VCCQ. Теперь становятся понятным следующие 2 строки: CMD Active Level: - уровень напряжение линии CMD, которое ожидает бокс; CMD Pullup Level: - уровень сигнала, которое отдает микросхема. Если CMD Pullup Level занижено (500-800mV), это значит обычно отсутствие PullUp резисторов между линией CMD и VCCQ в интерфейсе подключения eMMC, и это значит, что возможны ошибки детекта или работы с eMMC. Если CMD Pullup Level сильно занижено (100-300mV), это скорее всего значит, что линия CMD закорочена на землю. Дальше в логе выводится CID, CSD, потом идет расшифровка CID - из него выделяется для наглядности Brand eMMC (Samsung), eMMC NAME (M8G2FB), Serial Number (S/N: D31CE4AC), версию прошивки firmware eMMC (rev.00). Дальше выводятся размеры ROM1, ROM2, ROM3, RPMB. Т.к. размеры ROM2/3 всегда одинаковы, они выводятся одной строкой. Одной из важных строк является версия ExtCSD, которая показывает поколение eMMС, а точнее - стандарт команд, который она поддерживает. При замены eMMC в аппарате нужно знать, что в большинстве случаев более новую eMMC нельзя заменить более старой. Для того, чтобы в процессе работы с eMMC были видны основные ее параметры, они дублируются над логом одной строкой или по нажатию на кнопку под ней в расширенном виде с расшифровкой. В первой строке выводится краткая информация: EMMC Brand, NAME, информация о разделе загрузки (boot from, являющегося расшифровкой регистра 179 ExtCSD, кол-во линий data по которым передается boot, записанное в регистре 177 ExtCSD (bus config). В расширенном варианте также отображаются цифровые значения регистров 179/177 ExtCSD, значение регистра 162 ExtCSD с расшифровкой. Кроме этого выводится значение регистра конфигурации [PARTITION_SETTING_COMPLETED], 0x01 в котором означает, что раздел ROM1 окончательно сконфигурирован, и создание в нем или изменение разделов GP1-GP4 невозможно. Последняя строка - значения регистров ExtCSD, которые показывают выставлен ли режим RO (ReadOnly - только чтение) в eMMC. Temporary Write Protection это временный флаг, который можно легко снять, он выставляется во время загрузки Boot в аппаратах Lumia (и может еще где-то). Permanent Write Protection выставляется eMMC при ее длительном износе, и говорит обычно о том, что срок службы eMMC пришел к концу. В расширенном варианте лога выводится еще строка информация по регистру ExtCSD [PARTITIONING_SUPPORT], который отображает возможности eMMC к созданию дополнительных разделов GP1-GP4, битовый регистр, может иметь значения 0x00, 0x01, 0x03, 0x07. Из них 0x00 означает, что микросхема не поддерживает создание GP1-GP4, остальные значения связаны с вариантами конфигурирования GP1-GP4, чем больше значение тем больше опций при создании этих разделов поддерживает eMMC. Частично или полностью неисправные eMMC. Признаки плохого контакта eMMC в сокете или же полной неисправности eMMC являются строки: Can't init device. Reason: CMD Timeout Error Can't init device. Reason: OCR Ready Timeout Error [Check VCC or eMMC DEAD] Can't init device. Reason: CARD is Password Locked EMMC Password Locked: Yes У полуживых микросхем в CID выдается информация, которая говорит о том, что микросхема находится в boot-режиме. примеры: Sandisk: EMMC NAME: SDM032 , S/N: FFFFFFFF , rev. 90 EMMC ROM 1 (Main User Data) Capacity: 30 MB (000001E9C000) Hynix: EMMC NAME: M MOR , S/N: 00000000 , rev. 00 EMMC ROM 1 (Main User Data) Capacity: 128 MB (000008000000) FORESEE EMMC NAME: , S/N: FFFFFFFF , rev. FF EMMC NAME (HEX): 000000000000 Samsung EMMC NAME: 000000 , S/N: 20110726 , rev. 56 EMMC NAME (HEX): 303030303030 Признаком boot-режима eMMC Samsung является eMMC NAME 000000, и rev.0x56. Так же выглядит запуск eMMC Samsung используя TP (test-point). В eMMC Samsung до MMC rev 5.0 (и в некоторых rev 5.0), чаще всего можно восстановить прошивку eMMC, но это не всегда гарантирует, что она после этого долго проработает (зависит от причины, по которой она оказалась в boot). Для других eMMC, кроме перечисленных Samsung, восстановление firmware eMMC (вывод из boot) пока не предоставляется возможным. При этом нужно учитывать что Hynix и Sandisk падают в boot при значительном износе ячеек памяти, что значит, что долго они работать после возможного восстановления не будут. p.s. В статье могут быть некоторые неточности. Они будет исправляться со временем.
  7. Описание работы с EMMC. Используем EasyJtag Classic и eMMC_tool модуль который объединяет собой несколько программ: Direct Odin и Direct Qualcomm, которые написаны для решения проблем записи прошивок напрямую в eMMC и общей работы c eMMC. Detect EMMC, кнопка для проверки подключения и определения, "живая" ли микросхема вообще, т.е. реагирует она на внешние команды или нет. По данной команде из микросхемы вычитываются основные данные: CID, CSD, размеры разделов, основные биты конфигурации, хранящиеся в Extended CSD (ExtCSD). CID содержит информацию о производителе микросхемы, название микросхемы, месяц год производства и серийный номер. ExtCSD представляет собой блок регистров (512 байт), в которых хранится конфигурация микросхемы. Сама микросхема eMMC представляет собой память с контроллером (интерфейсом), и с точки зрения устройства содержит в себе 1) 4 основных раздела (ROM1, ROM2, ROM3, RPMB), 2) до 4 разделов GP (GP1-GP4), 3) регистры конфигурации Extended CSD (ExtCSD) ROM1 - Main User Datа, иногда называется Userdata; ROM2 - Boot Partition 1 (Boot1); ROM3 - Boot Partition 2 (Boot2); ROM4 - так иногда называют раздел GP1. Раздел ROM1 является основным разделов в который пишутся данные (прошивка), и содержит в себе все разделы, сформированные с помощью таблицы разделов. ROM2, 3 (Boot1,2) являются разделами в котором хранится загрузчик, отправляемый в процессор (например, MTK (Mediatek), Exynox (Samsung)), или откуда процессор сам его берет (Intel, HiSilicon) RPMB - защищенный от прямого чтения/записи раздел, предназначенный для хранения данных, к которым должен быть затруднен доступ извне. Данные в этом разделе доступны только через процессор устройства, который получает в него доступ использующий ключ, содержащий с себе SN процессора и еще какие-то данные. Для работы с этим разделом в процессорах содержится специальный блок, который шифрует данные и работает с этим разделом, предварительно согласовав ключи с микросхемой, в которой их еще нет. Достоверных данных о возможности работать с этот разделом минуя процессор, неизвестно. Разделы GP1-GP4, это разделы, которые создаются за счет начала раздела ROM1 и физически располагаются на его месте, уменьшая собой размер ROM1. На данный момент такие разделы, а точнее один (GP1) создаются в устройствах, собранных на процессорах Intel (но не на всех, в частности на платформе CloverView). Размеры ROM2/3/RPMB можно изменить только на EMMC Samsung до ревизии Extended CSD v1.8 (MMC v 5.1), в остальных случаях их размер остается таким, каким его задали на заводе. В большинстве случаев размер не имеет значения, потому как обычно загрузчики редко превышают размер 512KB. Но есть аппараты, которые используют RPMB и отказываются работать с микросхемами, которые предназначены для аппаратов с процессорами Tegra (Nvidia), в которых обычно конфигурируется размер RPMB равным нулю Также для процессоров MTK со scatter файлами первых версий (например, для процессоров MT6589), сумма размеров ROM2/3/RPMB не может быть больше начала раздела MBR, который должен быть записан по адресу указанному в scatter, который для MT6589 процессора равен 0x600000 (6MB). Поэтому eMMC с размерами ROM2/3/RPMB 2/2/2MB или 2/2/0,5MB будет работать с MT6589, а с размерами ROM2/3/RPMB 4/4/4 уже не будет. Раздел(ы) GP1 создаются на всех типах eMMC, поддерживающих General Partition Configuring, однократно. При этом наблюдались проблемы с созданием разделов GP1-GP4 на микросхемах Toshiba.
  1. Load more activity
×
×
  • Create New...