Как прошить bin файл

Обновлено: 08.07.2024

Обработка (распаковка и сборка) прошивок и образов (*.img, *.bin) строго под WINDOWS

Эта тема создана для продолжения обсуждения и помощи в обработке различных образов под Windows.

Начало было положено в другой теме, но автор негативно воспринял обсуждения, не касающиеся его средства, предложил обсуждать в личке или завести другую тему. Я категорически против общения по личке, поскольку много народу не увидит обсуждаемой информации, которая может оказаться очень полезной, и не сможет внести свою лепту в обсуждение. Поэтому пришел к решению создать эту тему. В ней хочу предложить свои утилиты для распаковки образов формата EXT2\EXT3\EXT4\SPARSE\YAFFS2, свой вариант кухни для распаковки\запаковки полных прошивок под Rockchip, MTK (в виде файлов *.img или архивов *.tar(rar)) и содержащихся внутри прошивок отдельных образов типа system, kernel, recovery, boot. Это то что уже сделано и работает, в ближайших планах подружить распаковщик с образами *.SIN (формат для Sony Xperia)

Полезное
(Примеры, варианты, утилиты, кухни, скрипты, обработки разных образов)

make_ext4fs - утилита для сборки образов в формате EXT4 и SPARSE EXT4 (добавлен способ сборки system через 'таскание мышкой')

AndImgTool (Android Image Tool)

Утилита для распаковки и обратной сборки загрузочных образов типа BOOT и RECOVERY для ARM-платформы, неважно какой проц устройства (рокчип, медиатек и т.д. и т.п.), важно какого стандарта придерживался производитель! На данный момент поддерживаются следующие форматы: Android Boot Image (так же и с оберткой MTK внутренних блоков кернела и рамдиска и с новым блоком DTB), KRNL Image, UBOOT Image (форматы паковки: none, LZMA, GZIP), распаковка\запаковка полных прошивок для RockChip (RKFW\RKAF)
Подробнее про утилиту, список протестированных устройств , инструкция, скрины и логи тут.

AndImgTool версия 1.3.0 Обновлено: 30.12.2014 релиз и подробности тут
- Добавлена поддержка распаковки\запаковки x86 загрузочных образов (функционал перенесен из утилиты xImgTool)

AndImgTool версия 1.2.2 AndImgTool_1_2_2.rar ( 196.73 КБ )
Обновлено: 22.10.2014 - обновление функционала, подробности тут
AndImgTool версия 1.2.1 Обновлено: 13.08.2014 - исправлены найденные ошибки
AndImgTool версия 1.2.0 AndImgTool_1_2_0.rar ( 196.16 КБ )
Обновлено: 10.07.2014
- добавлен функционал по поддержке кернела с XZ-компрессией
- добавлен функционал по распаковке рамдиска сжатого LZMA для формата Android Boot Image
- изменен алгоритм запаковки в LZMA (для большей схожести при перепаковке оригинальных данных)
подробнее про изменения в этой версии, логи работы утилиты
AndImgTool версия 1.1.2 Обновлено: 12.06.2014 Промежуточная версия 1.1.2 с реализованной обработкой блоков с UBOOT-оберткой для формата Android Boot Image и описание этой обертки для блоков рамдиска и кернела, примеры и логи распаковки подобных образов тут
AndImgTool версия 1.1.1 AndImgTool_1_1_1.rar ( 115.14 КБ )
Обновлено: 20.05.2014 подробнее про изменения в этой версии, логи работы утилиты
AndImgTool версия 1.1.0 AndImgTool_1_1_0.rar ( 115.38 КБ )
Обновлено: 16.05.2014 подробнее про изменения в этой версии, логи работы утилиты
AndImgTool версия 1.0.0 AndImgTool_1_0_0.rar ( 109.14 КБ )
Первая версия
24.04.2014 ОБНОВЛЕНО В связи с тестированием новые версии выкладываются в постах темы, пока текущая версия утилиты 1.0.8, тестируется пересборка zImage (актуально для загрузочных образов UBOOT-OMAP)

ImgExtractor

- основная утилита для распаковки образов файловых систем типа system, userdata, cache, secro (расширение может быть любое, например img или ext4).
Поддерживаются следующие форматы файловых систем: EXT2\EXT3\EXT4\YAFFS2\CRAMFS, форматы структуры образов (обертки) SPARSE\SIN( 1, 2 и 3 версии)\MOTO, поддерживается конвертация образа файловой системы формата EXT4 из обертки SIN или SPARSE непосредственно в EXT4, реализован вывод информации о суперблоке для образов файловых систем, дальше будет развиваться именно эта утилита.

ImgExtractor версия 1.3.7 Обновлено: 13.02.2015 релиз и подробности тут
- добавлена поддержка распаковки образов SPARSE-Marvell для MOTO
- исправлено падение утилиты при распаковке образов содержащих файлы с символами "?"
- добавлена идентификация формата UBIFS и обертки MOTO внутри SPARSE формата
- добавлена конвертация образов из EXT3\EXT4 в SPARSE с разбиением на файлы меньшего размера

Это полностью консольное приложение, использование для распаковки аналогично примеру работы с утилитой Ext4Extractor приведенному ниже. Если просто и кратко - то распаковываете архив прошивки (для тестирования формата SIN 3 версии использовал прошивку C6603_10.3.A.0.423_1270-1410_Rus.FTF), в распакованную папку копируете распакованный ImgExtractor и перетаскиваете мышкой нужные образы на распаковщик, как на скринах, в результате в этой папке появятся распакованные образы или в виде файла (*.ELF) или в виде папки с именем образа и символом подчерка в конце.

Прикрепленное изображение

Прикрепленное изображение


Ext4Extractor версия 1.5.2 Ext4Extractor_V1_5_2.rar ( 174.8 КБ )
- первый вариант распаковщика, пригодится для распаковки образов типа system, userdata, cache, secro (расширение может быть любое, например img или ext4), распаковывает форматы EXT2\Инструкция по распаковке system.img без помощи компьютера, прямо на Android устройствеEXT3\EXT4\SPARSE
Небольшое описание использования (написал по просьбе обладателей Самсунгов)

- утилита для распаковки\запаковки загрузочных образов (IMG, BIN) и контейнеров (INB, SZB, QSB ) для устройств на базе x86 Android Platform (Lenovo K900, Ramos i9, Asus ZenFone 4,5,6, ZTE Geek)

xImgTool версия 1.3.32xImgTool_1_3_32.rar ( 40.86 КБ )
ОБНОВЛЕНО: 06.11.2014
- поддержка нового размера блока bootstub
- сохранение новых атрибутов в блоке размеров
- при распаковке контейнера QSB части, участвующие при объединении в один файл, сохраняются в отдельной папке в оригинальном виде (особенно касается образов system и userdata)

xImgTool версия 1.3.31 17.10.2014 - добавлена обработка нового блока подписи, подробности тут
xImgTool версия 1.3.25 30.01.2014 тестовая версия 1.3.25, добавлена поддержка контейнера QSB
xImgTool версия 1.2.18 xImgTool_1_2_18.rar ( 28.58 КБ )
20.12.2013 - доработана поддержка образов-контейнеров (INB, SZB ), распаковка контейнера в папку и обратная сборка контейнера из содержимого папки, сборка основывается на файле container.cfg (подробнее тут)
xImgTool версия 1.2.6 xImgTool_1_2_6.rar ( 28.06 КБ )
10.12.2013 - добавлена поддержка образов-контейнеров (INB, SZB), распаковка контейнера в папку и сборка контейнера из содержимого папки, cборка основывается на файле container.cfg (подробнее тут)
- добавлена дополнительная обработка второго составного блока IFWI, который содержит внутри два блока с FIP Header (информация о версиях модулей прошивки)
xImgTool версия 1.1.1 xImgTool.rar ( 17.81 КБ )
22.11.2013 - добавлена поддержка распаковки LOGO и образов IFWI на блоки использующиеся в процессе прошивки через MFT(xFSTK)
xImgTool версия 1.0.27 Первый вариант утилиты (версия 1.0.27)
Реализована распаковка\запаковка образов типа boot.bin, pos.bin, droidboot.img, recovery.img, fastboot.img, kboot.bin - образы под x86 Android могут иметь или не иметь внутри себя OSIP-заголовок и блок подписи, так же бывают варианты с несколькими образами (областями данных) внутри одного файла. Реализован учет новых размеров составных блоков(bzimage и initrd), пересчет контрольной суммы OSIP-заголовка и расчет хеша SHA-256 для подписанной области данных.

В связи с тем, что основной функционал кухни перешел в единую утилиту AndImgTool, не требующую для своей работы никаких дополнительных CYGWIN DLL, настоятельно рекомендую использовать для работы с загрузочными образами именно AndImgTool (для образов файловых систем есть единая утилита ImgExtractor), поскольку пересборок кухни больше не планируется.

Мой вариант кухни для распаковки целиковых прошивок под Rockchip, MTK и их содержимого. Изначально делал эту модификацию под себя - для удобства вытаскивания файлов system из разных прошивок, оригинальная версия тут.

Такая ситуация. Есть отлаженный проект для ESP8266, написанный в Arduino ide. Проект небольшой и его размера с запасом хватало для самых дешевых модулей. Бинарник занимал 400 килобайт. В настройках Arduino ide указывал "1 Mb (64 kb SPIFS)".

При покупке очередной партии модулей, продавец почему то положил пару других модулей, как я понял более новых. Robotdyn, и с обьемом памяти 8 мб.

Вот я нашел такие модули для визуального примера.


И я ничем и никак не могу залить мой прошивку в такой модуль.
Я и обычным путем через компиляцию в Ардуино иде пробовал (правда по старому шаблону "1 Mb (64 kb SPIFS)" ) и через nodemcu flasher пытался залить и через XTCOM_UTIL.
Прошивка типа льется, rx и tx весело мигают, но не работает.
Загрузил в ардуино иде новую версию ядра esp8266, на сегодня 2.4.0 rc2. Там появилась поддержка чипов с 8 мб (7мб SPIFS), но все равно без толку.

Даже самые маленькие примеры типа блинка не работают.

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

Мне не надо всю увеличенную память этого модуля использовать, мне и по минимуму хватит.
Может что то с адресами менять надо. Я заливаю как и ранее, с 0х0000.

Подскажите плиз, как в эти чипы залить мой бинарник.

CodeNameHawk

Moderator
ArduinoIDE показывает, залилась ли прошивка.
Похоже, что у вас прошивка заливается, но модуль не запускается.
Установили необходимые уровни, при помощи подтягивающих резисторов, для этого модуля?
Подключитесь к сериал и посмотрите, что выдает модуль.
New member

Чип форм-фактора ESP-07 и я его распаял на подложке для этих чипов. Как я понимаю, там все необходимые подтяжки есть, по крайней мере не один десяток чипов без проблем на таких подложках работали.

максимум что я смог добиться, пытаясь залить одну из стандартных АТ прошивок, что в сериал при загрузке валится вот это:

Вложения

cvbcvbcvbc.jpg

New member
при чем строка SPI flash size меняется в зависимости от того какой размер я выбрал в мцунод флэшере
на ат команды не отвечает
New member

Юрий Ботов

Moderator
8 мегабит (1 мегабайт)
всех необходимых подтяжек там нет. надо самому напаивать снаружи.
New member

будьте добры, покажите какие еще подтяжки надо?
а то в гугле уж слишком много разных вариантов..

как я понимаю, если чип однозначно идентифицирован, то какие пресеты надо устанавливать в ардуино иде или мцу ноде флешер?

Юрий Ботов

Moderator
New member
я извиняюсь, но ничего не получается.
При заливке через ардуино иде включаю вот такие настройки:
(хотя пробовал и по другому)

При заливке GPIO0 подтянуто к земле - все заливается весело и без проблем.

Включаю так:
GPIO 15 - питание через 10 ком
GPIO 2 - земля через 10 ком
RST - питание через 10ком

Подключаю через usb ttl свисток, питания которого хватало с запасом для массы предыдущих модулей ESP, только других ревизий.

Все равно не запускается, в сериал выдает вот это:

При этом отпадают все вай фай соединения, очевидно начинает гадить в эфир.

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

gerkimuyda

New member
FlashMode поменяйте. У вас сам чип стартует нормально (bootmode 3,6), но вот сам код не грузиться или грузится другой (т.е. вы свой пишете по одному адресу, а грузится с другого адреса).
New member
FlashMode поменяйте. У вас сам чип стартует нормально (bootmode 3,6), но вот сам код не грузиться или грузится другой (т.е. вы свой пишете по одному адресу, а грузится с другого адреса).

менял. что на Diо что на Dout одна картина.

причем я бы давно эти модули выкинул и списал на брак - но они пришли запакованные и от проверенного продавца. И это действительно robotdin.

gerkimuyda

New member
А QIO пробовали? А размер флеша переключать 512/1/2/4 пробовали? А залить стандартную NodeMCU прошивку с помощью ESP8266Flasher пробовали?
У вас сам чип работает, с физикой все в порядке, у вас программно настройки правильные найти надо.

CodeNameHawk

Moderator
1. Нарисуйте (электрическую) схему, как вы подключили.
2. Как организованно питание схемы?
3. Скеч и Лог пробы прошивки из ArduinoIDE.
4. По желанию фото, что как у вас подключено.
New member
Не факт. Может быть провал по питанию, как доходит до старта wifi.
New member
на таком же питании большое количество модулей стартовало и работало сутками без проблем. может именно этой ревизии больше тока нужно. попробую еще конденсатор поцепить.
Заодно и вариант с 512 кб попробую

bstsoft

New member

Всем добрый день.

Такая ситуация. Есть отлаженный проект для ESP8266, написанный в Arduino ide.

1.Я тут столкнулся летом, что один модуль перестал работать. Сначала шился, но не запускалась прошивка мусор по экрану и молчок. Я попытался ESP8266Flasher применить, но от этого совсем перестал шиться.
2.Я получил партию в которой 2Мбайт вместо 4. В комментариях было упоминание, что модули 4Мбайт. Поспорил вернули деньги, на покупку чипов памяти.
3.Заказал чипы и поменял в 2 на 4. Все прошло удачно.
4.Беру модуль который еще летом похоронил и заменил в нем флэш. И что бы вы думали, без проблем работает.
5.Получаю 2 модуля дней 15 назад. Шьются, а прошивка не в какую не грузится, мусор в мониторе пробегает, потом зависает и не работает. Я заменил флэш память и все заработало. Для примера, в споре с продавцом, я на видео показал, что чип памяти заменил и все заработало. Вернули цену 2 чипов памяти.
6.Ради эксперимента, на рабочем модуле, попытался поставить те чипы которые выпаивал (их 3 штуки 2 разных производителя все 32Мбит). И ни один не заработал. Так, что мои выводы не утешительны, возможно не все чипы памяти совместимы с чипом ESP.

По первости тоже думал на подтяжки и тому подобное, но у меня тестовый стенд(программатор) уже год и на платах всегда все сопротивления есть. На тестовом стенде еще и конденсаторы стоят.

Так, что я думаю вам просто чип памяти поменять и будет работать. Те чипы которые были в 3 модулях не Winbond. А вот 2Мбайт которые заменял Winbond и на них проблем не было. Просто 4Мбайт пока как стандарт делаю, так как ,через WEB интерфейс прошивку приходится заливать, а там проверка вшита на размер флэш.


садишься в машину и включаешь зажигание, выключи фары, обогрев и все мощные потребители. аккум должен быть заряжен и исправен. ноут тоже.
подключаешь ноут, запускаешь на нем nefmoto
сверху перед кнопкой refresh devices должна быть написана модель шнурка
находишь сверху кнопку connect slow init и жмешь ее
в самом низу белое поле — status window, когда там будет написано что то типа connected бла бла, сверху меняешь 124800 baud на 38400 baud. учти что делать это надо именно в этом порядке — сначала коннект, потом меняем скорость, наоборот нельзя.
после этого переходишь на вкладку KWP2000 Flashing
жмешь кнопку choose memory layout и выбираешь файл ME7 29F800.MemoryLayout . это делается только один раз после установки проги, потом можешь не делать этого
убеждаешься что скорость 38400 и жмешь кнопку Full READ Flash. если кнопка не активна, значит подключение не выполнено. попробуй заново нажать connect slow init и после того как подключится не забудь поменять скорость.
прога возможно выдаст предупреждение, жми ОК, после чего начнется процесс чтения прошивки.
во время процесса чтения/записи не выключай зажигание, не отключай шнурок итд, не играй в пасьянс итд сиди смирно в общем. через 5-10 минут ты получишь файл, прога предложит тебе его сохранить, после чего прервет соединение. убедись что соединение разорвано (disconnected в status window) после чего обязательно выключи зажигание. не заводи, а именно выключи.

для записи прошивки:

садишься в машину и включаешь зажигание, выключи фары, обогрев и все мощные потребители. аккум должен быть заряжен и исправен. ноут тоже.
подключаешь ноут, запускаешь на нем nefmoto
сверху перед кнопкой refresh devices должна быть написана модель шнурка
находишь сверху кнопку connect slow init и жмешь ее
в самом низу белое поле — status window, когда там будет написано что то типа connected бла бла, сверху меняешь 124800 baud на 38400 baud. учти что делать это надо именно в этом порядке — сначала коннект, потом меняем скорость, наоборот нельзя.
после этого переходишь на вкладку KWP2000 Flashing
>>>жмешь кнопку choose flash file и выбираешь файл прошивки, лучше чтобы в его пути не было папок с русскими буквами.
жмешь кнопку choose memory layout и выбираешь файл ME7 29F800.MemoryLayout . это делается только один раз после установки проги, потом можешь не делать этого
убеждаешься что скорость 38400 и жмешь кнопку Full WRITE Flash. если кнопка не активна, значит подключение не выполнено. попробуй заново нажать connect slow init и после того как подключится не забудь поменять скорость.
прога выдаст предупреждение об иммобилайзере, аккуме итд. с единственной кнопкой ОК, жми его, после чего пойдет процесс записи.
во время процесса чтения/записи не выключай зажигание, не отключай шнурок итд, не играй в пасьянс итд сиди смирно в общем. через 5-10 минут все закончится, после чего прога прервет соединение. убедись что соединение разорвано (disconnected в status window) после чего обязательно выключи зажигание. не заводи, а именно выключи."""

делал все по этой инструкции
программу использовал
NefMoto Flasher Logger Installer 1.9.3.2
и прошивку
06A906032HN 0002 0261207440_363908 1.8T 180.bin

этой инструкцией поделился со мной " MrWonderful " большое ему за это спасибо


Всем добрый день.
На рабочем месте сегодня был целый день в гордом одиночестве, поэтому разрешил себе немного пошалить)
Взял с дома ноут и все необходимое для баловства.


И так тема:"Изменение температуры включения вентилятора охлаждения", вопрос на которую ни где не нашел толкового ответа.
С наступлением тепла, многих водителей напрягает температура включения вентилятора.
В основном все справляются с этой проблемой установкой бк с регулировкой температуры включения этого самого "Карлосона".
Некоторые за определенное количество денежных средств едут к диагностам и чиптюнерам.

Эта запись для тех кто не хочет платить за то, что можно сделать самому.
Все что нам нужно:
ChipLoader — флешер, что бы считать и залить прошивку в блок,
СhipTuningPro (далее STP) — редактор прошивок,
Enigma — конвертер, делает из криптованной прошивки декриптованную.
Ромокабель или K-line адаптер для диагностики,
Паяльник,
Резисторы, в зависимости от блока,
А самое главное желание)

И так приступим.
В зависимости от того какую прошивку хотите отредактировать, зависит последовательность действий.
На моём примере будем использовать прошивку от Ledokol v 7.4 для Bosch 7.9.7

1) Скачиваем прошивку, и устанавливаем программу STP.
Подробную инструкцию по установке, можно найти в архиве с программой.
Все установили, запускаем "Хвостик"
Появляется хрюндель, как только загорится зелый глаз, можно запускать STP.


Открываем нашу прошивку (Можно просто перетащить файл мышкой в программу),
Видим окно, программа просит выбрать версию прошивки, для загрузки карт калибровки.
Для моего блока это будет B105DP09, то есть 1.6, 16 v.


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


Если кто то хочет изменить момент отсечки:
Заводская отсечка вроде бы 5500, так как прошивка коммерческая, до меня её уже подняли до 7000


Наш пункт вот он:


До меня стояло 99, я изменил на 96, так же не забываем изменить пункт ниже, температура выключения вентилятора.
Разница включения — выключения 2-3 градуса, в заводской прошивке разница где то 1.5 — 2 градуса.

Как все сделали сохраняем файл, обзываем кому как нравится.

2) Устанавливаем Enigma. (Если прошивать Chip Loader, не обязательно выполнять)
Находим файл нашей прошивки, открываем свойства


Видим что размер 226 кб, а нам надо 512 кб, то есть надо распаковать прошивку.
Запускаем Enigma, жмем распаковать прошивку, выбираем наш файл.
После распаковки файл автоматически заменится


Все готово для заливки прошивки в блок.

Как залить прошивку в блок на ресурсах интернета полно разжеваных статей, но раз начал будем жевать до конца.

3) Устанавливаем Chip Loader, и подключаем мозги к ПК.
В моём случае необходимо допаять 2 резистора номиналом от 4 до 8 кОМ,


Сделано.
Далее используем Ромокабель и подключаем к контактам ЭБУ:
51, 53, 43 контакт ЭБУ — (-12В)
13, контакт ЭБУ — Включение зажигания (+12В, выключатель)
12, 44, 63 контакт ЭБУ — (+12 В),

Подключаем к ПК, открываем Chip Loader, выбираем наш блок и жмакаем установить связь.
Если программа не видит адаптер, нужно изменить порт в настройках.
Но увы через Ромокабель мой капризный блок не в какую не хотел выходить на связь.


И пришлось использовать простой К-лайн
Схема подключения такая же, только необходимо добавить дополнительное питание.
Я использую блок от усилителя антенны) Дешево и сердито)


Жмем установить связь и вуаля)


Теперь касается тех, кто не хочет загружать авторскую прошивку, если всё устраивает и в этой, необходи считать Flash и сохранить её из буфера обмена.
Берем сохраненный файл и переходим к пункту 1 моего рассказа.

Мы же жмем файл -> открыть, выбираем прошивку и жмем загрузить Flash.


Ждем минут 5-10, зависит от компа.

Так же по изученным мной статьям, после прошивки советуют сделать сброс ЭБУ с инициализацией.
Я пользуюсь программой OpenDiag для этого.

Читайте также: