Что такое scatter-файл?
Что такое scatter-файл?
Разметка памяти, то есть разбивка на разделы, на устройствах с чипсетом MediaTek происходит при помощи файла, который называется «scatter-файл». Данный файл используется программой по прошивке устройств на MeidiaTek, а именно SP Flash Tool, при прошивке полного образа памяти устройства или же его отдельных частей, так называемых разделов. Структура scatter-файла содержит описание всех существующих разделов памяти устройства. Существует две версии scatter-файла.
Scatter-файл первой версии
Данная версия scatter-файла используется на большинстве устройств на MediaTek. Полное описание раздела памяти представляет из себя следующее:
- __NODL_ (No download) — означет что данный раздел памяти будет пропущен программой по прошивке и для работы данного раздела не требуется его наличие. Такой раздел можно вообще исключить из scatter-файла;
- name — имя раздела;
- offset — смещение раздела от начала памяти в 16-ричном виде (байт);
- length — длина раздела в 16-ричном виде (байт);
- параметры в квадратных скобках не обязательные
Описание раздела такого вида, предполагает что каждый раздел имеет длину до начала следующего и что между двумя разделами не существует третьего, скрытого раздела. Ниже приведёт пример scatter-файла первой версии для MediaTek MT6589:
Scatter-файл второй версии
В данном варианте scatter-файла, полное описание каждого отдельного раздела памяти представляет собой следующий набор строк:
Здесь:
- partition_index — индексный номер раздела, в нашем примере SYS1;
- partition_name — имя раздела, в нашем примере MBR;
- file_name — имя файла который содержим образ данного раздела или «NONE» (значит нет раздела);
- is_download — параметр определящий будет ли загружен раздел, по типу «__NODL_» из первого варианта scatter-файла;
- type — тип раздела, параметр который указывает содержимое данного раздела, может принимать следующие значения:
- EXT4_IMG — раздел содержащий часть файловой системы EXT4;
- NORMAL_ROM — раздел содержащий сохранённый образ или отдельный файл;
- SV5_BL_BIN — раздела содержащий, так называемый, «сырой код» (Raw code), то есть исполняемый код;
- EMMC_BOOT —
- EMMC_USER —
- BINREGION — обасть «сырого кода» (raw code);
- BOOTLOADERS — загрузчик;
- INVISIBLE — невидимый раздел;
- PROTECTED — защищённый раздел;
- RESERVED — зарезервированный раздел;
- UPDATE — обновляемый раздел:
Работа со scatter-файлом:
SP Flash Tool использует scatter-файл, только для полной разметки памяти, если вы прошиваете один или несколько разделов, то программа по прошивке берёт расположение разделов из внутренней базы, а именно файла PMT (Partitions Map Table). Происходит считывание значения смещения раздела, то есть физический адрес, и прошивается образ раздела в память, начиная с физического адреса.
Поскольку scatter-файл содержит список всех физических адресов разделов, то изменив его можно произвести переразметку памяти. Делается это путем смены значений смещения необходимых разделов. Нарпимер, такой раздел как USRDATA содержит в себе данные программ пользователя, поэтому чаще всего переполняется и ползователь может увидеть сообщения типа «Память переполнена» и так далее. В обычном scatter-файле, данный раздел имеет смещение «0x34f80000» и размер «0x74f80000-0x34f80000=0х40000000» (или 1073741824= 1Гб). Если увеличить данный раздел на 256 Мб (268435456), то «1073741824+268435456=1342177280 (или 0х50000000 в hex), то есть мы добавили в раздел еще 0х10000000. При этом смещение данного раздела переместится на эту же величину: было 0х74f80000, а стало 0х84f80000. Если поступить таким образом со смещением всех разделов, то они все переместятся на данную величину, что увеличит общий размер памяти занимаемый прошивкой, а этого делать нельзя. Поэтому необходимо уменьшить размер какого-то из последующих разделов, в нашем случае это FAT (раздел пользователя)
Источник
Scatter андроид что это
Разметка памяти мобильных устройств. Теория и практика
В этой теме будут затронуты следующие вопросы:
- строение файлов разметки памяти, таких как scatter, MBR, EBR, GPT, EFI, parameter и др.;
- предложены средства (приложения) для изменения разметки памяти;
- даны практические рекомендации по осуществлению операций по переразбивке (переразметке) памяти мобильных устройств.
Для начала стоит начать с материала под спойлером «Полезная информация«, а затем, наполнившись знаниями, приступить и к практике, используя приложения, представленные ниже:
Требования:
- операционная система Windows 7 или выше;
- установленный пакет .NET 4.0.
Возможности:
- позволяет изменять размер ЛЮБОГО раздела памяти с автоматическим пересчетом параметров всех разделов;
- позволяет удалять любой раздел полностью;
- восстанавливать PMT-файл по имеющемуся scatter-файлу;
- восстанавливать scatter-файл по имеющемуся PMT-файлу;
- автоматически формирует файлы разметки памяти (scatter, MBR+EBR);
- устанавливает верхнюю границу памяти 3 способами ;
- размеры памяти привязаны к размеру блока, размер которого можно выбрать ;
- работает с нестандартными scatter-файлами;
- мультиязычность. Поддерживается два языка: русский и английский.
Свежая версия
Архив содержит папку с ресурсами русского языка, распаковать ВСЮ структуру вместе.ScatterEditor_v1.06.zip ( 43.32 КБ )
ИнструкцияИнструкция пользователя ScatterEditor_v1.06.zip ( 1.36 МБ )
Требования:
- операционная система Windows 7 или выше;
- установленный пакет .NET 4.0.
Возможности:
- поддерживает файлы новой структуры;
- позволяет изменять размер ЛЮБОГО раздела памяти с автоматическим пересчетом параметров всех разделов;
- позволяет удалять разделы;
- автоматически формирует файлы разметки памяти (scatter, MBR+EBR);
- правильно устанавливает верхнюю границу памяти, которая просматривается через свойства аппарата;
- мультиязычность. Поддерживается два языка: русский и английский.
Свежая версия
Архив содержит папку с ресурсами русского языка, распаковать ВСЮ структуру вместе.Scatter2Editor_v207.7z ( 34.77 КБ )
Инструкция в pdf форматеИнструкция пользователя Scatter2Editor_v2.03.zip ( 1011.1 КБ )
Требования
- операционная система Windows 7 или выше;
- установленный пакет .NET 4.0.
Возможности
- позволяет редактировать размер и флаг ЛЮБОГО раздела;
- позволяет изменять параметры командной строки запуска;
- мультиязычная версия;
Свежая версияRK_ParamEd_v1.01.rar ( 20.43 КБ )
Инструкция пользователяRK_ParamEd_1.01. Users manual.rar ( 990.79 КБ )
- PartitionsA23 — разметка разделов на процессорах AllWinner — для чипов А23 и А33, A31s (возможно подойдёт и для других чипов)
Приложение для обработки файлов разметки схем DOS (MBR+EBR, partition.bin и т.п.) и GUID (файл GPT, EFI и т.п.).
Требования
- операционная система Windows 7 или выше;
- установленный пакет .NET 4.0.
Свежая версияPartitionsEditor_1.02.rar ( 122.15 КБ )
Инструкция пользователя
Скоро будет.
В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.
Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).
Сообщение отредактировал derak1129 — 12.10.21, 06:08
Проверить успешность процесса переразмеки, можно только одним способом : посмотреть каким стал размер того раздела, манипуляции с которым Вы проводили в программе ScatterEditor .
Посмотреть размеры разделов телефона можно, например, через программку MTK Droid Tools Для этого подключите тел. к ПК, на котором уже установлены все необходимые драйвера, и запускаем прогу (через эту же прогу получаем временный Root-Shell , если его нет) затем жмем на кнопку «Карта блоков» . Появляется новое окошко, в котором и смотрим размеры разделов телефона.
Сообщение отредактировал SevenMaxs — 15.09.14, 17:14 ps: Могу помочь в создании топиков (в стиле Android update-script, лучшую инфу с форума собрал в одном месте). Prince_Saint Что такое MBR-файл. Введение. Структура MBR и EBR файлов. MBR имеет размер 512 байт, т.е. один физический сектор и имеет следующую структуру: Каждая запись таблицы разделов имеет длину 16 байт, а содержимое зависит от используемой ОС. Для мобильных устройств формат записи таблицы разделов имеет следующий вид: Структура записи таблицы разделов Смещение раздела указывается от первого сектора описываемой этой таблицей области памяти. Т.е. если в поле смещения раздела указано значение 0х400, а сама таблица (MBR) расположена в памяти, начиная с адреса 0х00600000 (это указывается в scatter-файле), то этот раздел физически будет расположен в памяти с адреса 0х00600000 Код типа раздела описывает его содержимое. Так, если раздел не содержит информации, т.е. пуст, то его код устанавливается в 0х00. Работа с MBR и EBR файлами. В связи с большим объемом материала примеры я решил вынести в отдельный пост. Сообщение отредактировал vin2809 — 12.02.14, 20:39 Введение. Строение scatter file. [__NODL_]name offset [length]
Квадратные скобки означают необязательный параметр.
EXT4_IMG — раздел содержит часть файловой системы EXT4;
EMMC_BOOT_1 —
BINREGION — область «сырого кода»;
Пример полного scatter-файла второй версии, приведен в файле «Scatter_v2.txt». Работа со scatter file. Пример scatter-файла Сообщение отредактировал vin2809 — 27.02.14, 15:26 Источник |