[cvetblue]Новость от 25/08/2026 Прошивка V4Великого Девайса (для Меги 8, 88, 168, 328). Поддержка Микрочипа, i2c-scan, уточнение для IR-box, скорость soft для ATMEL понижена в 6 раз для прошивки целевого Атмела с кварцем 32768. Скачать PostalAVR_v4e[/cvetblue]
Также для eMMC можно использовать FT232H без потери скорости (2.25 MB/sec). Программа пока в непрерывной разработке и находится в конце темы.
Эта нормальная. Тогда не знаю что. Ждите версию новую.
В принципе, можно сделать так. Загрузите самую последнюю прошивку, используйте последнюю программу. Нажмите Set ISP, потом зайдите в Tune для fx2lp и включите extended protocol. На этом протоколе плохо инициализируются eMMC, но если инициализация уже прошла (на старом протоколе), то запись на новом протоколе покажет все ошибки как надо.
Старый протокол fx2lp в точности повторяет обмен классического Девайса, у которого буфер 256 байт. Соответственно, нет возможности принять целиком блок 512 байт, и блок обрабатывается частями. Подключенная eMMC этого не любит, но обычно всё работает. Новый протокол отправляет блоки слитно. Он даёт хорошую скорость, но опять же, чтобы он надёжно работал на низкой скорости, его надо существенно замедлить. Поэтому в будущем новый и старый протоколы будут работать вместе (если новый не включен, то только старый).
Скорее всего, eMMC прерывала процесс записи при паузах на старом протоколе, это давало ошибку crc, индикации которой сейчас для старого протокола нет. Это было сделано раньше через первые байты подаваемого на запись буфера, при рестартах записи это крайне неудобно, поэтому пока просто убрано (для старого протокола).
С оригинальным китом CY3689 полная беда. Китайские продавцы не могут получить это тайваньское поделие. Хотя на фото самой платы чип CHI, то есть китайский.
Исправления для fx2lp "без шляпы". Автоматическое включение старого протокола для инициализации и переключение на extended после этого (если галка стоит). Сообщения об ошибках при записи. В прошивке для старого протокола отключен таймер контроля зависания, чтобы работало как раньше, других изменений в сравнении с предыдущей прошивкой нет. Поскольку протокол extended уже хоть как-то позволяет работать без шляпы, то эта версия как раз создаёт удобства для этого.
Снял с дохлой платы ЕММС, но похоже и ЕММС KLM8G1GETF B-041 умерла, запускаю программу postal3_fwtest2, питание на микре отключено, ставлю галку Wait Power UP, жму BOOT и включаю питание ЕММС KLM8G1GETF B-041, программатор зависает и потом лог:
Config Load Success. - magic cmd at power on. Connection opened . - waiting for response ... timeout pipe 86. r_count= 1 timeout pipe 86. err len pipe 86. prev=0 now=0 ask=16 - ERR Rd 1... - ERR Wr top... - ERR Wr 1... - ERR Wr top... response: 00000000 fx2lp device closed. - magic cmd at power on. Connection opened . - waiting for response ... timeout pipe 86. timeout pipe 86. err len pipe 86. prev=0 now=0 ask=16 - ERR Rd 1... - ERR Wr top... - ERR Wr 1... - ERR Wr top... response: 00000000 fx2lp device closed. Config saved .
Это происходит в случае, если eMMC не сообщила, что crc верный. Однако перед этим проверяется сообщение, что crc неверный, и тогда будет ошибка "неверный crc". Но ответ "неверный crc" не распознан, мы перешли к сравнению с ответом "верный crc", и совпадения опять нет, при этом в случае illegal status2 байт номер 15 после контроля crc содержит FF (dat0 свободна), а в случае illegal status3 байт 15 содержит какие-то данные (скорее всего ноль, указывающий на busy). То есть, eMMC выдала какую-то грязь, скорее всего остановившись в момент разрыва блока 512 байт, т.к. на старом протоколе блок передаётся с разрывами.
Цитата
In the case of transmission error, occurring on any of the active data lines, the card sends a negative CRC status (‘101’) on DAT0. In the case of successful transmission, over all active data lines, the card sends a positive CRC status (‘010’) on DAT0 and starts the data programming procedure.
На всех новых протоколах происходит упрощённо, проверяется только ответ "верный crc", и если совпадения нет, то выводится сообщение "неверный crc" и содержимое байта, в котором должен находиться ответ начиная с третьего бита считая от старшего (младший бит первой тетрады это первый бит статуса crc, а перед ним нулевой стартовый бит).
Цитата
запускаю программу postal3_fwtest2,
Используй всё самое последнее, прошивку fx2lp можно пробовать предпоследнюю.
Цитата
ставлю галку Wait Power UP
При этом идёт непрерывный обмен, сейчас проверю устойчивость. В общем случае достаточно нажать "Boot" после подачи питания, тем более что известно, что для старта KLM8G1GETF-B041 в boot никаких ухищрений не требуется.
Цитата
программатор зависает
letunov45, последние прошивки fx2lp несовместимы с версией, что ты пробовал. Компьютер может упасть на синий экран в таких случаях. Последние 2 прошивки не отличаются при использовании "шляпы", всё работает нормально. Внимательно следите за версиями, начиная с 07.09.2026 используется новый вариант протокола (для шляпы и extended) в прошивке fx2lp, прошивки и программы несовместимы с более ранними. (совместим только старый протокол "без шляпы", он может для SPI использоваться, и "медленные" протоколы.)
Используй всё самое последнее, прошивку fx2lp можно пробовать предпоследнюю.
Запускаю программу Postal3 - 12092026 на FW, FX2LP, 014, подаю питание на ЕММС и нажимаю Boot, вошел в режим. ставлю галку на Use Erase, режим 1160, Write FW выбираю FW для своей ЕММС и так повторяю 5 раз. Затем снимаю галку для Use Erase, выбираю режим 3360, далее Write FW выбираю FW для своей ЕММС и вот лог
Config Load Success. - magic cmd at power on. Connection opened . response: 40FF8080 fx2lp device closed. - file size 307248 Connection opened . - eMMC over 2GB detected . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 10752 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 32256 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 16384 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 36864 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 41984 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - writing, wait... - illegal rcv mark . - size written 25600 - error size not match! fx2lp device closed. Config saved .
Все тоже самое только версию понизил до 013 на FX2LP Запускаю программу Postal3 - 12092026 на FW, FX2LP, 013 и далее все действия как выше описаны
Config Load Success. - magic cmd at power on. Connection opened . response: 40FF8080 fx2lp device closed. - file size 307248 Connection opened . - eMMC over 2GB detected . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 97792 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 11264 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 18944 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 26112 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - erasing, wait... - writing, wait... - illegal rcv mark . - size written 43008 - error size not match! fx2lp device closed. - file size 307248 Connection opened . - HS set . - size to write 307200 - writing, wait... - illegal rcv mark . - size written 60416 - error size not match! fx2lp device closed. Config saved .
Я после размышления, на какое количество передаваемых байт нужен счётчик, решил ограничиться 64к-1 (два байта на счётчик), поэтому функция непрерывной передачи не может работать как раньше. Но нам это и не нужно, просто не все изменения внесены, поэтому такой эффект.
Нет, у меня на низкой скорости проходит в стандартном режиме запись firmware, без галки. Другое дело, что без внешнего питания туго. Пока не разобрался, в чём дело. Мучил KLM8G1GETF-B041 без внешнего питания, упала в вечный busy, firmware не встаёт. Ладно. Подключил с внешним питанием. Не встаёт. Сменил прошивку и программу на старые, с внешним питанием. Не встаёт. Переключил в 2260 - встала с первого раза. Ладно. Поставил опять пароль. Сменил прошивку и программу на новые. Пишу в 1160 - с первого раза, без галки (низкая скорость). Непонятно.
Я подкорректировал немножко запись firmware eMMC. Но микросхема сейчас не в ступоре, пишется без внешнего питания с первого раза при любом способе подключения. Вроде её заклинило, когда через тестовый комплект шнуров пытался записывать, питания ей не хватило. Если кто-то посчитает, что старый метод записи сработает в этом случае лучше, то используйте версию 28082026 с прошивкой fx2lp 009. С моей стороны выглядит, что разницы нет, и записать firmware можно в том числе классическим Девайсом без проблем.
Если вы испытываете различные варианты плохого подключения fx2lp и желаете иметь меньше зависаний, то прошивка 014 приложена к версии 12092026. В версии 015 контроль зависаний отключен для старого протокола (там этого контроля никогда раньше и не было). Однако зависание происходит при настолько плохом подключении, что работать всё равно нельзя. В то же время для тестов, при контроле лучше-хуже, версия 014 оказывается удобнее.
1160,2260 используются со стиранием, 3360 без. Больше ничего не знаю. Oper.codes это к FFU, я сделал как написано, но у меня нет файлов проверить. Запишись на приём к Сергиусу у него на сайте. Он тоже ничего не знает, но зато может много рассказать. Или посоветовать дизассемблером что-нибудь разобрать, в котором сам нихрена не видит.
В версии 015 контроль зависаний отключен для старого протокола
Прошил сегодня FX2LP версией 015, программой от 17092026 Поставил выше описываемую - испытываемую микросхему - прочиталась с первого раза и в ней конфиг присутствует и читается и пишется, которая не писалась и не читалась и с FW не мог ни чего сделать. Вчера какими только прогами и прошивками разных старых версий пробовал, она даже не определялась, и FW ни чего не происходило все с ошибками. Не знаю, что произошло или новое ПО помогло или еще что то. Это все пока из главного окна пробовал с доп. питанием.
Config Load Success. Connection opened . - sending vendor cmd... version=015, answer OK. - USB speed OK. (HS mode) fx2lp device closed. Config saved . Connection opened . - cid.bin saved . - eMMC over 2GB detected . - HS set . - csd.bin saved . - perm WP disabled . - tmp WP disabled . - ext_csd.bin saved . - Size = 7456MB - ext_csd_rev[192] = 0x08 - Rev 1.8 (MMC v5.1) - reset_n enabled . - Boot(1,2) size = 4194304 - boot1 boot enabled . - no boot ack sent . - boot SDR mode . - reset bus after boot . - x8 bus for boot . fx2lp device closed. Connection opened . - Boot(1,2) size = 4194304 "boot1.bin" - done . First 64k is NULL ! all is NULL ! "boot2.bin" - done . "user.bin" - done . "Auto" = Combined Mode . Verify started . - Boot(1,2) size = 4194304 - boot1 verify success . all is NULL ! - boot2 verify success . - user verify success . fx2lp device closed.
Запустил чтение через потайную страничку, Boot 1 и Boot2 прочитались, выбрал RPMB - запросило открыть файл с ключом, нажал отмену, пошло дальше чтение, нажал прервать и прога зависла в таком положении, ни на что не реагируя, подождал, не прошло зависание, закрыл через диспетчер задач.
Чтение User - идет, прервал на 1%, идут сполшные bad, так и должно с плохой микросхемой?
Config Load Success. Connection opened . - cid.bin saved . - eMMC over 2GB detected . - HS set . - csd.bin saved . - perm WP disabled . - tmp WP disabled . - ext_csd.bin saved . - Size = 7456MB - ext_csd_rev[192] = 0x08 - Rev 1.8 (MMC v5.1) - reset_n enabled . - Boot(1,2) size = 4194304 - boot1 boot enabled . - no boot ack sent . - boot SDR mode . - reset bus after boot . - x8 bus for boot . fx2lp device closed. Connection opened . fx2lp device closed. Connection opened . fx2lp device closed. Connection opened . - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data2 at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - src end short 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - src end short 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data2 at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - src end short 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7168 - src end short 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 6656 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - src end short 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7168 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data2 at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - src end short 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - bad data at 7680 - file size = 124MB - file name saved: eMMC_part0_user_000.bin fx2lp device closed. Config saved .
прочиталась с первого раза и в ней конфиг присутствует
Это не знаю почему, вроде и раньше неплохо было.
Цитата
нажал прервать и прога зависла в таком положении
У тебя на скриншоте размер данных 65574, даже думать не хочу откуда.
Цитата
- bad data...
Это происходит, если запрошенные данные не влезли в принятый буфер. То есть, мы запросили 8192 в соответствии с твоей галкой, из eMMC получено 10752, т.к. было рассчитано, что со всеми паузами должно влезть. Но не влезло, данные обрезаны, последний блок не влез. Сейчас скорректирую запрос вверх на 512 байт, но галка restart read long всё равно решает вопрос, она именно и предназначена для таких ситуаций.
Цитата
нажал прервать и прога зависла в таком положении
Ух ты! Ошибка у меня. То есть неточность. У меня вместо 512 байт читает 1 мегабайт. А я думаю, чего это так медленно.
letunov45, проверь, исчезла ли "bad data". Ну и RPMB теперь читается быстро. Также не стоит писать Samsung в режиме Toshiba, будет повышено число ошибок crc. При подключении флэшки к тому же контроллеру в момент записи также может быть ошибка crc.