помогите копировать прошивку из одного AVR в другой
помогите копировать прошивку из одного AVR в другой
Доброго времени суток. У меня такая проблема: имеется два устройства на мк atmega 16 абсолютно одинаковые, одно работает,а в другом заменил контроллер и оно не работает без прошивки.Исходников программы нет, и HEX файла тоже нет. Возможно ли скопировать прошивку из рабочего устройства в нерабочее? С помощью программатора и программы пони прог пробовал копировать прошивку из рабочего устройства, прошиваю-не работает, может кто сталкивался с такой проблемой?
Re: помогите копировать прошивку из одного AVR в другой
Прошивка наверняка залочена.
Re: помогите копировать прошивку из одного AVR в другой
я так понимаю что нет, галочки на Lock 1 и Lock 2 не стоят, на Bootlock тоже не стоят
- НАПАЛМ
- Это не хвост, это антенна
- Сообщения: 1314
- Зарегистрирован: Пт ноя 27, 2009 19:47:13
- Откуда: Казань
Re: помогите копировать прошивку из одного AVR в другой
Ну попробуйте прочитать прошивку и залить ее на пустой камень. Если не получится, дешевыми способами никак не скопировать уже.
Re: помогите копировать прошивку из одного AVR в другой
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 в другой
Вы хотите сказать, что так можно обойти лок биты? Прочитать залоченную прошивку?wangine писал(а):... and in one point the programmer can't read the protect bits...
Re: помогите копировать прошивку из одного AVR в другой
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
Re: помогите копировать прошивку из одного AVR в другой
Попробовал перевести через Bing - чудеса : в одном месте controler не перевелся никак ( видимо, из-за одного 'l' ), в другом месте - перевел как .... Россия . Вирус ?
- Вложения
-
- Ros.JPG
- (23.67 КБ) 1056 скачиваний
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: помогите копировать прошивку из одного AVR в другой
Пожалйста подробней:
*названия чипов
*год изготовления
*использованный интерфейс для считывания(SPI/HVPP)
*названия чипов
*год изготовления
*использованный интерфейс для считывания(SPI/HVPP)
Re: помогите копировать прошивку из одного AVR в другой
название Atmega16L,интерфейс SPI, год изготовления незнаю
Последний раз редактировалось ibiza11 Ср авг 27, 2014 11:51:26, всего редактировалось 1 раз.
Причина: 2.7 Запрещается бездумное вложенное цитирование, а так же полное, бессмысленное цитирование предыдущего поста.
Причина: 2.7 Запрещается бездумное вложенное цитирование, а так же полное, бессмысленное цитирование предыдущего поста.
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: помогите копировать прошивку из одного AVR в другой
Меня интересовало заявление wangine
В ранних ревизиях кристаллов такая лажа очень может быть, как например было дело с PIC16C84 или AT89C2051.
В ранних ревизиях кристаллов такая лажа очень может быть, как например было дело с PIC16C84 или AT89C2051.
-
Rtmip
- Держит паяльник хвостом
- Сообщения: 963
- Зарегистрирован: Чт апр 03, 2014 23:16:55
- Откуда: Россия
Re: помогите копировать прошивку из одного AVR в другой
Меня тоже интересует сообщение от wangine, у кого-нибудь есть возможность проверить?
Кстати, коты, с хорошим английским, кому не лень, дайте хороший перевод на русский? А то не очень понял последнее предложение: "когда программируете
новые чипы, то необходимо в ручную конфигуриравать fuse биты" так?
Этот поисковик избегаю, пробуйте другой переводчик, что он выдаст?Jack_A писал(а):Попробовал перевести через Bing - чудеса... Вирус ?
Кстати, коты, с хорошим английским, кому не лень, дайте хороший перевод на русский? А то не очень понял последнее предложение: "когда программируете
новые чипы, то необходимо в ручную конфигуриравать fuse биты" так?
- baron_P
- Нашел транзистор. Понюхал.
- Сообщения: 183
- Зарегистрирован: Вт сен 14, 2010 23:07:10
- Откуда: Ростов
Re: помогите копировать прошивку из одного AVR в другой
Спойлер
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 luckYeea , 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 в другой
Спасибо, но это я все равно не очень понял... Подбирать биты защиты в какой момент? В режиме записи новой программы или считывания защищенной?baron_P писал(а):Видимо тут имеется в виду, что биты конфигурации таким образом не считаются с контроллера, и их на новом придется подбирать методом тыка.
И как именно подбирать, например?

- baron_P
- Нашел транзистор. Понюхал.
- Сообщения: 183
- Зарегистрирован: Вт сен 14, 2010 23:07:10
- Откуда: Ростов
Re: помогите копировать прошивку из одного AVR в другой
В этом предложении речь идет не о битах защиты, а о всех битах конфигурации (fuse bits). При считывании программы из контроллера описанным способом, не будут правильно читаться не только биты защиты от чтения (за счет чего программу и можно прочитать), но и все остальные биты: настройка режима тактового генератора, вочдог, последовательное программирование и тд. И при записи новой микросхемы нужно будет как-то самому додумать, как эти биты должны быть выставлены. Кроме метода тыка ничего в голову не приходит.
We do what we must because we can (c) GLaDOS
-
novodrodskiy
- Мучитель микросхем
- Сообщения: 441
- Зарегистрирован: Пт май 25, 2012 19:30:42
Re: помогите копировать прошивку из одного AVR в другой
Rtmip писал(а):Подбирать биты защиты в какой момент? В режиме записи новой программы или считывания защищенной?
И как именно подбирать, например?
Подбирать придется при записи и не биты защиты, а все биты конфигурации. Тактовая частота, внешний или внутренний генератор, и.т.п.
Интересно, а при таком взломе достаточно напряжение питания МК изменять, или напряжение интерфейсных сигналов с прогера синхронно должно меняться с напругой питания МК?
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: помогите копировать прошивку из одного AVR в другой
Вообще, ошибочное считывание битов конфигурации говорит о некорректном функционировании части блоков или всего кристалла в целом. Можно ли доверять таким прочитанным данным? Отчасти да, если провести как минимум 3-4 считывания, затем проверить файлы на идентичность.
Очень точно утверждать не могу, но описанная выше методика может быть годна только для микроконтроллеров, которые не способны работать с напряжением ниже 4.5V.
Большинство современных имеют гарантированную работоспособность при более низких напряжениях, например:
2.7 - 5.5V for ATmega8A
0 - 4MHz@1.8 - 5.5V ATmega48A; ATmega48PA
Реальные глюки с некорректным чтением данных и неправильной дешифрацией команд у них могут начаться где-то при 1.5V питании. У контроллеров постарше - где-то 1.5-2V.
Разумеется, напряжение сигналов программирования должно соответствовать напряжению питания. Иначе будет паразитная запитка через внутренние диоды портов. На вход VTG программатора подаётся напряжение питания, буферы подстраивают свой выход под его значение.
Очень точно утверждать не могу, но описанная выше методика может быть годна только для микроконтроллеров, которые не способны работать с напряжением ниже 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 в другой
Спасибо, теперь понятно о чем речь 
Думаю автору темы это может пригодиться.
Думаю автору темы это может пригодиться.
Re: помогите копировать прошивку из одного AVR в другой
Возможно, в устройстве используется EEPROM, тогда вам кроме HEX-файла собственно прошивки нужно ведь еще и EEPROM скопировать.
Раз прошивка не залочена и после копирования не заработало, то вполне может быть в этом причина
Раз прошивка не залочена и после копирования не заработало, то вполне может быть в этом причина
Re: помогите копировать прошивку из одного AVR в другой
ANALOG писал(а):Возможно, в устройстве используется EEPROM, тогда вам кроме HEX-файла собственно прошивки нужно ведь еще и EEPROM скопировать.
Раз прошивка не залочена и после копирования не заработало, то вполне может быть в этом причина
копировал EEPROM, не помогает. При сохранении программы там нужно выбрать под каким расширением сохранять ( hex, bin, eep,csm,rom, e2p, mot) я так понимаю программу надо сохранить как hex файл, а eeprom как eep?