Как считать прошивку программатором USBDM c аркадия?
Подскажите каким образом можно считать прошивку аркадией на стиральных машинках Indesit, Ariston, Electrolux?
и возможно ли ещё просмотреть количество стирок ошибок и т.д. если не Аркадией тогда чем?
спасибо
Очень просто:
1. ставим usbdm по версии прошивки jb16/js16 или что там у вас - есть open source проект на http://sourceforge.net. Обязательно отметить галочкой mcu 6.3, 5.1 (либо после второго шага т.е установки CW, не помню - не суть)
2. регистрируемся на freescale, заходим во вкладку Code Warrior development, special editions. Для восьмерок ставим CW 6.3, для mc9s качаем 5.1
3. проверяем в корневой папке кодевариора (CW 6.3 например) появился ли txt файлик usbdm - не появился, значит где-то косяк - неправильная версия программы, запоротый реестр, и т.п.
4. Подразумеваеться что дрова у вас уже стоят и usbdm подключаеться без проблем. Теперь заходим в папку /program files/freescale/cw6.3(5.1)/prog, открываем hi-wave.exe.
5. Подключаемся к TBDML или HCS08 opensource,выбираем 3.3. вольта в выпадающем меню
7. дальше просматриваем окошко с памятью (memory), помечаем себе где-нибудь pp области (защищенные), естственно не во всей памяти, а во флеш области по даташиту. Например MC9S12Q128 - 0x4000 - 0xFFFF.
8. Если ничего нет то командной строке (In) пишем - save 0x(address)..0x(address) filename.s19
9. Если будет ругаться на защищенные области, вычисляем их, копируем до и после области, потом объединяем файл.
Добавляю - в 9S08 память линейная, поэтому там можно дампить таким образом и заливать весь кусок флеша с 4000 то FFFF (см. даташит).
В 9S12 (BSH - силовые модули) - ситуация другая. Практически организация памяти то же самое что кернеловская архитектура на 128 кб.
Т.е. памяти никакой линейно нет, память лежит в страницах 38, 3D, 3E, 3F и т.п. (см. даташит - ищи PPAGE), а также есть раздел с полностью виртуальной памятью 0x8000-0xBFFF который может принять любую страницу (поэкспереминтировать можно установив биты страницы в регистре PPAGE=0x30 (если в регистре 0x13 установлен 0), плавающий раздел будет содержать в точности ту или иную страницу которую вы записали в регистр.
Соотвественно с рабочего модуля надо дампить каждую страницу в отдельности, сшивать их вместе и внимание - надо конвертировать, для того чтобы убрать всякие повторюшки и сделать нормальные контрольные суммы в финальном s19. Для этого используйте конвертер с сайта freescale SRECCVTSW. Вот
Надо узнать по данной теме побольше и если будет спрос у народа сделать конвертер на сайте, как для аркадия, думаю он станет полезен, вопрос лишь как многим он нужен - @asavilia4514 октября 2015
Просто приходилось спаривать между собой две платы BSHшные - на одной 9S08, на другой 9S12. Да, конвертер нужен - только нужно анализ кода, чтобы не просто делать красивый S19, но и ещё исправлять ошибки и спаривать их между собой, в принципе где идентификатор кодировки я уже разобрался. - @Kuraga14 октября 2015