Partition preloader no image file exist

Одной из самых популярных на сегодняшний день аппаратных платформ, на которой строятся современные смартфоны и планшетные ПК, является решение, созданное и развиваемое компанией Mediatek. MTK-аппараты, особенно бюджетного сегмента, буквально заполонили весь мир благодаря усилиям огромного количества производителей из Китая. Такое разнообразие различных девайсов привело к появлению большого числа самых разнообразных программных решений, которые появляются в смартфонах и планшетах на базе МТК в результате так называемой прошивки, т. е. переноса файлов в разделы памяти девайсов при помощи специальных программ.

Способы прошивки

Безусловно, для такой сложной процедуры, как установка операционной системы "Андроид" в смартфоны и планшеты, необходимо применение специализированных программных инструментов — утилит-прошивальщиков. Несмотря на то что есть способы прошивки, не подразумевающие использования Windows-приложений, а работающие с памятью практически напрямую (например, ADB и Fastboot) или осуществляющие манипуляции прямо из Android, без подключения девайса к ПК, самым популярным методом проведения прошивки MTK-устройств является фирменное приложение, созданное программистами Mediatek – SP Flash Tool. Именно об этой замечательной программе пойдет речь ниже. Более подробно остановимся на ошибках "Флештула", которые могут помешать достижению нужного пользователю результата, то есть безупречно работающего смартфона или планшета.

SP Flash Tool

Популярность приложения обусловлена высокой эффективностью, а также относительной простотой реализации управления процессом прошивки. Действительно, после того как SP Flash Tool стал доступен для загрузки любым владельцем MTK-аппарата, прошивать собственные телефоны стали очень многие пользователи. Несмотря на аскетичный интерфейс приложения, следует отметить, что утилита является очень мощным решением и способна выполнять большое количество операций. Практически все возможные процедуры, предусматривающие манипуляции с памятью "Андроид"-девайсов, в основе которых лежит аппаратная платформа Mediatek, осуществимы с помощью SP Flash Tool. Бывают случаи, когда возникают ошибки "Флештула", что делает осуществление процесса установки ОС в смартфон или планшет невозможным. При этом стоит учитывать, что большинство ошибок устранимы достаточно легко.

Особенности

Как и любой другой программный инструмент, SP Flash Tool нельзя назвать на 100% действенным инструментом, с помощью которого осуществляется прошивка "Андроид"-устройств на процессоре MTK. Ввиду огромного разнообразия смартфонов и планшетов, вероятно, невозможно создать универсальный вариант, который будет работать абсолютно со всеми устройствами без проблем. Ошибки "Флештула", которые программа может генерировать в процессе переноса файлов в память девайса или при других манипуляциях с аппаратной частью, часто вызывают раздражение и недовольство пользователей и жалобы на несовершенство решения программистов Mediatek. При этом нужно учитывать, что остановка процесса может являться своеобразным срабатыванием защиты, заложенной в программу. Другими словами, программа защищает сопряженное устройство от повреждения аппаратной части.

Общие рекомендации

Прежде чем переходить к процессу прошивки смартфона или планшета через SP Flash Tool, следует тщательно изучить инструкции, а также особенности работы с программой при манипуляциях с конкретной моделью "Андроид"-девайса. В этом вопросе неоценимую помощь окажут тематические ресурсы по прошивке, которые пользуются популярностью в Глобальной сети. Взвешенный подход позволит избежать многих проблем и ошибок "Флештула", а также сделает процесс установки различного ПО в смартфон простым, понятным и эффективным. Не следует забывать также о вдумчивом подходе при поиске и загрузке необходимых файлов. Пакеты, предназначенные для установки с помощью SP Flash Tool, должны быть получены из проверенных источников, в идеальном случае – с официального сайта производителя, выпустившего устройство.

Распространенные ошибки

Существует довольно большое количество проблем, которые могут возникнуть в процессе работы с рассматриваемой программой. Часто встречающиеся ошибки "Флештула" и рекомендации по их преодолению будут рассмотрены ниже. В целом, нужно отметить, что в появлении сбоев в большинстве случаев виновата совсем не программа. Перед тем как переходить к кардинальным действиям, нужно проверить достоверность используемых файлов прошивок, качество соединения USB-кабеля, применимость используемой версии SP Flash Tool к конкретной модели аппарата, корректность установки драйверов. Что же делать, если все проверено, а "Флештул" выдает ошибку вновь и вновь? Придется разбираться с каждым конкретным сбоем приложения, используя номер ошибки, демонстрируемый пользователю в окне-сообщении при ее проявлении.

Ошибка 3149

Начнем рассмотрение конкретных сбоев с ошибки, которая может быть решена в результате выполнения одного из множества действий. Ошибка "Флештула" 3149 является довольно распространенной и характеризуется широким перечнем способов ее устранения. Итак, если возникает ошибка 3149, следует попробовать:

  • Использовать другую версию SP Flash Tool. То есть если ошибка возникает в третьей версии программы, нужно использовать пятую, и наоборот.
  • Провести процесс прошивки в режиме Format all + Download.
  • Переустановить драйвера девайса с целью получения такой ситуации, когда в Диспетчере устройств прошиваемый смартфон отображается как MTK USB PORT.
  • Записать отдельно раздел PRELOADER в режиме Download.
  • Предварительно отформатировать память девайса, прибегнув к возможностям раздела Format в программе, затем прошить только раздел PRELOADER и только потом (в случае удачной записи PRELOADER) записывать все остальные разделы.

Ошибка 8417

Также весьма распространенная, но при этом легко решаемая ошибка. В том случае, если ошибка "Флештула" 8417 мешает процессу проведения установки "Андроида" в девайс, нужно всего лишь проверить путь к файлам с программой и прошивкой. Сбой происходит в том случае, если один из этих путей содержит русские буквы. Для устранения ошибки следует переименовать папки, не используя кириллицу, перезапустить SP Flash Tool и повторить процесс сначала. В целом, отсутствие кириллических символов, а также пробелов в названиях каталогов по пути к файлам программы и прошивки – одно из первых и главных требований для обеспечения бессбойной работы приложения при манипуляциях с разделами памяти "Андроид"-устройств.

Ошибка 4001

Ошибка "Флештула" 4001, как и многие другие ошибки, не имеет однозначного трактования, а значит, может быть решена одним из нескольких методов. При возникновении ошибки 4001 необходимо провести действия, представленные:

  • Сменой USB-порта (подключать девайс для прошивки следует исключительно к задней панели материнской платы ПК!).
  • Переносом файлов программы в корень системного раздела (диска C:).

Кроме прочего, рассматриваемая ошибка может свидетельствовать об отсутствии информации о процессоре и/или флеш-памяти в файле DA. В этом случае нужно попробовать использовать более свежую версию "Флештула".

Читайте также:  Как запустить диспетчер задач на удаленном компьютере

Также при проявлении ошибки 4001 не следует исключать наличия аппаратных проблем у сопряженного устройства. Эта ошибка часто проявляется, если флеш-память аппарата вышла из строя.

Ошибка 1013

Неисправный ЮСБ-кабель очень часто может привести к появлению сбоев в работе. Ошибка "Флештула" 1013 обычно решается именно в результате смены используемого кабеля на более качественный. Кроме того, при поиске способа устранить ошибку 1013 следует проверить:

  • Версию приложения. Ошибка практически не возникает в пятой версии SP Flash Tool, а вот при использовании третьей версии – довольно распространена.
  • БИОС ПК на предмет наличия отключенных COM-портов.
  • Наличие неисправностей USB-порта (необходимо использовать другой разъем).

Кроме прочего, можно попробовать произвести запуск "Флештула" от имени Администратора.

Ошибка 5069

К сожалению, при работе с SP Flash Tool возникают проблемы, которые решаются путем серьёзных усилий либо не решаются вообще. Примером таких неприятностей является появление ошибки "Флештула" 5069.

Данная ошибка проявляется в результате невозможности взаимодействия приложения с флеш-памятью девайса, имеющей определенные аппаратные особенности. Такое положение вещей обусловлено широким распространением типов и видов микросхем памяти, используемой при создании различных "Андроид"-девайсов. Не все производители чипов могут обеспечить полное соответствие своих решений общепринятым стандартам. Если при прошивке возникает ошибка 5069, вероятно, от использования SP Flash Tool придется отказаться и прибегнуть к использованию других методов и программных инструментов.

Заключение

Конечно же, перечень вышеописанных ошибок не претендует на звание полного. В процессе работы с "Андроид"-устройствами пользователь может столкнуться и со многими другими проблемами. При этом подход в решении остается единым: изначально следует проверить исправность всех аппаратных компонентов как компьютера, так и "Андроид"-девайса, а также соответствие версий, используемых при прошивке файлов модели устройства. В большинстве случаев проблема лежит на поверхности и решается довольно просто.

Возможные ошибки, которые выдает программа SP Flash Tool при прошивке устройств на базе процессоров компании MediaTek.

(1003) S_COM_PORT_OPEN_FAIL

Проблема с портом.

Может возникать если например у вас в BIOS отключены com-порты (хоть в данном случае com-порт здесь виртуальный, а физический USB, но при отключении вы просто не увидите оборудование на которое ставятся драйверы preloader). Это либо проблема в USB-кабеле (помогает смена кабеля для прошивки), либо проблема в USB-порту компьютера (помогает перетыкание кабеля в другой порт).

(1011) S_NOT_ENOUCH_STORAGE_SPACE

Возникает когда размер какой-либо части прошивки превышает размер отведенного ему пространства (Обычно это блок ядра или Recovery). Возможно поможет смена версии флешера.

(1013) S_COM_PORT_OPEN_FAIL

Ошибка по характеру и направленности аналогична ошибке 1003.

(1022) S_UNSUPPORTED_VER_OF_DA

Необходимо использовать более новую версию SP Flash Tool

(1040) S_UNSUPPORTED_OPERATION

Scatter файл не подходит телефону. Например в названии присутствует 6577, а телефон на самом деле 6573.

(2005) S_BROM_CMD_STARTCMD_FAIL

На телефонах с MTD флэш случаи возникновения ошибки:

1) При выборе Download на блоках preloader или dsp_bl не установлена галка. Надо использовать подходящую версию SPFT , например v2.xxx для телефонов MT6573, или выключить режим DA Download All.
2) При выборе Download на блоках preloader или dsp_bl установлена галка. Надо снять галку с этих блоков! Если эти блоки необходимо прошить, надо подсоединить телефон в режиме BOOTROM.
3) При выборе ReadBack, Format или MemoryTest. Надо подсоединить телефон в режиме BOOTROM.

(3001) S_DA_EXT_RAM_ERROR

Возможно проблемы с подключением. Проверьте кабель и/или переподключите кабель в другой порт.

(3013) S_DS_SOC_CHECK_FAIL

Возможно, что в окне SP Flash Tool не стоит птичка на uboot. uboot — загрузчик операционной системы + драйверы для инициализации основного оборудования (дисплей, процессор, GPIO). Или когда в строке пути есть русские имена папок например: C:UsersАндрейDesktopХатаПрошивкиПрошивка планшета8.31Surfer 8.31 3G_20130402_V1.03Surfer 8.31 3G_20130402_V1.03

(3144) S_DA_EMMC_FLASH_NOT_FOUND

Кроме проблемы с железом может быть когда Scatter файл не подходит телефону. Например в названии присутствует emmc, а телефон на самом деле с MTD флэш.

(3066) S_DA_HANDSET_FAT_INFO_NOT_FOUND

Возникает при автоматическом форматировании, следует попробовать установить адреса форматирования в ручную.

(3036) S_DA_INVALID_RANGE

Проблема заключается в том, что SP Flash Tool перед прошивкой сравнивает адрес PMT блока на флеше устройства со scatter файлом и находит разницу, почему и выдает ошибку. PMT блок создается динамически программой SP Flash Tool из scatter файла.

Чтобы удалить/перезаписать PMT блок на новый из scatter-файла необходимо сначала стереть его в устройстве, который вы хотите прошить. Для этого необходимо в программе SP Flash Tool нажать на кнопку «Format» (в открывшемся окне ничего не меняем, просто нажимаем ОК), далее нажимаем «Download» и SP Flash Tool запишет заново на флеш новые данные о PMT блоке и других тоже.

(4001) S_FT_DA_NO_RESPONSE

Решение — сменить USB-порт и перенести SP Flash Tool в корень диска C:

Также есть вариант, что в файле download agent нет информации о CPU/Flash. Решение — обновить версию флешера.

Проблема может быть аппаратная, например при вышедшей из строя флеш-памяти

(4008) S_FT_DOWNLOAD_FAIL

Решение проблемы:

  • смена версии флешера, возможно даже на более старую версию;
  • смена кабеля для прошивки;
  • также возможно в процессе прошивки сел аккумулятор. Решение: зарядить телефон и попробовать прошивку заново;
  • также возможно стоит прошивать со вставленной батареей.

(4009) S_FT_READBACK_FAIL

Кроме ошибок чтения в самом телефоне такая же ошибка при ошибках в файловой системе компьютера. Например, не хватает места для файла или файл невозможно перезаписать, т.к. он заблокирован (смотрим лог).

(4032) S_FT_ENABLE_DRAM_FAIL

Ошибка возникает при попытке смены прошивки на аппарате с процессором MT6589 через программу SP Flash Tool.

После прошивки телефона, отформатируйте телефон через кнопку Format (не делайте это если у вас аппарат на процессоре MT6575 или 6577) в программе SP Flash Tool, далее прошейте официальную или именно от вашего устройства прошивку и прошейте все блоки (установите все галочками). Иногда нужно удалять и переустанавливать драйверы и делать форматирование повторно, и потом перепрошивать, если предыдущая попытка была неудачной.

(4050) S_FT_NEED_DOWNLOAD_ALL_FAIL

Не совпадают размеры блоков в PMT и в scatter-файле. Необходимо найти в BROM_DLL логе строку:

size changed from 0x

Partition 13 (USRDATA ) size changed from 0x0000000000000000 to 0x000000000B620000

В scatter-файле размера нет, поэтому сам SPFT рассчитывает размер USRDATA исходя из размеров флэш и места под BMTPOOL. А в таблицах PMT внутри тела размер блоков прописан и в данном случае кто-то или что-то туда прописало нуль.

Читайте также:  1С скрыть элементы справочника

Для решение этого случая можно переименовать в scatter USRDATA в __NODL_USRDATA … Но тут может возникнуть ошибка 8038 из-за разницы в именах wink.gif. В общем случае эта ошибка лечится загрузкой всех блоков (бывает достаточно одного usrdata), после этого размер в PMT должен поменяться на правильный.

(5002) S_INVALID_DA_FILE

При настройке SP Flash Tool download agent нужно выбирать прилагающийся к данной версии прошивальщика. Выбор других агентов дает такую ошибку.

(5054) S_DL_GET_DRAM_SETTINGS_FAIL

Если при полном сборе через SP Flash Tool, и нет возможности установить новую прошивку, а также не удается сделать сброс ещё раз.

Переустановить драйвера заново.

(5066) S_DL_PC_BL_INVALID_GFH_FILE_INFOR

Неправильные файлы. Например, выбрали scatter-файл из папки с еще не подготовленными для FT файлами. Необходимо выбрать scatter-файл из папки подготовленных для FT файлов.

(5069) S_DL_PMT_ERR_NO_SPACE

Аппатаная проблема с флеш-памятью

Если делать Format, то вылезет ошибка S_PART_NO_VALID_TABLE (1037) и при этом говорится, что нужно сделать Download для создания таблицы разделов.
Firmware Upgrade не дает делать -> опять же из-за ошибки 1037
Можно сделать Download одного только PRELOADER. Загрузка любого другого раздела выдает ошибку (5069) S_DL_PMT_ERR_NO_SPACE.
От версии scatter-файла не зависит.
От размера раздела FAT тоже не зависит.
Можно сделать Manual Format — дает, но в пределах UA Size. После этого попытка залить любой раздел снова заканчивается ошибкой 5069.

Скорее всего это особенность флеш-памяти — бывают такие случаи, когда ни форматирование, ни низкоуровневое форматирование не дает никакого эффекта.

(6124) S_SECURITY_INVALID_PROJECT

Выбираем: Options -> DA Download All -> Speed -> Full Speed (при выбранном режиме High Speed на на некоторых ПК появляется ошибка (6124)).

(8038) SP FLASH TOOL ERROR

Возникает если имена или адреса блоков в scatter-файле отличаются от таблицы внутри телефона (PMT). Надо смотреть SP_FLASH_TOOL.log и искать в нем строку NOT MATCH.

NandLayoutParameter::CompareIsNandLayoutMatched(): NOT MATCH: load item key(CUSTPACK2), value(0x3444000), target item key(CUSTPACK), value(0x3444000)

Необходимо в scatter заменить имя CUSTPACK2 на CUSTPACK. Если отличий несколько, то эта ошибка будет возникать пока scatter после внесенных исправлений не станет идентичен PMT. Можно сразу все исправить, если сравнить таблицы которые в логе чуть выше строки NOT MATCH.

Первая из scatter-файла, вторая из PMT телефона. Надо чтоб все имена блоков в scatter были такие же как во второй таблице.

(8045) SP FLASH TOOL ERROR

Ошибка похожа на 8038, но правка scatter-файла не решала проблему.

1) Прошивка аппарата через программатор.
2) В редких случаях помогла прошивка через кнопку DOWNLOAD со всеми установленными галочками.

(8200) SP FLASH TOOL ERROR

Возникает если вы пытаетесь прошить аппарат на одной платформе, прошивкой от другого.

В других случаях — смена версии флешера.

Invalid ROM or PMT address

Если аппаратная часть устройство заведомо в порядке — необходимо форматирование памяти, а далее прошивка в стандартном порядке.

NOTE: This is a continuation of the previous article in the series. The information was obtained from various sources and through reverse engineering, don’t take it as a reference!

UPDATE 03.07.2015: Add Download Agent references.

After the Boot ROM has completed the initialization of the core hardware, it loads the first block from the eMMC flash into the On-chip SRAM and starts execution. Usually this would be the location of the operating system bootloader firmware, but on MediaTek SoCs it usually isn’t. There’s an intermediate step: the Preloader. It is a piece of software that abstracts a bit between the platform and the actual bootloader, and it offers some additional features like the ability to boot from either MMC or NAND Flash or to read/write various parts of the flash via USB.

Overview

When MediaTek ships a kernel source package to a manufacturer, the package also contains the source code for the Preloader. Depending on the changes the manufacturer makes, the Preloader does slighlty different things on different SoCs and boards, so it’s not easy to come up with a generic description that fits all systems.

The following analysis is based on the ThunderKernel source code for the MT6582 SoC. The distribution is made up of the following parts:

  • A platform-specific part in mediatek/platform/$/preloader , this contains most of the code.
  • A custom (manufacturer-specific) part in mediatek/custom/$/preloader .
  • A device-specific part in mediatek/custom/$/preloader .

Now let’s analyse the code.

CPU Init

When the preloader starts, the SoC has not yet been fully initialised and many things are in a random state. A piece of assembler code in mediatek/platform/$/preloader/src/init/init.s performs the following steps to create a clean state:

  1. Clear all registers.
  2. Switch to the SVC32 privileged mode.
  3. Disable interrupts.
  4. Set up the caches and some other, minor details (e.g. the stack).
  5. Jump to the main method in the C code.

Now execution continues in mediatek/platform/$/preloader/src/core/main.c , which calls a lot of other methods, which again call a lot of other methods. It makes no sense to disect every line of code in this article, so I’ll just give a high-level view of what’s happening and explain some details where necessary.

Platform init

The Preloader relies on some peripherials, so it has to initialize them. This is mostly done in the platform_pre_init and platform_init methods. The list of peripherials contains the timer, the PLL clock, the DDR memory controller, the Watchdog, the GPIO pins, the UART, the USB 1.1 port and the power management circuit.

There is something special here: after the flash storage has been initialised, the Preloader offers an early “emergency download” mode. The manufacturer can define a hardware key, which, when pressed during Preloader platform init, immediately reboots back into the Boot ROM and waits for a download.

At this point the Preloader also records the reason why the system was booted:

Partitions

After bringing up the platform, the preloader has full access to the internal storage. MediaTek dec >mediatek/build/tools/ptgen/$/partition_table_$.xls by the command ./makeMtk -t $ ptgen (here is an example for the bq Aquaris E4.5 Ubuntu Edition):

The generated partition table structure is stored in out/target/product/krillin/obj/PRELOADER_OBJ/cust_part.c and looks like this (example for the bq Aquaris E4.5 Ubuntu Edition):

First Secure Boot stage

After loading all the partitions (and if the feature is enabled), the Preloader initialises the SecLib subsystem. The device vendor supplies an RSA key of up to 2048 bits in length (although the keys I’ve seen are only 1024 bits).

Читайте также:  Большой папочка bioshock без шлема

What SecLib does exactly is unknown. It takes configuration data from the SECURE partition (if it exists) and the RSA key, then calls into the binary blob mediatek/platform/$/preloader/src/SecLib.a .

Boot mode selection

After (optionally) confirming secure boot, the Preloader decides which boot mode to use.

NORMAL_BOOT will be used if secure boot is disabled or the secure boot module doesn’t say otherwise. If Download Mode is enabled, this mode will immediately try to enter it.

There is a long list of other possible boot modes, and not all of them are self-explanatory:

Download mode

Before Download mode can be entered, the Preloader has to find out if a host is connected via USB or UART and running the MTK SP Flash Tool. It does this by configuring a virtual CDC ACM discipline on USB, so both lines are in fact serial ports and behave similarly.

The USB port will assume that the tool is connected if it receives a “set line coding” (configures baudrate etc.) CDC message. It then sends the string READY to the tool and waits for the reception of a token of eight bytes.

After successful detection, the tool can send the special Start command sequence ( 0xa0 0x0a 0x50 0x05 ) to enter a special mode that is only available via USB. It interprets the following commands (I left the ones marked with “legacy” out):

Command Command byte Function
CMD_GET_BL_VER 0xfe Get Preloader version (seems to be always “1”)
CMD_GET_HW_SW_VER 0xfc Return hardware subcode, hardware version and software version
CMD_GET_HW_CODE 0xfd Return hardware code and status
CMD_SEND_DA 0xd7 Send a special “Download Agent” binary to the SoC, signed with a key.
CMD_JUMP_DA 0xd5 Set boot mode to DOWNLOAD_BOOT and start execution of the Download Agent sent in the previous step.
CMD_GET_TARGET_CONFIG 0xd8 Get supported Preloader configuration flags
CMD_READ16 0xa2 Read data from the SoC memory (16 bit length parameter)
CMD_WRITE16 0xd2 Write data into SoC memory (16 bit length parameter)
CMD_READ32 0xd1 Read data from the SoC memory (32 bit length parameter)
CMD_WRITE32 0xd4 Write data into SoC memory (32 bit length parameter)
CMD_PWR_INIT 0xc4 Initialise the power management controller (effectively a null op because it is already on)
CMD_PWR_DEINIT 0xc5 Shut down the power management controller (effectively a null o)
CMD_PWR_READ16 0xc6 Read 16 bits of data from the power management controller interface memory
CMD_PWR_WRITE16 0xc7 Write 16 bits of data to the power management controller interface memory

The Download Agent step is necessary because this way the Flash Tool can always send a current version for the exact hardware version that’s being used.

The UART has no possibility to detect if the physical line is powered, so it just sends the string READY and hopes that it gets an eight byte token back. If it does, it assumes that the tool is present.

Note that the special commands from the table above are not available when communicating over the UART, probably because the Boot ROM already offers most of these commands via UART.

If the special Start command is not issued by the host via USB, the Preloader enters a common mode in which it accepts the following commands over both USB and UART:

Command Command string Function
SWITCH_MD_REQ SWITCHMD Is probably supposed to switch the modem into firmware download mode, but doesn’t seem to do anything on the MT6582?
ATCMD_NBOOT_REQ AT+NBOOT Switch to NORMAL_BOOT mode
META_STR_REQ METAMETA Switch to META_BOOT mode
FACTORY_STR_REQ FACTFACT Switch to FACTORY_BOOT mode
META_ADV_REQ ADVEMETA Switch to ADVMETA_BOOT mode
ATE_STR_REQ FACTORYM Switch to ATE_FACTORY_BOOT mode
FB_STR_ACK FASTBOOT Switch to FASTBOOT mode

Second Secure Boot stage

Again it is unknown that SecLib does at this stage, it calls into the binary blob most of the time.

The following (questionable) information was obtained by looking at the C wrapper and dumping the library symbols and strings:

  • The security data comes from the SECSTATIC partition
  • Val >UBOOT , LOGO , BOOTIMG , RECOVERY and ANDROID partitions seem to be checked at some point
  • The “customer name” seems to be checked somehow, but why?

The necessary signed images are most likely generated by the SignTool binaries in mediatek/build/tools/SignTool .

The device manufacturer can add additional security measures.

Load core boot images

Now that the Preloader knows that the system is safe and secure, it can go and load the firmware images from the internal flash.

This is a highly specialised process, because every image has to be processed differently. For example the firmware for the HSPA modem in the MT6582 has to be fed into the modem using special registers and commands, while the u-Boot boot loader can just be copied to the right memory address. In this step the Preloader will also dec >UBOOT partition.

Note that in this step only the most basic firmware is loaded, this is usually just the modem and the bootloader.

Platform post init

In this step the platform is put into a defined state for the next boot process component (bootloader, Little Kernel). The most important step is to pass on the boot arguments that were set during Preloader execution. This will hopefully make more sense once we look at what happens after the Preloader, the whole MediaTek design is a bit complicated.

The boot argument structure on the MT6852 looks like this:

It is put at a defined memory location, where it “survives” until the next component grabs it.

Boot the next component

The last Preloader step is to jump to the location of the next component, usually the “Little Kernel” loaded from the UBOOT partition.

Оцените статью
Добавить комментарий