Подготовка eMMC для установки в устройство

  • Автор темы Автор темы Layder
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Layder

.
27/8/06
2 262
642
0
Кредиты
2
Большинство замен eMMC производится на мобильных телефонах и планшетах. И возникает вопрос, что нужно прошить в eMMC, чтобы после её установки в плату мы получили бы или полностью работоспособное устройство, или же, чтобы хотя бы иметь возможность подключить устройство к компьютеру-ноутбуку, чтобы устройство "отдетектилось" как USB устройство.

Тема достаточно широкая, поэтому начнем с простых вещей.

Первое и основное, в микросхему eMMC необходимо записать Boot config
Boot config представляет собой 3 регистра extCSD:
1) Boot Partition [179] - регистр, который указывает, в каком разделе eMMC находится boot для загрузки
2) Bus Config [177] - ширина шины данных, и режим загрузки
3) H/W Reset Function [162] - режим управление выводом RST eMMC (если должен быть 0x01 , то надо выставить, если не должен быть 0x01 - не имеет значения, 0x00, 0x01 или 0x02).

Есть 4 способа это сделать:
1) из файла extcsd, сохранённого с такого же устройства;
2) из файла extcsd, сохранённого с такого же устройства, во время прошивки eMMC;
3) с помощью предустановленных вариантов;
4) вручную.

Вариант 1:


Вариант 2:


Вариант 3:


Вариант 4 (для экспертов):


при BackUp прошивок через "Read by vendor" в папку сохраняется extcsd, и в файле xxxxxxxxxxx_info.txt сохраняется Boot config в таком виде:

Boot configuration [PARTITION_CONFIG: 0x00] No boot partition configured.
Boot bus config [177]: 0x00 , width 1bit , Partition config [179]: 0x00
H/W reset function [RST_N_FUNCTION]: 0x01

где:
Boot configuration:
Partition config [179]: 0x00 - значение регистра 179;
Boot bus config [177]: 0x00 - значение регистра 177;
H/W reset function [RST_N_FUNCTION]: 0x01 - значение регистра 162.

Из extcsd можно записать Boot config с помощью Repair Extcsd -> Only Boot config

Для сокращения в дальнейшем употребляем Boot config 0x48,0x00,0x01 значит значения регистров соответственно 179, 177, 162

Для того чтобы получить соединение с компьютером для последующего восстановления устройства с помощью ПО компьютера для устройствами на базе процессоров:
1) Mediatek (MTK) (Boot config: 0x48,0x00,0x01)
- для устройств на процессорах MT6589/8389 проверить, чтобы размеры ROM2/3/RPMB были не больше , чем по 2MB, в противном случае микросхема не заработает (для микросхем Samsung возможно изменить размеры ROM2/3/RPMB);
- записать Boot cfg, и стереть eMMC (устройство определится как MTK USB Port);
или
- записать Boot cfg, и записать "Preloader" в ROM2(3) через "Write by vendor" (устройство определится как MTK Virtual VCOM Port);
или
- записать Boot cfg, и записать сохраненный бекап ROM2(3) через "eMMC General" - "Write ROM" (устройство определится как MTK Virtual VCOM Port).

В дальнейшем большинство устройств на процессорах MTK программируются (прошиваются) компьютером через родной FlashTool для MTK.

2) Intel. У Intel есть устройства с разделом GP1 и есть без него. (Boot config: 0x00,0x00,0x0x, Boot config: 0x00,0x06,0x01)
- создать (при необходимости) раздел GP1;
- записать Boot cfg, и стереть eMMC (устройство определится как CloverView Device или другое). В этом варианте в дальнейшем потребуется записать загрузчик с помощью утилиты xfstk и дальше согласно инструкциям;
или
- записать Boot cfg, создать (при необходимости) раздел GP1, и записать в eMMC: ROM2, ROM3, GP1, и минимум примерно 300-500MB бекапа ROM1 для разных моделей. В данном варианте устройство сможет загрузится в DroidBoot, откуда его можно прошить прошивками через компьютер.

3) Qualcomm, (Boot config: 0x00,0x00,0x0x), (Boot config: 0x38,0x00,0x01)
- записать Boot cfg, и стереть eMMC (устройство определится как HS QD9008 Loader). Для многих устройств есть сервисные прошивки для QPST в формате bin/xml, с помощью которой можно в дальнейшем восстановить устройство.
или
- записать Boot cfg, и записать часть прошивки (bootloaders, boot, recovery) через "Write by vendor - Qualcomm/Samsung", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту;
или
- записать Boot cfg, и записать начало дампа ROM1 (100-500MB), в которых содержатся bootloaders, boot, recovery и другие необходимые разделы для запуска устройства в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

4) Exynos, (Boot config: 0x48,0x01,0x0x)
- записать Boot cfg, и стереть eMMC, в дальнейшем такой аппарат можно восстановить только с помощью специально подготовленной SD карты под конкретное устройство;
или
- записать Boot cfg, и записать часть прошивки (bootloaders, boot, recovery) через "Write by vendor - Samsung", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту;
или
- записать Boot cfg, записать ROM2 и записать начало дампа ROM1 (100-500MB), в которых содержатся bootloaders, boot, recovery и другие необходимые разделы для запуска устройства в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

5) HiSilicon, (Boot config: 0x08,0x02,0x01)
- записать Boot cfg, и записать часть прошивки (bootloaders, boot, recovery) через "Write by vendor - HiSilicon", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту;
или
- записать Boot cfg, записать ROM2, начало дампа ROM1 (100-500MB), в которых содержатся bootloaders, boot, recovery и другие необходимые разделы для запуска устройства в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

6) SpreadTrum, (Boot config: 0x08,0x00,0x0x)
- записать Boot cfg, и записать часть или полную прошивку (bootloaders, boot, recovery) через "Write by vendor - SpreadTrum", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем (если была записана часть) записать в него прошивку через компьютер;
или
- записать Boot cfg, записать дампы ROM2/3 (содержащие загрузчики (bootloaders)), записать (необязательно) начало дампа ROM1 (100-500MB), в которых содержатся boot, recovery и другие необходимые разделы для запуска устройства в Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

7) Broadcomm , (Boot config: 0x00,0x00,0x0x)
- записать Boot cfg, и записать часть прошивки (bootloaders, boot, recovery) через "Write by vendor - Qualcomm/HiSilicon", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту;
или
- записать Boot cfg, записать ROM2 и записать начало дампа ROM1 (100-500MB), в которых содержатся bootloaders, boot, recovery и другие необходимые разделы для запуска устройства в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

Более подробно в следующих сообщениях по каждому vendor будут инструкции с примерами.

p.s. в статье могут быть мелкие неточности, они будут исправляться.
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Назад
Верх Низ