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

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

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

Сообщение romaha85 »

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

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

Сообщение Martin76 »

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

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

Сообщение romaha85 »

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

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

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

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

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

Сообщение 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
Rtmip
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

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

Сообщение Rtmip »

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

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

Сообщение 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
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

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

Сообщение Jack_A »

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

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

Сообщение uk8amk »

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

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

Сообщение romaha85 »

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

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

Сообщение uk8amk »

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

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

Сообщение Rtmip »

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

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

Сообщение 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
Rtmip
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

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

Сообщение Rtmip »

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

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

Сообщение baron_P »

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

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

Сообщение novodrodskiy »

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

Подбирать придется при записи и не биты защиты, а все биты конфигурации. Тактовая частота, внешний или внутренний генератор, и.т.п.

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

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

Сообщение 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 программатора подаётся напряжение питания, буферы подстраивают свой выход под его значение.
Rtmip
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

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

Сообщение Rtmip »

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

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

Сообщение ANALOG »

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

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

Сообщение romaha85 »

ANALOG писал(а):Возможно, в устройстве используется EEPROM, тогда вам кроме HEX-файла собственно прошивки нужно ведь еще и EEPROM скопировать.
Раз прошивка не залочена и после копирования не заработало, то вполне может быть в этом причина :wink:

копировал EEPROM, не помогает. При сохранении программы там нужно выбрать под каким расширением сохранять ( hex, bin, eep,csm,rom, e2p, mot) я так понимаю программу надо сохранить как hex файл, а eeprom как eep?
Ответить

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