Описание eMMC
Сейчас и в дальнейшем, при описании работы с EMMC мы будем отталкиваться от работы в программе eMMC tool, которую также называют Easy Jtag Plus.
Модуль eMMC_tool предствляет собой развитие программы EasyJtag Classic в области работы с eMMC. Данный модуль объединяет собой несколько программ типа 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.
Сейчас и в дальнейшем, при описании работы с EMMC мы будем отталкиваться от работы в программе eMMC tool, которую также называют Easy Jtag Plus.
Модуль eMMC_tool предствляет собой развитие программы EasyJtag Classic в области работы с eMMC. Данный модуль объединяет собой несколько программ типа 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.
Вложения
-
171,4 КБ Просмотры: 449
-
637,8 КБ Просмотры: 410
-
46 КБ Просмотры: 416
Последнее редактирование: