|
надежность защиты., возможно ли прочесть залитую в мк прогу? |
|
|
|
 |
Ответов
|
Aug 15 2006, 20:45
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(tobias_ivan @ Aug 15 2006, 10:06)  Пару лет назад, когда переписывал программатор AVR под WIN2000, обнаружил неустойчивый (не всегда получалось) глюк, а именно удовалось прочитать залоченный чип. Это было связано с временными интервалами при вхождении в режим программирования и проследовательностью подачи SCK и Reset. Но заморачиваться не не стал, мало времени было... Нет там никакой неустойчивости. Глюк возможно и имеется, только это глюк вашего программатора. Хотя может даже и не глюк, а "фича". Дело в том, что LOCKS также как и Fuses вступают в силу только после выхода чипа из режима программирования. Очевидно, программирование, запись LOCKS и чтение только что залоченного чипа, вы выполняли в одном и том же сеансе программирования. Поэтому чип вам удавалось прочитать. Могу поспорить, что повторить такой фокус после перезапуска чипа вам не удавалось.
|
|
|
|
|
Aug 15 2006, 23:22
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(defunct @ Aug 15 2006, 23:45)  Цитата(tobias_ivan @ Aug 15 2006, 10:06)  Пару лет назад, когда переписывал программатор AVR под WIN2000, обнаружил неустойчивый (не всегда получалось) глюк, а именно удовалось прочитать залоченный чип. Это было связано с временными интервалами при вхождении в режим программирования и проследовательностью подачи SCK и Reset. Но заморачиваться не не стал, мало времени было...
Нет там никакой неустойчивости. Глюк возможно и имеется, только это глюк вашего программатора. Хотя может даже и не глюк, а "фича". Дело в том, что LOCKS также как и Fuses вступают в силу только после выхода чипа из режима программирования. Очевидно, программирование, запись LOCKS и чтение только что залоченного чипа, вы выполняли в одном и том же сеансе программирования. Поэтому чип вам удавалось прочитать. Могу поспорить, что повторить такой фокус после перезапуска чипа вам не удавалось. Боюсь Вы проиграете. Не хочу Вас огорчать, но у меня тоже самодельный программатор. Пользовался много лет. И иногда происходят странные вещи. Цикл у меня такой: стирание, контроль стирания, запись, .... Так вот иногда после стирания на этапе контроля стирания чип выдаёт прогу. Ну я там повторный цикл даю, - всё Ok. Правильность чтения проги, в такой ситуации, никогда не проверял. Мне то это не надо, но вот такой вот факт.
|
|
|
|
|
Aug 16 2006, 10:30
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(SasaVitebsk @ Aug 16 2006, 02:22)  ..... у меня тоже самодельный программатор. Пользовался много лет. И иногда происходят странные вещи. Цикл у меня такой: стирание, контроль стирания, запись, .... Так вот иногда после стирания на этапе контроля стирания чип выдаёт прогу. Ну я там повторный цикл даю, - всё Ok. Правильность чтения проги, в такой ситуации, никогда не проверял. Мне то это не надо, но вот такой вот факт. Ну огорчить Вам меня явно неудастся  Ваш пост только укрепляет мою догадку относительно того, что программирование, запись LOCKS и чтение только что залоченного чипа выполнялось автором предыдущего поста в одном и том же сеансе программирования. Имеем: 2 самодельных программатора ошибаются на ровном месте. Для меня вполне очевидно, что глючат программаторы. Где глючат? - В циклах задержки. Неудивительно, что один программатор глючит настолько, что даже цикл Reset'a не может обеспечить должным образом, чтобы вывести чип из режима программирования перед проверкой. У Вас же ситуация куда проще - просто не дожидаетесь завершения команды ChipErase. Пользуюсь AVRISP и ни разу не наблюдал проблем с неверным стиранием либо с неработоспособностью LOCKS. Также когда изучал AVR - написал свой LPT программатор, в процессе чего познакомился с тонкостями ISP и возможными глюками, такие глюки как здесь приводятся - наблюдал и на своем самодельном программаторе когда уменьшал задержки до 10 ms между этапами программирования: стирание -10ms- <--цикл задержки после выдачи команды стирания запись флеш -10ms- <-- цикл задержки после записи последней стр. флеш. запись fuses -10ms- запись locks <- LB mode3 -10ms- restart (low reset) -10-30ms- чтение. <-- тут будет правильно прочитано содержимое чипа с высокой долей вероятности
|
|
|
|
|
Aug 16 2006, 19:43
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(defunct @ Aug 16 2006, 13:30)  Цитата(SasaVitebsk @ Aug 16 2006, 02:22)  ..... у меня тоже самодельный программатор. Пользовался много лет. И иногда происходят странные вещи. Цикл у меня такой: стирание, контроль стирания, запись, .... Так вот иногда после стирания на этапе контроля стирания чип выдаёт прогу. Ну я там повторный цикл даю, - всё Ok. Правильность чтения проги, в такой ситуации, никогда не проверял. Мне то это не надо, но вот такой вот факт.
Ну огорчить Вам меня явно неудастся  Ваш пост только укрепляет мою догадку относительно того, что программирование, запись LOCKS и чтение только что залоченного чипа выполнялось автором предыдущего поста в одном и том же сеансе программирования. Имеем: 2 самодельных программатора ошибаются на ровном месте. Для меня вполне очевидно, что глючат программаторы. Где глючат? - В циклах задержки. Неудивительно, что один программатор глючит настолько, что даже цикл Reset'a не может обеспечить должным образом, чтобы вывести чип из режима программирования перед проверкой. У Вас же ситуация куда проще - просто не дожидаетесь завершения команды ChipErase. Пользуюсь AVRISP и ни разу не наблюдал проблем с неверным стиранием либо с неработоспособностью LOCKS. Также когда изучал AVR - написал свой LPT программатор, в процессе чего познакомился с тонкостями ISP и возможными глюками, такие глюки как здесь приводятся - наблюдал и на своем самодельном программаторе когда уменьшал задержки до 10 ms между этапами программирования: стирание -10ms- <--цикл задержки после выдачи команды стирания запись флеш -10ms- <-- цикл задержки после записи последней стр. флеш. запись fuses -10ms- запись locks <- LB mode3 -10ms- restart (low reset) -10-30ms- чтение. <-- тут будет правильно прочитано содержимое чипа с высокой долей вероятности Не об этом речь. В свою защиту скажу, что программатор паралельный, пишет кучу микросхем и разрабатывался на этапе когда синклеры ещё шли. Пишет РЕ3, различные 48,51 в последствии были добавлены другие микрухи (AVR). Всегда программирует МК. Встречаются 1200 которые не пишутся AVREALом. Так он их берёт в последовательном и паралельном режимах. Но речь не об этом. Бог с ней - с ошибкой. На IBM задержки формировать точные на железе - очень большим профи надо быть. Один раз подбираются, а потом железо изменил .... пять раз .... Конечно в программаторе дело. Так ведь не об этом речь! Ещё раз. По пунктам.... Идёт отладка устройства. Микруха переписывается 100 раз...  Лочится всегда. Цикл такой. Записали. Запустили записанное. Проверили. Хомут. Выключили. Подумали. Изменили текст проги. Компильнули. Программируем .... И ... смотри по тексту выше после стирания она мне выдаёт. "Ошибка стирания..." ну и текст камня прочитанный. То есть места якобы, где не стёрлось. Естественно с адреса 0, ну и я вижу свою программу переход (адрес 0-1, потом пробел вектора идут). Всё прога не показывает а только первые ошибки. Начало сверял - всё правильно. Ну а полностью не проверял, - руки не дошли. Может и есть ошибки. Не знаю. Такой вариант прграммирования с контролем стирания по наследству от всяких там 27ххх остался. Ну у меня руки до экспериментов не дошли, а как у кого дойдут... Думаю результат будет. Кстати о программаторе. Сейчас им не пользуюсь. Подарил одному начинающему. Он ведь в ISA шине был. Но это бы ещё пол беды. Теперь бы я его не так делал.  Всем хорош, но чтобы новую микруху добавить - надо прогу дописать.  Везде ссылки поменять ... ну там изменить, добавить.... Потом перекомпилируй и пользуйся на здоровье. Так я новый проект делаю. Думаю предложить на всеобщее... Там всё скриптами... Через текстовые файлы. Захотел микруху добавить пожалуйста. Дописал её и пользуйся на здоровье. Если всем миром поддерживать, то каждый добавил микруху ну и скрипт выложил. Хотя это конечно в мечтах...
|
|
|
|
Сообщений в этой теме
Georgy надежность защиты. Aug 14 2006, 10:26 ksv198 Цитата(Georgy @ Aug 14 2006, 14:26) Сомне... Aug 14 2006, 10:46 vvs157 Цитата(Georgy @ Aug 14 2006, 14:26) Сомне... Aug 14 2006, 11:36 dmivs А вот Интересный текстик.
Microcontroller: AT89C2... Aug 14 2006, 13:30 Georgy Во как! Сасибо! Век живи, век учись...
Буд... Aug 14 2006, 13:50     defunct Цитата(SasaVitebsk @ Aug 16 2006, 22:43) ... Aug 16 2006, 22:50 Georgy Да, много прелестных возможностей описано у Скороб... Aug 15 2006, 10:34 Harbour Могу добавить, что на самопальных программаторах/j... Aug 16 2006, 01:39 Georgy Hi! Начитавшись могу доложить, что после однок... Aug 16 2006, 09:13 Georgy Harbour !
А что это значит- Цитатанаписать про... Aug 16 2006, 09:24 dmivs Цитата(Georgy @ Aug 16 2006, 12:24) Harbo... Aug 16 2006, 10:40  Georgy Цитата(dmivs @ Aug 16 2006, 13:40) Цитата... Aug 21 2006, 10:38 Harbour Цитата(Georgy @ Aug 16 2006, 12:24) Harbo... Aug 19 2006, 01:16 Nanobyte Алгоритм программирования РЕ3 следующий:
1. Разряд... Aug 17 2006, 11:40 SasaVitebsk Цитата(Nanobyte @ Aug 17 2006, 14:40) Алг... Aug 17 2006, 18:04 Nanobyte Требование выдержки МС при повышенной температуре ... Aug 18 2006, 12:11 WHALE А что,их до сих пор выпускают?
а насчет надежнос... Aug 18 2006, 12:34 defunct Nanobyte/SashaVitebsk
Спасибо! Aug 18 2006, 21:50 Nanobyte 2 WHALE
Выпускают и сейчас, но ЦЕНЫ
Насчёт надё... Aug 19 2006, 15:21 WHALE Nanobyte А U программирования у них до сих пор 21V... Aug 19 2006, 15:38 Nanobyte Upgm на них не было написано, поэтому изменял его ... Aug 19 2006, 16:23 WHALE а стоимость МС свыше 2 т.р. за штуку -это очепятка... Aug 19 2006, 17:18 DS_ Нет, это не ошибка, это распиливание бюджетных сре... Aug 19 2006, 18:00 Nanobyte Цитата(WHALE @ Aug 19 2006, 21:18) а стои... Aug 20 2006, 06:04
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|