Программа для прошивки mc9s08ac60
Если ваш программатор определился в диспетчере устройств, то и по нажатию на кнопку "detect" он так же должен определится.
Затем в поле «Target Vdd Control» нужно выбрать питание для процессора, согласно его технической документации, к примеру для процессоров, стоящих в модулях управления стиральных машин Indesit (платформа Arcadia) данный параметр равен 3,3 вольта.,
. Если это поле заблокировано, значит ничего выбирать не нужно, все произойдет автоматически, но на всякий случай нужно вскрыть крышку программатора и убедится что джампер (переключатель) стоит в положения "авто" либо 3.3 вольта.
Теперь разберем вкладку «Target».
1) Необходимо выбрать чип (микроконтроллер - он же процессор), для модулей Arcadia это MC9S08GB60 или MC9S08GB60A, для Electrolux это MC9S08AW60 или MC9S08AC60.
2) Далее, нужно выбрать прошивку (ВНИМАНИЕ. ПУТЬ К ПРОШИВКИ НЕ ДОЛЖЕН СОДЕРЖАТЬ РУССКИХ БУКВ), в противном случае будет выведена ошибка.
3) В поле Security выбрать переключатель Image.
4) Осталось нажать кнопку Programm Flash и дождаться конца прошивки.
Если у вас возникает ошибка F1 суб04 , при которой слышны щелчки реле двигателя, но на этом вся работа заканчивается, то необходимо включить переключатель "Clock type and parameters", после чего активируется поля Trim Freguency и NVTPIM Address, их значения нужно оставить без изменения и прошить модуль еще раз, также стоит отметить, что одной из наиболее распространенных ошибок является ошибка подбора прошивки, которую нужно подбирать по серийному номеру и продуктовому коду, написанным на стиральной машинке или той технике, которую вы программируете.
Напоследок, хотелось дать ссылку на странице, где можно купить данный программатор в хорошей комплектации Купить программатор USBDM
Всем удачи в ремонте!
Программатор USBDM
Форум по USBDM здесь.
Приобрел не давно этот программатор, довольно полезная штука в связи со своей узкой специализацией. Программатор разработан для прошивки микроконтроллеров используемых в бытовой технике, в стиральных машинах, холодильниках, посудомоечных машинах построенных на платформе Аркадия и соответственно микроконтроллеров MC9S08GB60 (mask 3L31R), MC9S08GB60A (mask 4L11Y) и в стиральных машинах Zanussi/Electrolux с платформой ENV-06 и микроконтроллеров MC9S08AW60 и MC9S08AC60. В общем он направлен на Мотороловскую базу микроконтроллеров. Так же идет постоянное добавление новых микроконтроллеров в список поддержки данного программатора. Существует своя среда разработки ПО для микроконтроллеров - Codewarrior. Данным программатором можно не только прошивать микроконтроллеры, но и считывать из них прошивки, последняя функция появилась относительно не давно. Не вся линейка микроконтроллеров еще в списке считывания прошивки, в соотношении к списку прошивающихся микроконтроллеров этим программатором. Например есть возможность прошивать микроконтроллеры серии MC56F8xxx, но считать дамп нет возможности, если только очень постараться и создать проект на данный микроконтроллер в среде разработки Codewarrior, после чего можно считать дамп с нового микроконтроллера. Об этом позже, либо здесь, либо на форуме по данному программатору.
Далее добавлю немного общей информации, ссылок на ресурсы для скачивания драйверов, ПО и т.д. Информация, в основном, взята из простор интернета.
Описание от Китайцев полной версии программатора: (это версия USBDM_CF_JMxxCLD )
1. Поддержка
Вся линейка HCS08, HCS12, RS08
Coldfire V1, V2, V3, V4
Kinetis ARM вся линейка - K60,
Ряд MC56F80xx DSC
2. Поддержка онлайн обновления прошивки
3. Программное обеспечение позволяет выбрать выходное напряжение 5 В или 3,3 В питания микроконтроллера
4. Среда разработки:
CodeWarrior V10.1-V10.7
CodeWarrior V5.1
CodeWarrior v6.3
CodeWarrior V7.1
CodeWarrior V8.3
5. Окружающая среда: WINXP / Win7 32/64 бит
URL на ПО и сайт USBDM
Вот один из стандартных разъемов этого программатора:
Некоторые точки подключения к стиральным машинам:
Arcadia_ Аркадия Electrolux Hansa Whirlpool DOMINO
Картинки открываются в новом окне, в полный размер.
Инструкция по пользованию USBDM -> скачать.
Ошибки при пользовании USBDM -> скачать.
Считывание прошивок с процессоров Arcadia -> скачать.
Установка CodeWarrior на Windows 7 х64-bit -> скачать.
Остальное предлагаю обсуждать на форуме, дополнять своими материалами, и т.д.
Покупался он для экспериментов с отопителем Webasto Thermotop V (проц MC9S12DG256). Для моих экспериментов программатор должен уметь прошивать как EEPROM, так и флеш-память у микроконторллера. Сперва по незнанию был куплен клон UPA-USB, но он умеет только EEPROM для данных контроллеров… Пришлось искать альтернативу, более продвинутые вещи (типа Orange / XProg) стоят довольно много (> 100$ ) даже в Китае, у нас — цены совсем без стыда…
Итак, был куплен USBDM, подпаян к целевой плате (ЭБУ от вебасты), было сделано много попыток читать проц. Основная ошибка, которую я видел – BKGD signal timeout. Очень редко прога цеплялась-таки к процу, но вычитывала что-то неохотно и с ошибками… UPA-USB при этом спокойно себе вычитывала EEPROM из него…
Покупать третий по счету программатор было влом, я начал задумываться о бренности бытия, и тут меня осенило: «WatchDog», внешний и аппаратный, Вебасто ведь ответственный агрегат, процу в нем – негоже зависать и сжигать тачку нафиг… Во время нормальной работы прощивки watchdog своевременно сбрасывается, а на программаторе он пытается, причем успешно, перезапустить проц, чем крайне удивляет программатор.
Watchdog был найден, им оказался LDO TLE4271, который «в нагрузку» имел функции аппаратного Watchdog. Третья нога – Reset Output, отвечает за формирование сброса проца watchdog-ом, 6-я WatchDog input, сброс Watchdog-a. Нога была поднята, USBDM стал нормально читать/писать проц, в общем, теория подтвердилась. Но UPA-USB умеет работать с тем же процом, каким-то образом игнорируя внешние сигналы сброса.
У обоих программаторов в качестве буферного выхода использована одинаковая микросхема 74HC125 (4 неинвертирующих буфера с управляемым выходом):
У USBDM управление Reset-ом сделано в виде инвертора с открытым коллектором (см. схему). У UP-ы же классический PUSH-PULL, который «пересиливает» сигнал WatchDog-а и не дает ему сбросить проц. (Ватчдог обычно через резистор к Reset-у подключают).
В итоге, захотелось переделать USBDM с «открытого коллектора» на «Push-Pull» в цепи управления Reset-ом. Был высвобожден элемент U1A от 125-ки, USBDM не мониторит состояние Reset-а (по крайней мере для HCS12-ых чипов). Переделка изображена на рисунке:
Переделки:
1. Перерезать дорожку между процем и 3й ногой 74HC125.
2. Перерезать дорожку между диодом TR2 и 1,2,11 ногами 74HC125.
3. Поднять 1-ю ногу 74HC125 и посадить её на землю.
4. Запаять перемычку между 3 ногой 74HC125 и диодом TR2 (сигнал Reset)
5. Между 14 и 11 74HC125 ногами припаять резистор в 10к.
По итогу переделки, USBDM стал стабильно и без ошибок читать проц, не смотря на внешний Wathdog. Переделкой – доволен…
В первоначальной версии статьи была допущена ошибка в рисунке "Переделки в схеме", теперь он исправлен
Комментарии 51
поднять 13 вывод и на массу, зачем огород городить не понял.
Оно и было сделано в процессе диагностики проблем с прошивкой. А дальше сравнил с "правильным" программатором и понял, что нужно делать активный push-pull на reset-e, что и было сделано
Приветствую! Подскажите, пожалуйста, прошивает ли usbdm процессор MC9S12XHZ512?
Не пробовал, но 256-й с другими буквами читает и прошивает. Так что дерзайте.
Добрый день
Можете провести небольшой ликбез?
Потребовалось прочитать МК 9s12xs256 ну и соответственно встав вопрос по каким адресам что читать?
Мой пытливый ум нашёл статью где сливали прошивку с аналогичных контроллеров 9s12 с помощью CodeWarrior
Там при конфигурации проекта есть файл с расширением .inc в котром как я понял указанна в том числе и адресация
Беру я для сравнения конфигурацию МК 9S12DG256 открываю и вижу
;*** Memory Map and Interrupt Vectors
;******************************************
EEPROMStart: equ $00000400
EEPROMEnd: equ $00000FEF
RAMStart: equ $00001000
RAMEnd: equ $00003FFF
ROM_4000Start: equ $00004000
ROM_4000End: equ $00007FFF
ROM_C000Start: equ $0000C000
ROM_C000End: equ $0000FEFF
PAGE_30Start: equ $00308000
PAGE_30End: equ $0030BFFF
PAGE_31Start: equ $00318000
PAGE_31End: equ $0031BFFF
PAGE_32Start: equ $00328000
PAGE_32End: equ $0032BFFF
PAGE_33Start: equ $00338000
PAGE_33End: equ $0033BFFF
PAGE_34Start: equ $00348000
PAGE_34End: equ $0034BFFF
PAGE_35Start: equ $00358000
PAGE_35End: equ $0035BFFF
PAGE_36Start: equ $00368000
PAGE_36End: equ $0036BFFF
PAGE_37Start: equ $00378000
PAGE_37End: equ $0037BFFF
PAGE_38Start: equ $00388000
PAGE_38End: equ $0038BFFF
PAGE_39Start: equ $00398000
PAGE_39End: equ $0039BFFF
PAGE_3AStart: equ $003A8000
PAGE_3AEnd: equ $003ABFFF
PAGE_3BStart: equ $003B8000
PAGE_3BEnd: equ $003BBFFF
PAGE_3CStart: equ $003C8000
PAGE_3CEnd: equ $003CBFFF
PAGE_3DStart: equ $003D8000
PAGE_3DEnd: equ $003DBFFF
Потом открываю нужный mc9s12xs256 и там
RAMStart: equ $00002000
RAMEnd: equ $00003FFF
ROM_4000Start: equ $00004000
ROM_4000End: equ $00007FFF
ROM_C000Start: equ $0000C000
ROM_C000End: equ $0000FEFF
EEPROM_00Start: equ $00100000
EEPROM_00End: equ $001003FF
EEPROM_01Start: equ $00100400
EEPROM_01End: equ $001007FF
EEPROM_02Start: equ $00100800
EEPROM_02End: equ $00100BFF
EEPROM_03Start: equ $00100C00
EEPROM_03End: equ $00100FFF
EEPROM_04Start: equ $00101000
EEPROM_04End: equ $001013FF
EEPROM_05Start: equ $00101400
EEPROM_05End: equ $001017FF
EEPROM_06Start: equ $00101800
EEPROM_06End: equ $00101BFF
EEPROM_07Start: equ $00101C00
EEPROM_07End: equ $00101FFF
RAM_FDStart: equ $000FD000
RAM_FDEnd: equ $000FDFFF
PAGE_F0Start: equ $007C0000
PAGE_F0End: equ $007C3FFF
PAGE_F1Start: equ $007C4000
PAGE_F1End: equ $007C7FFF
PAGE_F2Start: equ $007C8000
PAGE_F2End: equ $007CBFFF
PAGE_F3Start: equ $007CC000
PAGE_F3End: equ $007CFFFF
PAGE_F4Start: equ $007D0000
PAGE_F4End: equ $007D3FFF
PAGE_F5Start: equ $007D4000
PAGE_F5End: equ $007D7FFF
PAGE_F6Start: equ $007D8000
PAGE_F6End: equ $007DBFFF
PAGE_F7Start: equ $007DC000
PAGE_F7End: equ $007DFFFF
PAGE_F8Start: equ $007E0000
PAGE_F8End: equ $007E3FFF
PAGE_F9Start: equ $007E4000
PAGE_F9End: equ $007E7FFF
PAGE_FAStart: equ $007E8000
PAGE_FAEnd: equ $007EBFFF
PAGE_FBStart: equ $007EC000
PAGE_FBEnd: equ $007EFFFF
PAGE_FCStart: equ $007F0000
PAGE_FCEnd: equ $007F3FFF
PAGE_FEStart: equ $007F8000
PAGE_FEEnd: equ $007FBFFF
В принципе понятно, что тут надо использовать строки с
EEPROM и PAGE,
но я не пойму что такое ROM? И надо ли его считывать?
Начну с того, что моя Гранта изначально имела комбинацию приборов с заводской прошивкой 076. И всё шло к тому, чтобы прошить именно её модифицированной прошивкой, так как хотелось датчик температуры окружающей среды… Но время шло, датчик уже был готов к установке, но не было программатора USBDM. В конечном итоге мне помог знакомый автоэлектрик, и буквально за пачку сигарет совершили обмен моей 076 на комбинацию 091, ещё и с гораздо меньшим пробегом… в опломбированном состоянии.
Температура есть, вроде всё хорошо… но я так и не угомонился.
После возврата денег в споре, заказал ещё один аналогичный программатор.
И вот сегодня я забрал посылочку с почты…
Заказал по более дорогой цене, но посылка отслеживалась и пришла за 6 дней.
Так быстро я ещё ничего не получал из Китая! Покупал на Aliexpress у продавца DIYmall
Обыскал я весь Drive2 и Интернет по тематике прошивки комбинаций Гранта/Калина2/Datsun и сделал для себя выводы:
— самый лучший и точный БЖ сделал Дмитрий MrRararai — Прошивка Комбинации приборов калина 2 / Температура двигателя
Он был для меня опорным в перепрошивке!
— также стоит отметить более популистский БЖ от Алексея miratvorets311 — Прошивка комбинации приборов(КП) Гранта.
Почитать прикольно, с функционалом ознакомиться.
Но там он 2 раза запугал людей:
— тем что jumper в положении 3.3V не дал ему прошиться
— тем что версия программы с индексом х.250 не работает, и нужна исключительно х.210.
Оба опасения мне помог развеять и опровергнуть Nikket ! Ещё раз спасибо тебе за консультацию.
Ну что же… теперь настало время писать мою инструкцию.
Приступаем к прошивке! (Самый простой вариант, прошивка без внешнего блока питания на 12V, без корректировки одометра — ОС Windows 10 Pro x64)
1) Вскрыть крышку программатора и переставить jumper в значение 3.3V.
В открывшемся окне, перейти к пункту «Восстановление», и нажать кнопку «Перезагрузить сейчас».
После перезагрузки выбирать пункты "Диагностика" -> "Дополнительные параметры" -> "Параметры загрузки" и далее нажать на опцию "Перезагрузить". После этого появится меню, в котором нужно нажать пункт 7.
После чего система загрузится и можно будет установить программу USBDM и драйвер без цифровой подписи.
3) После установки софта, найти ярлык "HCS12 Programmer", запустить (лучше от имени Администратора), можно подключить программатор к компьютеру по USB кабелю. Должны загореться все 3 светодиодных индикатора на корпусе.
4) Перейти в салон разобрать пластик и отключить комбинацию приборов.
Надрезать бумажную пломбу, и снять задний пластиковый кожух комбинации, держится на защёлках.
5) В программе "HCS12 Programmer" во вкладке Interface нажать Detect, и должен появиться пункт USBDM-js16-001, если что-то пошло не так и надпись осталась No devices Found, то нужно отключить и заново подключить питание на программаторе.
Во вкладке Target нажать Load Hex Files и в появившемся окне выбрать прошивку, которая ранее была размещена, в моём случае на диске D.
— поставить галочку Auto Reload
— выбрать чип HY-MC9S12HY64
— поставить точку в Unsecure
— чтобы сохранить пробег, выбрать пункт EraseSelective и галочку EnableSound. (если оставить EraseMass — то программатор удалит из памяти данные о пробеге и данные иммо)
Во вкладке Advanced поставить галочку Enable, в конце должна быть буква F.
ВНИМАНИЕ! У меня была буква "Е" — НАДО ОБЯЗАТЕЛЬНО МЕНЯТЬ НА "F"
Настройки готовы! Переключаемся на вкладку Target и нажимаем Program Flash
Появится окно с процессом прошивки, и через 5-10 секунд прошивка завершена. Программа предложит подключить следующее устройство — нужно выбрать пункт "Нет".
После чего, отключаем программатор от компьютера, и от комбинации приборов.
6) Возвращаем заднюю чёрную крышку на комбинацию приборов. Подключаем к шине, проверяем.
Всё отлично! От 091 ни следа… А 046 на месте!
Подводим итоги! Что мы имеем новенького =)
Конечному результату я лично очень рад!
Всем спасибо! Удачи на дорогах =)
P.S. Кому из Рязанских нужно перепрошить комбинацию, прошу в личку =)
Потребства в прошивке у всех разные, у кого то закусывает блок и авто не ставится / снимается с охраны. Кто-то обновляет по в надежде, что блок после этого не сгорит (это относится к старым блокам первых годов выпуска)
В теории можно менять привязку блока к авто (ее начали делать, начиная с 2017 года) Скоро проверю
Также допаяв не достающие элементы на плату блока нормы и прошить люксовой прошивкой можно получить полноценный люксовой блок)
Подробнее про блоки цбкэ можно
почитать / посмотреть вот Здесь turbomotor412 очень подробно все рассказал
Лично мне прошивка нужна для собственных маньяакальных ритуалов
"Но это уже совсем другая история"
До настоящего времени блок можно было прошить с помощью
1 — ДСТ-14 дилерская приблуда шьёт блок через разъём OBD2
2 — iprog и его собратья Читают / шьют блок на столе.
Оба варианта не из дешёвых
И мне не очень подходят особенно по цене
Покурив интернет было ясно что на борту нашего зверька Проц MC9S12G192 а также на плате имеется НЕраспаяный 6-ти контактный разъем (через который собственно и работает iprog)
Из это вывод что USBDM тоже должен читать/писать данный проц
Осталось только это проверить
И так для того чтобы прошить нам нужна прошивка. А где её взять?
Правильно считать с заведомо рабочего блока.
Первым делом я полез в CodeWarrior
Но в списке поддерживаемых процессоров MC9S12G192 нет, просмотрев datasheet я понял что проц очень схож с нашим любым MC9S12HY64 (стоит в приборках)
Создав проект с MC9S12HY64 мне удалось считать из MC9S12G192
Целый D-Flash и часть P-FLAH.
Карта процессора(назовём ее так) MC9S12HY64 не содержит всех нужных адресов для MC9S12G192 по этому и часть.
Я решил подлечить codewarrior, добавить недостающие адреса чтобы полностью читать MC9S12G192
Убил пару вечеров но так ничего и не удалось.
И в Один момент я вспомнил что примерно год — полтора назад RUPARADOX писал в своем блоге о правильном снятии дампа с помощью Memory Dump. Пост он почему-то удалил, но не беда я из тех кто полезную информацию сохраняет локально (целиком страницу на пк)
Следуя его инструкции, решил для начала считать прошивку с приборной панели с процессором MC9S12HY64 а потом уже приступать к MC9S12G192
Делая всё чётко по инструкции прошивка считывалась, но не вся только часть середины и эта часть повторялась только с разными адресами по совету RUPARADOX я пробовал разные варианты адресов, но нечего не менялось
Решение проблемы считывания подсказал kcctech
с "Если содержимое одно и то же, то значит не меняется страница памяти в контроллере, возможно не тот адрес регистра выбора страницы"
И тут я начал искать этот адрес регистра.
Как оказалось всё регистры для процессоров лежат под носом, а именно в папке USBDM "hcs12_devices.xml"
Ну и поставив правильный регистр, прошивка из приборки считалась целиком,
Затем я успешно считал прошивку из ЦБКЭ
По итогу
Сравнив считанный дапм и конвертированный из bin в s19 (снятый iprog, взят из интернета) идентичны, также считанный дамп и bin схожи по данным
А это означает Успех сего мероприятия)
И так с считыванием разобрались, но что же на счёт прошивки?
Да тут все намного проще
В более поздних версиях USBDM появилась поддержка проца MC9S12G192 и это значит что прошивается точно так же как и приборка)
Ну и непосредственно Гайд
1. Подготовка
1.1 На плате присутствует не распаянный разъем его можно распаять как сделал я, видно на фото, либо припаять проводочки, все в ваших руках)
1.2 Cкачиваем
Драйвера USBDM X64 X32
И сам USBDM_4_12_1_140_Win именно эту версию! (версии Выше 4_12_1_140 сохраняют дамп с длинной строки 32 символов нам же нужна длинна строки 64)
1.3 Устанавливаем
Сначала драйвера (возможно потребуется отключение проверки подлинности драйверов на win 8 — 10 у меня лично без отключения все отлично работает)
Затем устанавливаем usbdm пакет, все по дефолту
1.4 Подключаемся
Согласно схеме подключаем USBDM программатор к приборке
Ставим перемычку на 3.3в
Подключаем программатор к компу
2. Проверка
Если мы все сделали правильно то должны гореть все 3 светодиода и можно приступать к считыванию /прошивке
Если не горит средний светодиод то значит драйвер не встал, или встал криво. отключаем проверку подлинности драйверов и переустанавливаем драйвер пробуем снова)
Запускаем Memory Dump (находится в меню пуск)
1. Выбираем HCS12
2. Нажимаем Detect должен определиться наш программатор (если не определился, возвращайтесь драйверам)
3. Выбираем параметр Page и вписываем значения регистра "15"
4. Прописываем адреса
Внимательно! без пробелов!
D-FLASH
400 — 13FF
P-FLASH
48000 — 4BFFF
58000 — 5BFFF
68000 — 6BFFF
78000 — 7BFFF
88000 — 8BFFF
98000 — 9BFFF
A8000 — ABFFF
B8000 — BBFFF
C8000 — CBFFF
D8000 — DBFFF
E8000 — EBFFF
F8000 — FBFFF
Внимательно! без пробелов!
5. Ставим галочку чтобы не пропускались пустые строки !
6. Читаем прошивку
7. Сохраняем прошивку
На этом со чтением все! если возникают ошибки, прежде чем писать еще раз внимательно все проверьте!
Да и не пугайтесь что прошивка ЦБКЭ в начале пустая, это нормально! данные начинаются с середины.
Прошивка
Запускаем HCS12 Programmer (находится в меню пуск)
1. Вкладка interface ставим галочки, Нажимаем Detect должен определиться наш программатор (если не определился, возвращайтесь драйверам)
2. Вкладка Advanced ставим галочку и обязательно ОБЯЗАТЕЛЬНО Меняем E на F (можно приложить блок, восстанавливать потом через CodeWarrior с большим бубном
3.Вкладка Target
1. Жмем Detect Chip, определяется проц MC9S12G192 (если не определился, возвращайтесь драйверам, или проверьте соединение )
2. Выбираем файл прошивки
3. В списке выбираем EraseMass — прошивка с полной очисткой (можно прошить только P-FLASH тогда выбираем EraseSelective)
4. Прошиваем, В конце прошивки выскочит окно об успешной прошивке, и предложением прошить еще одно устройство, жмем НЕТ
Точно также можно читать и шить приборные панели, естественно по другим адресам)
Ну и в заключении
Особая благодарность txsmp который подогнал подопытного ( над которым будет еще много экспериментов)
Большое спасибо RUPARADOX kcctech за подсказки и turbomotor412 за отличную инфу по блокам ЦБКЭ
>>>>> Папка с прошивками
Список постепенно будет обновляться
Если у вас есть прошивки которых нет в папке, присылайте обязательно добавлю ( в любом формате)
Читайте также: