PDA

Просмотр полной версии : Считывание прошивки из AVR



uu5jkb
27.07.2010, 16:19
Приветствую всех. Попросили сделать копию платы управления станка. "Сердце" платы - atmega8. Прошивка не закрыта, стоит только запрет на дальнейшую модификацию. Считал и flash, и eeprom, записал в новую мегу - микроконтроллер не работает - платы ведут себя по-разному. У новой какие-то постоянные уровни на ногах висят, на внешние раздражители не реагирует. Все фьюз биты одинаковые, железо точно не сложное, ошибок не замечается. Кто-нибудь сталкивался с такой проблемой?

Veka
27.07.2010, 17:13
А если попробовать другой экземпляр AVR?
Желательно из другой партии.
Каким программатором копируете?

uu5jkb
27.07.2010, 17:30
А если попробовать другой экземпляр AVR?
Перепаивать пока не хочется, все-таки паучок на 32 ножки. Программатор совместимый с STK500, пробовал считывать и из AVRStudio AVRPorg и CodeVisionAVR. Дизассемблер в АВРСтудио прошивку из обеих микросхемок понимает, код выглядит одинаково.

R4ITU
27.07.2010, 17:50
А генератор (если внешний) работает нормально?
Boot секцию (если есть) точно прочли и переписали?

bob1
27.07.2010, 20:03
Все фьюз биты одинаковые,
Скинте фьюзы сюда!!!

стоит только запрет на дальнейшую модификацию.
В чем проявляется????

Успехов!!

uu5jkb
27.07.2010, 21:04
Скинте фьюзы сюда!!!
С ними все нормально - внутренний РЦ на 8 мегагерц, если бы генератор не работал, не прошивался бы контроллер - внешнее тактирование не подключал, кварца или других резонаторов нет - ноги для тактирования используются как общие порты.


В чем проявляется????
АВРпрог пишет одну из степеней защиты, что-то вроде No futher modificatioans are available - среднее между нет защиты и полностью заблокирован


Boot секцию (если есть) точно прочли и переписали?
А в этом месте можно поподробней? Просто считал и перепрошил hex и eep. Под бутлоадер выделено 128 байт, возможно, он и использовался в оригинальной конструкции, ничего про это сказать не могу

R4ITU
27.07.2010, 21:49
Речь конечно все равно про фьюзы. Просто если используется загрузчик то в фьюзах указывается размер загрузочной области.
Фьюзы пишите что проверяли....... Есть лок защиты загрузочной области флэш памяти от изменений (вроде тлько это, но не знаю точно). Но что это ещё дает?
По идее читаться должна и писаться должна правильно, в свою область, если фьюзы соответствуют.
Присоеденяюсь к выше сказанному - проверить фьюзы ещё раз, прям похоже что конфигурация чипа не та.
Да и ещё.
Не представляю что у Вас там за устройство, но бывают прошивки в которые вложены всякие инициализационные моменты.
Например первое включение через удерживаемую какую нибудь кнопку к примеру и не одну. Но это делают при сложной периферии и один раз при самом первом включении. Или опрос шин на наличие какого нибудь ответа ввиде адресов (I2C) от датчиков температуры. Ответ приходит - подсчитывается кол-во датчиков и адреса записывается в еепром и стартует основная программа. И обычным включением эта процедура не запускается. Если датчиков другое колличество или их нет, то без инициализации прога не запускается - завис мертвый и все стоит.
Это так к примеру возможному.

bob1
28.07.2010, 09:14
С ними все нормально
Было бы нормально -устройство работало бы...Попробуйте сбросить биты LB и BLB и проверить в устройстве.

uu5jkb
28.07.2010, 11:03
Попробуйте сбросить биты LB и BLB и проверить в устройстве
НУ вот, попробовал... Теперь точно контроллер перепаивать, потому что как было, так и осталось. Все фьюз биты абсолютно одинаковые, включая защитные.

Не представляю что у Вас там за устройство,
Никаких внешних термометров и тому подобной обвязки нет. Есть только пару моторчиков, несколько кнопок и индикатор. Плата вставлялась в устройство, где она подключалась ко всему, что необходимо для ее работы. Сейчас обе без всяких внешних подключений, исходная щелкает релюшками, реагирует на нажатия кнопок.

Эх, надо было попробовать что-то написать туда, посмотреть, что контроллер вообще запускается и работает...

R4ITU
28.07.2010, 17:21
Проверьте пин RESET. Как он у вас исполнен и срабатывает ли обвязка?
Если резюк высокоомный и кондер с утечкой - то висяк полный.
Бывает всякое.