[cvetblue]Новость от 08/05/2015 Прошивка V3Великого Девайса (для Меги 8, 88, 168, 328). Поддержка Микрочипа, i2c-scan, уточнение для IR-box, скорость soft для ATMEL понижена в 6 раз для прошивки целевого Атмела с кварцем 32768. Скачать PostalAVR_v3b_lice[/cvetblue] [cvetblue] Прошивка V4 микроконтроллера ATmega168 программатора Postal3 - https://remont-aud.net/_fr/362/PostalAVR168.rar[/cvetblue]
Говорю ж, есть режимы, которые может задать прошивка, но вход в bootrom по таймеру будет работать всё равно.
Добавлено (18.04.2026, 20:09:24) --------------------------------------------- Так я не родную прошивку KLM8G1GETF-B041 просил, а ту, что ты залил для получения такого эффекта.
Ну так сделай по второму варианту, с включением питания, когда цикл подачи команды работает. Таймер в микросхеме точно есть, просто я не смог сделать так, чтобы он включился. Запусти цикл подачи команды и подключи колодку способом, который проще (где разъём послабее).
По второму варианту: Выдернута панелька с Еммс из программатора, подключил программатор к ПК, запустил прогу, во вкладке misc нажал Boot, прошел лог с нулями, включил галку питания и снова нажал буут и подключил панельку с Еммс к программатору. Тут каждый раз могут появляться разные буквы и цифры
- magic cmd at power on. Connection opened . response: 00000000 usb-device closed. - magic cmd at power on. Connection opened . - waiting for response ... response: 000007FF usb-device closed.
Тут каждый раз могут появляться разные буквы и цифры
Контролируется ответ не на чистый 40FF8080, а на что-то похожее, поэтому реагирует на помеху при долгой вставке. У меня переходник вставляется мгновенно (фото конструкции выкладывал). Попробуй разрывом питания. Это же bootrom, если физически подключено - не может не работать, а на прошивку ему наплевать.
Цитата
но записи не прошло, с ошибкой файлед
В этом случае микросхема должна упасть в bootrom автоматически.
Даже лучше я придумал. Ты питание-то порви, но подключай не напрямую к питанию, а через амперметр. Вот и померяй ток вообще без команд, с одиночной командой Boot, с командой Boot в цикле, с командой Reset-CMD0. По потребляемому току всё станет понятно (по его изменению).
Цитата
response: 000007FF
А это я ошибся, не должно реагировать на подъём с нуля в единицу, исправлю. Специально это учитывал, непонятно, как проскочило.
Составил таблицу измерения тока в разных режимах: Первая Emmc была рабочая с износом 30-40%, что то случилось при попытке очистить раздел RPMB и RST выключить, но что то нажал не так и флешка умерла. Вторая снята с нерабочего тв в программаторе не видится ни как ведет себя при попытке войти в Boot режим так же как и первая. А вот третья рабочая с износом 60-70% ведет себя нормально и на все команды реагирует сразу как с подключенным питанием, так и с прерыванием питания. Отклик моментальный. Значит первая и вторая флешки возможно не восстановить или еще какие варианты есть?
Перечитываю тему по данному вопросу, я многое пропустил оказывается. Выше идет рассуждения про EPM240, но и на Postal3 также должно все работать в моей связке?
Отлично. Только вот если подана Boot, то Reset CMD0 уже не пройдёт, либо та, либо эта команда подаётся после подачи питания. Но "рабочая мсх" прошивку загрузила (ток вырос), то есть CMD0 подан после подачи питания. Это все одинаковые KLM8G1GETF-B041?
Цитата
что то случилось при попытке очистить раздел RPMB и RST выключить, но что то нажал не так и флешка умерла.
Уж как я не нажимал целый месяц, но твоего результата так и не достиг. Которая 16 мА может быть с железом что-то, но которая 25 мА застряла в начале бута в цикле опроса какого-то железа. Возможно, не совсем корректно подключена (не тот уровень на неиспользуемых пятачках), или утечка на "сервисных" пятачках. Предполагаю, что если проблемы с железом устранить, то в bootrom должна заходить. Сначала нужно убедиться, что eMMC не пытается использовать режим загрузки (тоже BOOT называется). Для этого нужно проверить, что линия CMD в высоком уровне и не получает помех. Потом наоборот, закоротить на землю линию CMD на старте и тоже попробовать достучаться (отпустив CMD, естественно). Пресловутый testpoint обычно используют вместо кнопочки Boot, вряд ли поможет, но тоже можно попробовать.
Цитата
также должно все работать в моей связке?
Должно работать. Оно и работает.
Моя KLM8G1GETF-B041 распаяна на платке, у которой пятачок RST оказывается в воздухе. При экспериментах иногда трудно было запустить, когда RST_n включен (его приходилось включать, чтобы потом сбросить). Это я к тому, какое железо может влиять.
При замыкании CMD на землю надо ещё что-нибудь понажимать, чтобы такты подать. Например, Check Busy.
Вообще, если прошивку переписывать, то, наверно, лучше из boot-режима. Потому что из нормального я пробовал на высокой скорости - обе микросхемы упали в bootrom, из которого уже и прошились вообще без проблем на низкой скорости. Полную проверку я буду делать, когда будут готовы функции для RPMB - опять же, только затем, чтобы записать его, а потом сбросить. У меня обе мсх для тестов новые, без RPMB.
letunov45, если хочешь гарантированно без сюрпризов записать прошивку, то выполни вход в bootrom и из него пиши со стиранием на низкой скорости (как я делал). Мало ли, RPMB как-то влияет, так вот bootrom про него понятия не имеет. А из нормального режима на тех же командах функция другая лежит (зато можно прошивку прочитать). Я конечно проверю всё, но сначала сделаю все функции полностью.
Я на всякий случай нашёл testpoint. Возможно, крипто-asic подтягивает сам свой софт и вешается, тогда аппаратное отключение флэш-массива (только на старте) действительно поможет.
Я на всякий случай нашёл testpoint. Возможно, крипто-asic подтягивает сам свой софт и вешается, тогда аппаратное отключение флэш-массива (только на старте) действительно поможет.
Точку TP0 если, что, нужно будет к земле через кнопку подключать?
Припаяй тонким проводком, как соберёшься прошивку записывать - перекуси. И если уже зашёл в bootrom - то ответ на кнопку Boot нулевой будет, ну это ты уже, наверно, попробовал.
И проверяй перед записью, в bootrom ты или нет. Нажми Old Smart, он одну строчку должен дать (когда в bootrom). Нажми Find RAM или в группе ext_csd Single Byte нажми Read (можно full).
На некоторых функциях bootrom зависнуть может, и в конце записи вроде тоже, это нормально. Для этого проверка Busy есть. Из этого состояния (Busy) можно только разрывом питания выйти, главное не перепутать, делом контроллер занят или нет (при стирании тоже Busy). Интерфейсный asic запрограммирован (при инициализации) таким образом, что если ARM входит в dead loop - наружу выдаётся busy. Это можно проверить кнопочкой Exec, учитывая, что если на конце 1 - будет Thumb. Функция Exec также надеется на возврат. Вы можете найти свободную память (Find RAM), загрузить свой патч и выполнить с возвратом. Таким способом можно, например, прочитать прошивку из bootrom (не сам bootrom, понятно, а именно прошивку нормального режима, если ещё не стёрта).
Вообще прочитать прошивку из bootrom проще пареной репы. Снимаете область RAM с переменными до прошивки и после, легко находите число секторов, суёте в f64, он пишет свою фирменную прошивку с ломаным RPMB, а вы снова в bootrom, ставите переменные через запись dword и читаете прошивку.
Там у меня ошибочки небольшие, если кто-то захочет переключить eMMC в SLC, то подайте addr 175 data 1 cmd6, затем кнопка (ext_csd) Read (full), затем All User (enhanced), и в конце лога будет написано, что нажать для фиксации. KLM8G1GETF-B041 будет иметь размер 3,7 ГБ после этого (ошибка в индикации размера), для KLM8G1WEPD-B031 переключать не имеет смысла, только 2,4 ГБ будет. Таким образом можно быстро и надёжно что-нибудь починить, при этом надо по-умному укоротить дамп (слитый заранее). Первый старт может быть подольше, но просто подать питание (как объяснено раньше) бессмысленно, хотя бы reset нужно нажать, чтобы прошивка выполняла задание.
Я попозже сделаю загрузку для RAM KLM8G1GETF-B041 для чтения прошивки от f64 через bootrom, потому что есть у меня подозрение, что "умный патч" для RPMB совсем не "смарт", а простое позорище, забивающее нулями код криптопроцессора. Хочу в этом убедиться.
И90, запакуй и дай мне папку с установленным софтом f64, только просмотри её сначала и убери ключ, если есть. Я запускать не собираюсь, хочу посмотреть алгоритм распаковки их прошивок, вдруг халява. Можно напрямую на мой ftp положить.
Если вы читаете RAM и получаете файл меньше, чем просили, то это значит, что в большом буфере эти маленькие кусочки повторяются. Прочитанный буфер последовательно проверяется на предмет равенства двух половинок. Если вы хотите посмотреть, как выглядит bootrom KLM8G1GETF-B041, то вам нужно прочитать RAM с адреса 60000000 размером 10000 (64к). Если вы выберете размер 20000, то на выходе всё равно будет 64к (10000).
Купил ещё одну KLM8G1GETF-B041 для опытов. Потому что у меня есть платка с разведёнными боковыми пятачками, пованивающая подвалом. Купил кое у кого. Непосильный труд по установке шарика на TP0 придётся совершить. Пока доедет - как раз и закончу программную часть для RPMB. А то вдруг заклинит распаянная eMMC от мощных тестов, совершенно неохота поднимать из-за TP, хотя, может и не понадобится.
Добрый день всем! Добрался снова до ЕММС которую запорол, Снова провел манипуляции и вот что получаю, что не понятно
Подключил программатор Со вставленной в колодку EMMC KLM8G1GETF-B041, запустил программу, перешел во вкладку Setup EMMC mode, нажал кнопку Boot и получил лог 00FF8080 Далее в этом режиме поставил галочку Use Erase, выбрал скорость 3360 нажал Write FW, выбрал прошивку считанную с рабочей И получил лог onfig Load Success. - magic cmd at power on. SiUSBXp.dll loaded . New style Dll in use ... Count of USB-devices = 1 Num of device to use = 0 Connection opened . response: 00FF8080 usb-device closed. - file size 307200 Connection opened . - need byte-mode ! - restart eMMC power. - Failed init. usb-device closed.
Я так понимаю, что инициализация файла не проходит и строчка response: 00FF8080 тоже не правильная, и запись FW не проходит?
Далее переподключил программатор, запустил программу нажал кнопку Setting затем Open, поставил галочки Debug Show и Force EMMC set. Закрыл окна и нажал Set ISP. Получил лог
1. Для режима 3360 "use erase" ставить нельзя, команда erase отсутствует при таком заходе. Режим используется без этой галки в случае, если раньше erase уже было сделано. 2. Нужно выбрать 1160, поставить "use erase" и "use low speed". 3. После старта с кнопочкой "Boot" желательно поставить "emmc alt.init" 4. Перед записью желательно проверить готовность микросхемы, нажав "old smart". Возможные зависания проверяются нажатием "check busy". "use low speed" можно поставить заранее и вообще не выключать. Галочка "no restart" предназначена для того, что если уже с трудом прошла инициализация, чтобы не потерять её повторным сбросом, тоже можно использовать.
Если уже ответ на boot есть - вряд ли testpoint понадобится, можно уже так домучить.
И90, запакуй и дай мне папку с установленным софтом f64, только просмотри её сначала и убери ключ, если есть. Я запускать не собираюсь, хочу посмотреть алгоритм распаковки их прошивок, вдруг халява. Можно напрямую на мой ftp положить.
Спасибо. Вижу. Не очень халява, обфускатор какой-то наложен на exe. Но декодировать прошивки очень соблазнительно. В лоб не получается, как программу причешу - обязательно попробую.