Rpmb emmc что это
Основы работы с EMMC
Layder
Z3X-Team
Сейчас и в дальнейшем, при описании работы с 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 является основным разделов в который пишутся данные (прошивка), и содержит в себе все разделы,
сформированные с помощью таблицы разделов.
ROM2, 3 (Boot1,2) являются разделами в котором хранится загрузчик, отправляемый в процессор
(например, MTK (Mediatek), Exynox (Samsung)), или откуда процессор сам его берет (Intel, HiSilicon)
Размеры 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.
Rpmb emmc что это
Просмотр и скачивание файлов доступно только зарегистрированным участникам.! |
Просмотр и скачивание файлов доступно только зарегистрированным участникам.! |
CID содержит информацию о производителе микросхемы, название микросхемы, месяц год производства и серийный номер.
ExtCSD представляет собой блок регистров (512 байт), в которых хранится конфигурация микросхемы.
Сама микросхема eMMC представляет собой память с контроллером, и содержит в себе 4 основных раздела (boot1, boot2, bin, EXT_CSD)
Раздел bin является основным разделов в который пишутся данные (прошивка), и содержит в себе все разделы, сформированные с помощью таблицы разделов.
Boot1,2 являются разделами в котором хранится загрузчик,отправляемый в процессор
CID содержит информацию о производителе микросхемы, название микросхемы, месяц год производства и серийный номер.
ExtCSD представляет собой блок регистров (512 байт), в которых хранится конфигурация микросхемы.
Сама микросхема eMMC представляет собой память с контроллером, и содержит в себе 4 основных раздела (boot1, boot2, bin, EXT_CSD)
Раздел bin является основным разделов в который пишутся данные (прошивка), и содержит в себе все разделы, сформированные с помощью таблицы разделов.
Boot1,2 являются разделами в котором хранится загрузчик,отправляемый в процессор
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы
Официальный сайт AMCV, AKAI, Asano, Akira, lliew, Aiwa, Artel, BBK, BOE, Bravis, Digma, Dexp, Denn, DEX, Daewoo, Dyon, Doffer, Erisson, Elenberg, Ergo, Engalon, Hyundai, HOLLEBER, Satelit, Sumato, Soundmax, Starwind, Supra, Saturn, Sony, Shivaki, Samsung, Sharp, Strong, SHOWNIC, SkyLine, PRESTIGIO, Yuno, Rolsen, HI, JVC, Mystery, Telefunken, HiKeen, HELIX, Hisense, Hamber, Herenthal, Harper, Hartens, Hisense, Hoffson, HELIX, Kivi, LG, Liberton, Liberty, Loview, Lentel, Leben, Loview, LEFF, Lumus, Mirta, Mystery, Manta,OzoneHD,Panasonic, Philips, Pioneer, Reca, Rotex, Rainford, Rolsen, RUIMATECH, TCL, Thomson, Toshiba, Tevion, Nesons, Neko, NEI, Novex, Prime Technics, Vinga, Comer, Grunkel, Quarton, KROHLER, YASIN, Vesta, Xiaomi,Terris, Trony, Irbis, Fusion, xiaomi mi, TDLex, Gazer, Grunhelm, Glofiish, Kruger&Matz, VILGRAND, ORFEY, AVEX, NEONIX, Blaсkton, TopDevice, HIBERG, QUARTON, Olto
Rpmb emmc что это
Разметка памяти мобильных устройств. Теория и практика
Инструкция
Инструкция пользователя ScatterEditor_v1.06.zip ( 1.36 МБ )
Инструкция в pdf формате
Инструкция пользователя Scatter2Editor_v2.03.zip ( 1011.1 КБ )
Инструкция пользователя
RK_ParamEd_1.01. Users manual.rar ( 990.79 КБ )
Инструкция пользователя
Скоро будет.
В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.
Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).
ps: Могу помочь в создании топиков (в стиле Android update-script, лучшую инфу с форума собрал в одном месте).
Prince_Saint
Спасибо за информацию, но Вы не поняли замысел. Я не буду собирать в ОДНО место известные ссылки по тематике разметки, а ПРЕДЛАГАЮ готовые решения для работы. И все это буду подкреплять легкой теорией.
Беда многих перечисленных Вами ссылок в том, что они описывают решение КОНКРЕТНОЙ задачи, не описывая основ. Это приводит к тому, что при бездумном повторении этих решений, большая часть пользователей получает «кирпич» из своего любимца.
Чтобы не быть голословным начнем с описания файла MBR
Структура MBR и EBR файлов.
MBR имеет размер 512 байт, т.е. один физический сектор и имеет следующую структуру:
Каждая запись таблицы разделов имеет длину 16 байт, а содержимое зависит от используемой ОС. Для мобильных устройств формат записи таблицы разделов имеет следующий вид:
Структура записи таблицы разделов
——————————————
Смещение Длина Описание
——————————————
00h-03h 4 Неиспользуется (всегда 0х0)
04h 1 Код типа раздела
05h-07h 3 Неиспользуется (всегда 0х0)
08h 4 Смещение раздела (в секторах по 512 байт)
0Ch 4 Количество секторов раздела (длина раздела)
——————————————
Смещение раздела указывается от первого сектора описываемой этой таблицей области памяти. Т.е. если в поле смещения раздела указано значение 0х400, а сама таблица (MBR) расположена в памяти, начиная с адреса 0х00600000 (это указывается в scatter-файле), то этот раздел физически будет расположен в памяти с адреса
0х00600000
+ 0х00080000 (0х400*0х200=0х00080000)
—————
0х00680000
Работа с MBR и EBR файлами.
В файлы, содержащие таблицы MBR и EBR, вносятся изменения после корректировки scatter-файла. Зная первоначальные размер и смещение раздела, его можно найти в таблице BR.
Затем новые значения этих параметров переводятся из байт в сектора, разделив на 512 (0х200), и вписываются в соответствующие поля таблицы.
В связи с большим объемом материала примеры я решил вынести в отдельный пост.
Введение.
Разметка памяти, т.е. разбивка на разделы, в устройствах на чипах МТК производится при помощи файла, который называется «scatter file».
Он используется программами-прошивальщиками, т.н. флешерами (от английского «flasher») при прошивке полного образа памяти или отдельных ее частей, называемых разделами.
Структура scatter file содержит описание всех существующих разделов памяти, независимо от того, что они будут содержать в работающем устройстве.
Строение scatter file.
Существует две версии структуры scatter-файла. Рассмотрим первую версию, используемую в большинстве мобильных устройств на чипах MTхх.
Полное описание раздела памяти представляет собой набор строк вида:
Пример scatter-файла
Scatter_v2.rar ( 1 КБ )
Решено RPMB раздел: что это такое, и что с ним можно делать.
Layder
Z3X-Team
В микросхемах памяти eMMC и UFS есть защищенный от доступа раздел, называемый RPMB (Replay Protect Memory Block).
В микросхеме UFS, раздел, выполняющий функции RPMB имеет ID: W-LUN 0xC4
Данный раздел предназначен для хранения информации, к которой закрыт прямой доступ. На рисунке из презентации Samsung, показано, как он работает.
Как это работает более подробно:
Если ключ (Key) отсутствует, то устройство (процессор), программирует ключ в микросхему.
Ключ генерируется из SN процессора и CID eMMC, и, таким образом, ключ для разных процессоров и разных eMMC различен. Дальнейшая работа происходит в режиме как с запрограммированным ключем. Запрограммированный ключ изменить невозможно.
Если ключ (Key) уже существует, то, как правило, счетчик имеет значение больше 0.
С микросхемой, которая уже имеет ключ (16 байт), устройство (процессор) может работать только через закодированные ключом (Key) и счетчиком записи (Counter) данные.
Режим чтения: устройство (процессор) получает значение счетчика из eMMC, запрашивает чтение данных (блоками по 256 байт), получает закодированные счетчиком и ключом данные, расшифровывает их, используя сохраненный ключ и значение счетчика, проверяет валидность данных.
Режим записи: устройство (процессор) получает значение счетчика из eMMC, кодирует данные, используя ключ и счетчик (блоками по 256 байт) и отправляет в микросхему. Микросхема расшифровывает их, используя сохраненный ключ и значение счетчика, проверяет валидность данных. Если данные валидны, происходит запись блока, при этом значение счетчика записи (Counter) увеличивается на 1.
Таким образом, значение счетчика записи (Counter), показывает, сколько блоков по 256 байт (или сколько раз) было записано в область RPMB.
Для того, чтобы произвести запись в раздел RPMB, необходимо знать ключ, который сохранен в микросхеме (eMMC).
Для того чтобы произвести чтение можно пробовать применить определенный способ получения данных. Хотя при этом невозможно гарантировать их валидность, но проведённые командой Z3x Easy JTAG эксперименты показывают, что прочтённые таким способом данные валидны более чем в 90% случаев.
В последних версиях программы Z3x EasyJTAG Classic (3.4.4.0 и выше) добавлен вывод в лог строки состояния RPMB области (записывались ли в нее когда либо данные или нет).
Пример строки в логе программы:
EMMC RPMB is not yet programmed (clear) or NO Error
или
EMMC RPMB is programmed and written 12 times
При этом доступна возможность чтения RPMB экспериментальным способом через выбор раздела RPMB (в комбобоксе выбора ROM).
Важно:
1) при записи Firmware в eMMC происходит переинициализация внутренней NAND памяти eMMC, со стиранием ключа, счетчика и данных RPMB
2) другими способами удалить ключ из RPMB или изменить счетчик, кроме увеличения значения счетчика путем записи данных, закодированных с валидным ключом, невозможно.
Замена emmc, и RPMB раздел
gonyla
Имеем коптер DJI Mavic AIR. И так же к нему имеется две донорских платы. На них стоит память KLMxGxJENB-B041, либо h26m52208fpr. Процессор Allwinner H3. Программатора нет, поэтому хочу получить помощь, и понимание какой программатор нужен и возможно ли это?
Проблема заключается в следующем, на родной плате установлена память KLMxGxJENB-B041 и она перестала определять пользовательский раздел, то есть при попытки форматирования через приложение я получаю ошибку что память не найдена. Имея донорскую плату у которой сломан угол платы и из-за этого не работает часть датчиков, я снял с нее исправную память h26m52208fpr (обвязка абсолютно одинаковая) и переставил на свою. Коптер включился никаких ошибок кроме ошибки авторизации нет. У DJI коптеры как айфоны при включение активируются на сервере, для отслеживания гарантии и т.п. Но я имея китайскую программу для удаленной авторизации попытался ее сделать и получил ошибку на шаге RPMB и отсутствие серийника. Изучив мат. часть я понял что процессор и память работают в связки и обмениваются ключем который они сравнивают, для доступа как раз к разделу RPMB, в котором по всей видимости лежит системная информация, а так как память не для этого процессор, то он не может получить доступа к разделу. Правильно ли я все понимаю, и возможно ли при помощи допусти того же Easy Jtag снять дамп и перенести его на новую флешку включая раздел RPMB?
Еще находил информацию что на процессорах Exynos при замене памяти это раздел нужно оставлять пустым, что это дает? Я так понял что если этот раздел пуст то и процессору не приходится сравнивать ключ и все проходит без ошибок.
Нахожусь в Москве, с радостью бы пообщался лично с тем кто имеет программатор и готов помочь попытаться разобраться с этим вопросом.
zorgroz
gonyla
Ну как живая, коптер с ней грузится работает, но не видит только пользовательскую часть. Нет внутренней памяти для записи и компом как флешка не определяется. С другой флешкой все это работает. Вот с такой частично исправной получится слить дамп?
А ну и главный вопрос RPMB раздел при дампе тоже сливается?
zorgroz
Через прогерр сливается всё. В том числе и RPMB