помогите копировать прошивку из одного AVR в другой

Обсуждаем контроллеры компании Atmel.
Ответить
Грызет канифоль
Аватара пользователя
Сообщения: 287
Зарегистрирован: Пт мар 22, 2013 21:15:22
Откуда: Беларусь

Сообщение romaha85 »

Доброго времени суток. У меня такая проблема: имеется два устройства на мк atmega 16 абсолютно одинаковые, одно работает,а в другом заменил контроллер и оно не работает без прошивки.Исходников программы нет, и HEX файла тоже нет. Возможно ли скопировать прошивку из рабочего устройства в нерабочее? С помощью программатора и программы пони прог пробовал копировать прошивку из рабочего устройства, прошиваю-не работает, может кто сталкивался с такой проблемой?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20183
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Сообщение Martin76 »

Прошивка наверняка залочена.
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 287
Зарегистрирован: Пт мар 22, 2013 21:15:22
Откуда: Беларусь

Сообщение romaha85 »

я так понимаю что нет, галочки на Lock 1 и Lock 2 не стоят, на Bootlock тоже не стоят
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1314
Зарегистрирован: Пт ноя 27, 2009 19:47:13
Откуда: Казань

Сообщение НАПАЛМ »

Ну попробуйте прочитать прошивку и залить ее на пустой камень. Если не получится, дешевыми способами никак не скопировать уже.
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Аватара пользователя
Сообщения: 19
Зарегистрирован: Пн авг 18, 2014 20:24:10
Откуда: Romania

Сообщение wangine »

Exist a solution to do that . but work only with STK500 programmer , is imposible with pony. If you have one you can ajust the voltage bettwen 3.18 - 4.3 v step by step and in one point the programmer can't read the protect bits . Good luck
Реклама
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

wangine писал(а):... and in one point the programmer can't read the protect bits...
Вы хотите сказать, что так можно обойти лок биты? Прочитать залоченную прошивку?
Реклама
Родился
Аватара пользователя
Сообщения: 19
Зарегистрирован: Пн авг 18, 2014 20:24:10
Откуда: Romania

Сообщение wangine »

Rtmip писал(а):
wangine писал(а):... and in one point the programmer can't read the protect bits...
Вы хотите сказать, что так можно обойти лок биты? Прочитать залоченную прошивку?
Yeea , i do that many time , work just on atmega , on PIC is imposible (for me). But work only with STK500 programmer first version , is a bug of atmega . Is like ,, example: If vcc decrease below 3.6v and microcontroler have a instruction to write in that moment on internal eeprom , data will be FF or 00 , if brownout is not enable to reset controler. And yeea is like bypass . The bad thing on that operation is on new controler ,when program him you need to configure manualy the FUSE bits . You will need some try
Друг Кота
Аватара пользователя
Сообщения: 6333
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Попробовал перевести через Bing - чудеса : в одном месте controler не перевелся никак ( видимо, из-за одного 'l' ), в другом месте - перевел как .... Россия . Вирус ?
Вложения
Ros.JPG
(23.67 КБ) 1064 скачивания
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Пожалйста подробней:
*названия чипов
*год изготовления
*использованный интерфейс для считывания(SPI/HVPP)
Грызет канифоль
Аватара пользователя
Сообщения: 287
Зарегистрирован: Пт мар 22, 2013 21:15:22
Откуда: Беларусь

Сообщение romaha85 »

название Atmega16L,интерфейс SPI, год изготовления незнаю
Последний раз редактировалось ibiza11 Ср авг 27, 2014 11:51:26, всего редактировалось 1 раз.
Причина: 2.7 Запрещается бездумное вложенное цитирование, а так же полное, бессмысленное цитирование предыдущего поста.
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Меня интересовало заявление wangine
В ранних ревизиях кристаллов такая лажа очень может быть, как например было дело с PIC16C84 или AT89C2051.
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

Меня тоже интересует сообщение от wangine, у кого-нибудь есть возможность проверить?
Jack_A писал(а):Попробовал перевести через Bing - чудеса... Вирус ?
Этот поисковик избегаю, пробуйте другой переводчик, что он выдаст?
Кстати, коты, с хорошим английским, кому не лень, дайте хороший перевод на русский? А то не очень понял последнее предложение: "когда программируете
новые чипы, то необходимо в ручную конфигуриравать fuse биты" так? :)
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 183
Зарегистрирован: Вт сен 14, 2010 23:07:10
Откуда: Ростов

Сообщение baron_P »

СпойлерExist a solution to do that . but work only with STK500 programmer , is imposible with pony. If you have one you can ajust the voltage bettwen 3.18 - 4.3 v step by step and in one point the programmer can't read the protect bits . Good luck
Yeea , i do that many time , work just on atmega , on PIC is imposible (for me). But work only with STK500 programmer first version , is a bug of atmega . Is like ,, example: If vcc decrease below 3.6v and microcontroler have a instruction to write in that moment on internal eeprom , data will be FF or 00 , if brownout is not enable to reset controler. And yeea is like bypass . The bad thing on that operation is on new controler ,when program him you need to configure manualy the FUSE bits . You will need some try
Существует способ сделать это. Но работатет только с программатором STK500, с Pony не получится. Если у вас есть такой, вы можете пошагово регулировать напряжение от 3,8 до 4,3 В, и на одном из шагов программатор не сможет считать биты защиты. Удачи.
Ага, я много раз так делал, работатет только на Atmega, на PIC не получается (у меня). Но работает только с программатором STK первой версии, это баг Atmega. Типа как в этом примере: Если Vcc опускается ниже 3,6 В и микроконтроллер в этот момент получает инструкцию на запись в внутреннюю EEPROM, он может записать как 00 так и FF, если не выставлена защита от пинижения напряжения, перезагружающая контроллер. Типа обходной маневр. Плохо, что при программировании таким образом нового контроллера, вам необходимо вручную выставить биты конфигурации. Вам нужно попробовать.

Это с плохим английским. Видимо тут имеется в виду, что биты конфигурации таким образом не считаются с контроллера, и их на новом придется подбирать методом тыка.
We do what we must because we can (c) GLaDOS
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

baron_P писал(а):Видимо тут имеется в виду, что биты конфигурации таким образом не считаются с контроллера, и их на новом придется подбирать методом тыка.
Спасибо, но это я все равно не очень понял... Подбирать биты защиты в какой момент? В режиме записи новой программы или считывания защищенной?
И как именно подбирать, например? :dont_know:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 183
Зарегистрирован: Вт сен 14, 2010 23:07:10
Откуда: Ростов

Сообщение baron_P »

В этом предложении речь идет не о битах защиты, а о всех битах конфигурации (fuse bits). При считывании программы из контроллера описанным способом, не будут правильно читаться не только биты защиты от чтения (за счет чего программу и можно прочитать), но и все остальные биты: настройка режима тактового генератора, вочдог, последовательное программирование и тд. И при записи новой микросхемы нужно будет как-то самому додумать, как эти биты должны быть выставлены. Кроме метода тыка ничего в голову не приходит.
We do what we must because we can (c) GLaDOS
Мучитель микросхем
Сообщения: 441
Зарегистрирован: Пт май 25, 2012 19:30:42

Сообщение novodrodskiy »

Rtmip писал(а):Подбирать биты защиты в какой момент? В режиме записи новой программы или считывания защищенной?
И как именно подбирать, например?
Подбирать придется при записи и не биты защиты, а все биты конфигурации. Тактовая частота, внешний или внутренний генератор, и.т.п.

Интересно, а при таком взломе достаточно напряжение питания МК изменять, или напряжение интерфейсных сигналов с прогера синхронно должно меняться с напругой питания МК?
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Вообще, ошибочное считывание битов конфигурации говорит о некорректном функционировании части блоков или всего кристалла в целом. Можно ли доверять таким прочитанным данным? Отчасти да, если провести как минимум 3-4 считывания, затем проверить файлы на идентичность.
Очень точно утверждать не могу, но описанная выше методика может быть годна только для микроконтроллеров, которые не способны работать с напряжением ниже 4.5V.
Большинство современных имеют гарантированную работоспособность при более низких напряжениях, например:
2.7 - 5.5V for ATmega8A
0 - 4MHz@1.8 - 5.5V ATmega48A; ATmega48PA
Реальные глюки с некорректным чтением данных и неправильной дешифрацией команд у них могут начаться где-то при 1.5V питании. У контроллеров постарше - где-то 1.5-2V.

Разумеется, напряжение сигналов программирования должно соответствовать напряжению питания. Иначе будет паразитная запитка через внутренние диоды портов. На вход VTG программатора подаётся напряжение питания, буферы подстраивают свой выход под его значение.
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

Спасибо, теперь понятно о чем речь :)
Думаю автору темы это может пригодиться.
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

Возможно, в устройстве используется EEPROM, тогда вам кроме HEX-файла собственно прошивки нужно ведь еще и EEPROM скопировать.
Раз прошивка не залочена и после копирования не заработало, то вполне может быть в этом причина :wink:
Грызет канифоль
Аватара пользователя
Сообщения: 287
Зарегистрирован: Пт мар 22, 2013 21:15:22
Откуда: Беларусь

Сообщение romaha85 »

ANALOG писал(а):Возможно, в устройстве используется EEPROM, тогда вам кроме HEX-файла собственно прошивки нужно ведь еще и EEPROM скопировать.
Раз прошивка не залочена и после копирования не заработало, то вполне может быть в этом причина :wink:
копировал EEPROM, не помогает. При сохранении программы там нужно выбрать под каким расширением сохранять ( hex, bin, eep,csm,rom, e2p, mot) я так понимаю программу надо сохранить как hex файл, а eeprom как eep?
Ответить

Вернуться в «AVR»