Как прошить приставку на Amlogic S905. — CNXSoft- новости Android-приставок и встраиваемых систем

Amlogic Android Firmware Update Animation Каталог

Как прошить приставку на amlogic s905.

Videostrong только что прислал мне новую прошивку для мини ПК K1 Plus  на базе процессора Amlogic S905. Процедура в основном такая же, как для предыдущих устройств Amlogic, но я всё равно запишу по шагам как правильно прошить. Пожалуйста, обратите внимание, что устройства от известных марок имеют возможность обновления через OTA , так что вы можете обновиться не проводя всех этих операций буквально в «один клик», разве что только если у вас есть проблемы в сети или ваше устройство не поддерживает технологию OTA.
Процедура обновления прошивки может быть выполнена на любом компьютере, в том числе Android TV даже через саму приставку. Прошивка является эксклюзивной для K1 Plus, так что если у вас есть другая приставка, то поищите прошивку для своего устройства.

Как прошить приставку на Amlogic S905. — CNXSoft- новости Android-приставок и встраиваемых систем

Вы должны увидеть несколько файлов, как показано выше, в том числе архив (пожалуйста, не распаковывайте его). Название и количество файлов будет зависеть от прошивки. Обратите внимание, что SD-карта не должна быть пустой, но проверьте что бы на карте не было файлов от старой прошивки.

3.Если вы распаковывали на другом компьютере, подключите Micro SD карту или внешний накопитель (USB) к ТВ-боксу

4.Запустите обновление & Резервное копирование.

Как прошить приставку на Amlogic S905. — CNXSoft- новости Android-приставок и встраиваемых систем

5. Если обновление через интернет не работает, нажмите Select в приложении, и она найдёт вам файлы .zip на внешних накопителях.

Как прошить приставку на Amlogic S905. — CNXSoft- новости Android-приставок и встраиваемых систем

Выберите zip файл, соответствующий прошивки который вы только что скачали.
6.Если вы хотите сохранить ваши приложения, настройки и медиа-файлы, убедитесь, что отключили в списке те данные которые вам нужны. А затем нажмите на Update.

Как прошить приставку на Amlogic S905. — CNXSoft- новости Android-приставок и встраиваемых систем

7.На этом этапе вас будут просить подтвердить «Начало обновления OTA».

Как прошить приставку на Amlogic S905. — CNXSoft- новости Android-приставок и встраиваемых систем

8. Нажмите Update, и ваш телевизор перезагрузится и начнётся процесс обновления.

Как прошить приставку на Amlogic S905. — CNXSoft- новости Android-приставок и встраиваемых систем

9. Будьте терпеливы, и через некоторое время ваша система перезагрузится,  Android обновится откроется Android Home Screen.

Если вам требуется обновление из за того, что система не загружается должным образом и у вас нет доступа к Update & recovery, вам, возможно, придется нажать кнопку обновления прошивки / восстановления перед включением устройства, так что он автоматически обнаружит прошивку на микро SD карте или USB-диске. Вы можете прочитать официальную инструкцию по прошивке Amlogic S802, вы найдете там более подробную информацию о данной процедуре, которые  одинаковы для Amlogic S905 / S912.

Прошивка arm cortex m3 на примере stm32 и lpc1300 | электроника для всех

Готовую программу надо каким-либо образом запихать в контроллер. Для этого существует множество способов.

JTAG/SWD адаптер
Так как часто для отладки под ARM используется JTAG, то этот метод получается наверное самым популярным. Для этой цели используется какой-либо адаптер. Например я использую CoLinkEX так что показывать буду на его примере. Там все просто — подключаешь адаптер к контроллеру стандартным SWD или JTAG шлейфом. Через линии NRST/TDI/TDO/TCK/TMS для JTAG или через SWO/SWOCLK/SWDIO/NRST для SWD режима. На адаптере моей верси CoLinkEX оба эти разьема выведены на одну колодку, так что получается как бы сразу и JTAG и SWD соединение. А там какое надо такое и выбираешь. Особой разницы в отладке/прошивке между ними нет.

И прошиваешь либо из среды Keil.

Либо используя утилитку CoFlash oт CooCox.com

Выбираем тип контроллера, размер памяти.

А дальше надо только указать бинарный или Hex файл и нажать прошивку.

Чтобы Keil сгенерировал hex файл нужно выставить галочку в опциях проекта.

А чтобы получить bin файл прогнать выходной axf файл через специальную утилитку fromelf входящую в состав Keil. Проще всего вписать это сразу в постобработку:

Формат там такой:

Ну или, если выходные файлы создаются в какой-либо подпапке, то путь будет включать и эту подпапку

Первичный Bootloader
Если нет JTAG/SWD адаптера, то не беда. Достаточно иметь переходник USB-UART или COM-UART так как почти все ARM контроллеры содержат в памяти аппаратно встроенный бутлоадер, позволяющий накатить прошивку. Главное следить за тем, чтобы напряжение на выходе с адаптера совпадало с напряжением питания контроллера, а то можно пожечь входы (FTDI можно запитать от 3.3 вольт. А для работы с RS232 использвоать не MAX232, а MAX3232 — то же самое, но на 3.3 вольта). Я в качестве USB-UART использую свою демоплату Pinboard с джампером питания выставленным на 3.3 вольта. Питание беру с той же платы.

Вход Boot_0 выставыляю в 1, вход Boot_1 выставляю в 0. Набрасываю на RX1 и TX1 контроллера STM32F103C8 проводочки от RX-TX микрохсемы FTDI

Готово — можно шить. Для прошивки в STM32 используется программка Flash Loader Demonstrator v2.2.0 от STM запускаем ее:

Настраиваем порт, жмем Next

Она сразу показывает, что есть контроллер.

Тут можно посмотреть какие страницы флеша нам доступны на запись. Жмем Next

Выбираем какую операцию будем делать. Для прошивки надо выбрать Download и не забыть галочку Стереть чип.

Жмем Next и пошел процесс прошивки-проверки

Для LPC от NXP используется другая утилитка, зовется она Flash Magic — те же яйца, вид сбоку. Разве что может быть для входа в загрузчик надо другие выводы коротить. Это надо в User Manual на LPC уточнять уже.

Mass Storage USB Bootloader
Кроме того, у LPC1343 (у других LPC не встречал) есть одна прикольня фича. Там встроенный загрузчик может работать и по USB. Для этого надо собрать следующую схему:

Еще нужно вывод PIO001 подтянуть резистором на 10кОм к 3.3 вольтам питания и вывести на джампер, который бы его коротил в землю. Это будет условия входа в бутлоадер. После чего замыкается джампер входа в бут и девайс втыкается в USB. Винда его быстро определяет как сьемный диск объемом в 32Кб, на котором лежит файл firmware.bin если его скопировать — то мы получим юзерскую прошивку, что была там ранее. Это если не включена защита.

В противном случае мы, наверное, считаем мусор. А если удалить файл firmware.bin и на ее место записать файл с бинариком новой прошивки, то он вольется во флеш. Усе, не надо больше ничего! Красота! Правда в линухе оно работает не так как надо, дело в том, что линух пишет туда начиная со второго чтоль сектора и в результате Epic Fail. Впрочем, там же есть замечательная утилитка dd которая может скопировать на эту «флешку» файл в точности как надо, с нулевого адреса.

Вторичный бутлоадер
Поскольку я решил зарыться в STM32, то мне тоже захотелось такую вкусняшку как USB boot в режиме mass storage. Забросил идею Владимиру aka RtxOnAir и в результате он, за пару дней, выдал аналогичное решение для STM32F103.

Для загрузки с USB нужна следующая схема:

Транзистор подтягивает линию D к питанию и это означает, что на шине кто то появился, заставляя OС компа произвести определение устройства. Можно сделать и по колхозному. Подтянуть D через резистор напрямую. Но в этом случае для входа в бут придется передергивать шнур USB, иначе винда не захочет находить устройство. А так контроллер сам дернет вожжу.

Штука у Владимира получилась классная — автоматом определяет все типы кристаллов серии F103, позволяет выбрать любую ногу для передергивания USB шиной. Для входа во вторичный бутлоадер надо выводы Boot_0 и Boot_1 посадить на землю и нажать RESET ну или воткнуть девайс в USB если шина у нас не коммутируемая. Также можно выбирать работу от внутреннего генератора или от внешнего.

Вообще, инструкция явно говорит, что USB может работать только от внешнего кварцевого резонатора, т.к. частота внутреннего нестабильная и вообще кака. Не будем спорить с создателями камня, но у нас наш бутлоадер отлично завелся на HSI и при комнатной температуре отлично работал. Впрочем, стабильность тут явно не на высоте и надо быть осторожным.

Конфигурация бутлоадера
Для конфигурации нашего бута RtxOnAir написал небольшую утилитку:

Запустив которую можно выбрать нужные опции и нажав «Ок» получить сконфигурированный бутлоадер, который надо залить в МК любым вышеуказанным способом. Переключив джамперы Boot0 и Boot1 в режим нормальной работы Boot0=0 Boot1=1 и нажав сброс мы должны увидеть как в системе появится новый USB Mass Storage диск с емкостью равным размеру флеш памяти нашего кристалла за вычетом размеров бутлоадера.

Конфигурация проект под вторичный Bootloader
Поскольку этот бутлоадер распологается в области откуда обычно идет пользовательская прошивка, то в создаваемых под него проектах надо немного сконфигурировать опции линковки и компиляции, чтобы они начинались с области не занятой бутом. Для этого в Keil надо в опции проекта подправить начальный адрес:

Ну и прописать строку для формирования бинарика из axf файла.

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

Файло

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