реклама на сайте
подробности

 
 
> Как заполнить свободную память?, программная защита
namelos
сообщение Sep 25 2007, 12:38
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 77
Регистрация: 4-08-06
Пользователь №: 19 324



Доброе время суток, господа эмбеддеры.
Написал программу в AVRStudio-WinAVR 20070525(avr gcc 4.1.2) . В целях защиты хотелось бы заполнить сводное место Flash-памяти "rjmp 0" и посчитать CRC всего кода программы для проверки целостности. Подскажите пожалуйста, как мне это реализовать. Если можно поподробнее. Заранее спасибо.

Сообщение отредактировал namelos - Sep 25 2007, 13:31
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kuzmi4
сообщение Sep 28 2007, 14:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Yuriy_AVR @ Sep 28 2007, 14:45 - и всё же, расскажите как вы запустили авр-ку на 27 мегагерцах?? И почему она у вас должна была работать медленнее??
Я когда запускаю аврку на 20 МГЦ - она у меня работает быстрей чем на 16-ти....
Go to the top of the page
 
+Quote Post
Yuriy_AVR
сообщение Sep 30 2007, 20:30
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 12-01-07
Из: Крым
Пользователь №: 24 378



Цитата(Kuzmi4 @ Sep 28 2007, 17:16) *
2 Yuriy_AVR @ Sep 28 2007, 14:45 - и всё же, расскажите как вы запустили авр-ку на 27 мегагерцах?? И почему она у вас должна была работать медленнее??
Я когда запускаю аврку на 20 МГЦ - она у меня работает быстрей чем на 16-ти....

сейчас сильно болеею , отвечу поздже

Цитата(Petka @ Sep 30 2007, 21:29) *
1) Не все программаторы будут дожидаться пока конденсатор разрядится. И не произойдёт вход в режим программирования.
2) AVR работают от 1.8 вольт. Какой это диод надо поставить что бы надёжно происходила разрядка конденсатора?
3) Ресет является логическим входом и напряжение на нём большее 0.2 и меньшее 0.9 от напряжения питания считается булево неопределённым. Зачем подавать такой сигнал на вход контроллера?

А теперь обьясните что такое волшебное обеспечивает ёмкость на ресете? Задержку при подаче питания? Так она и так обеспечивается внутренней схемой сброса. Дополнительные компоненты, которые увеличивают стоимость, размер платы, и уменьшают надёжность?


1) 0,1 uF достаточно малая ёмкость , и я ещё не видел ни одного программатора ( включая в том числе и AVRISP и AVRISP MKII и JTAG и JTAG ICE MKII и CHIPPROG+ , ну и конечно же любимый многими PONYPROG , ну и т.д.) который бы не работал с указанной ёмкостью. Итог - я не считаю это аргументом.

2) MBR0520L например , или PRLL5817 ( этот менее распространён , да и несколько хуже по всем характеристикам ) .

3) Ну и в чём проблема ? Всё в рамках закона .
Падение на MBR0520L при температуре -25 градусов !!! ( самый, самый худший случай ) 0,28 вольта .
При обычных условиях и того лучше - 0,22 вольта и с увеличением температуры ещё падает . Имеем : 1,8 х 0,9 =1,62 вольта ; 1,8 х 0,2 =0,36 вольта . 1,9-0,28 =1,62 !!! 0,36 > 0,28 !!! И это при самых худших условиях !!!
Какие у вас ещё аргументы ?

Что касается последнего вопроса , то ответ краток - гораздо лучшую помехозащищённость по ВЧ .
Попробуете и убедитесь сами .
Go to the top of the page
 
+Quote Post
Petka
сообщение Oct 1 2007, 07:01
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(Yuriy_AVR @ Oct 1 2007, 00:30) *
3) Ну и в чём проблема ? Всё в рамках закона .

Дело в том, что конденсатор заряжается НЕ мнгновенно и в момент заряда конденсатора напряжение на ресете не будет попадать в рамки положенного для логики.
Go to the top of the page
 
+Quote Post
Yuriy_AVR
сообщение Oct 1 2007, 20:04
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 12-01-07
Из: Крым
Пользователь №: 24 378



Цитата(Petka @ Oct 1 2007, 10:01) *
Дело в том, что конденсатор заряжается НЕ мнгновенно и в момент заряда конденсатора напряжение на ресете не будет попадать в рамки положенного для логики.

А супервизор срабатывает мгновенно ? sad.gif Типичное время срабатывания супервизора при заданном вами напряжении 1,8 вольт составляет порядка нескольких микросекунд . Время заряда ёмкости до напряжения питания определяется как t=0,9RC ( для вывода сброса ) , т.е. при номиналах , указанных мной , составляет порядка 90 микросекунд . Я , например , при программировании использую время запуска тактового генератора 64 микросекунды . Т.е. время зарядки ёмкости сопоставимо с запуском тактового генератора и при появлении активного уровня сброса , генератор работает уже стабильно .
При применении внешнего супервизора необходимо выставлять минимальное время запуска генератора , иначе , если время запуска генератора выставлено большим , то применение внешнего супервизора с малым временем срабатывания приведёт к ситуации когда тактовый генератор ещё не запустился , а сброс уже находится в активном состоянии . Вот это и называются грабли . . .
А что собственно будет с процессором , если микросекунд эдак 30-50 на выводе сброса будет неопределённое состояние ? Да ничего собственно и не будет . . . Затем достигнет порога логической 1 и всё зашуршит на ура .

Цитата(defunct @ Oct 1 2007, 18:50) *
Я так понимаю, что когда включен BOD, то на резете емкость не нужна.
Если BOD'a нет, RC выполняет его роль, но только в одну сторону (power-on reset), и чем больше емкость тем надежней получается "POR".
Если есть кнопка сброс на резете, то емкость хотя бы небольшая нужна.

Вообще то мой взгляд на проблему таков : Быстрое нарастание активного состояния на выводе сброса при запускающемся тактовом генераторе ( но ещё не запустившемся окончательно ) очень плохо .
Именно поэтому я применяю следующую схему : питание на супервизор подаётся через интегрирующую RC цепочку . Диод MBR0520L включён анодом к сбросу и катодом соответственно к питанию . Параллельно диоду резистор 1 К ( супервизор с внутренним резистором в десятки килоом ) .
Интегрирующая цепочка обеспечивает задержку включения для гарантированного запуска генератора + обеспечивает фильтрацию по питанию . Если включён внутренний BOD я всё равно рекомендую ставить ёмкость с резистором .
Вообще я совсем не сторонник применения RC в качестве BOD . В качестве подтяжки сброса и дополнительного фильтра да , но не иначе . И вообще я не сторонник большого значения ёмкости - всё должно быть без фанатизма . Приведённые мной значения кажутся мне оптимальными .

Цитата(WHALE @ Oct 1 2007, 17:29) *
х.. с ним с кварцем,насчет RC цепочки по сбросу хотелось бы понять-она таки нужна или нет?Хотелось
бы услышать мнение гуру,как они формируют сброс.Может,заодно и от резистора избавиться,пулл-апом
обойтись? 07.gif

пулл-апом обойтись неполучится - слишком большое значение сопротивления

Цитата(defunct @ Oct 1 2007, 01:34) *
Вы просто уходите от ответа, на другие вопросы вам ничто не мешало написать километровые ответы.
На самом деле дела обстоят так:
если вдруг попадется AVR способный работать на 27Mhz, то в силу полностью статической логики он будет работать быстрее чем на 16Mhz в 27/16 раз. То что вы воткнули кварц на 27Mhz и чип работал медленнее чем на 16Mhz может свидетельствовать лишь о проблеме с осциллятором либо с самим кварцем, и частота тактирования у вас была не 27Mhz.

От ответа не ухожу , привык сдерживать свои слова . Но чтобы небыло bb-offtopic.gif заведу специальную тему , но несколько поздже , уж пожалуйста извените . Коротко написать не получится . rolleyes.gif

Цитата(namelos @ Sep 30 2007, 23:39) *
Немного оффтопа, но хочется поблагодарить всех за ответы и пожелать Yuriy_AVR поскорей поправиться.

Большое спасибо

Цитата(xemul @ Sep 30 2007, 23:49) *
Попробуйте отладить какой-нить контроллер с DebugWire с емкостью на сбросе.

И откуда же лезут такие помехи? По питанию? Дык питание нужно строить. Из эфира? Тоже решается более другими средствами.


Бр.....рррр. Стоять ! ! ! Мухи отдельно , котлеты отдельно . Мы говорим о сбросе или о DebugWire ?
Как говорит мой знакомый Одессит - это разные вещи . Когда DebugWire , то естественно ёмкость - лишняя деталь , но когда DebugWire это прототип , то на нём ёмкость не столь критична .

Про необходимость качественного питания и разводки я упоминал отдельно .
"Из эфира? Тоже решается более другими средствами."
Хотелось бы знать какими ?
Попробуйте для начала пощёлкать рядом с AVRом люминесцентной лампой , ватт на 40 - 60 ( хорошо бы при этом стартерок неновенький ) . И тогда мы с вам и продолжим разговор . a14.gif
А вы теоретик или практик , простите за любопытство ?
Go to the top of the page
 
+Quote Post
CD_Eater
сообщение Oct 2 2007, 03:01
Сообщение #6


Частый гость
**

Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595



Цитата(Yuriy_AVR @ Oct 2 2007, 00:04) *
Вообще то мой взгляд на проблему таков : Быстрое нарастание активного состояния на выводе сброса при запускающемся тактовом генераторе ( но ещё не запустившемся окончательно ) очень плохо .

Не могли бы пояснить, почему Вы так думаете?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- namelos   Как заполнить свободную память?   Sep 25 2007, 12:38
- - GDI   А в чем защита если заполнить всю память джампами?...   Sep 25 2007, 12:50
- - namelos   ЦитатаА в чем защита если заполнить всю память джа...   Sep 25 2007, 13:00
|- - defunct   Цитата(namelos @ Sep 25 2007, 16:00) Испо...   Sep 25 2007, 14:26
- - Kuzmi4   2 namelos - а что для вас означают слова - ...   Sep 25 2007, 13:50
- - namelos   Цитата(defunct @ Sep 25 2007, 18:26) Пров...   Sep 25 2007, 14:58
|- - defunct   Цитата(namelos @ Sep 25 2007, 17:58) Сраз...   Sep 25 2007, 16:31
- - Kuzmi4   В приведённом вами примере собачка - идеальный вар...   Sep 25 2007, 15:02
- - namelos   Цитата(Kuzmi4 @ Sep 25 2007, 19:02) В при...   Sep 25 2007, 15:09
- - bodja74   Какова гарантия ,что не слетят начальные адресса к...   Sep 25 2007, 15:37
- - Т.Достоевский   Цитата(namelos @ Sep 25 2007, 16:38) В це...   Sep 25 2007, 16:46
- - GDI   Да зачем это делать то? Стертая флешь имеет вполне...   Sep 26 2007, 07:27
|- - Сергей Борщ   Цитата(GDI @ Sep 26 2007, 10:27) Другое д...   Sep 26 2007, 08:43
|- - Maik-vs   Цитата(Сергей Борщ @ Sep 26 2007, 12:43) ...   Sep 26 2007, 12:12
|- - Сергей Борщ   Цитата(Maik-vs @ Sep 26 2007, 15:12)...   Sep 26 2007, 14:39
- - namelos   Разобрался с Intel-hex файловым форматом, но в кон...   Sep 26 2007, 14:47
- - GDI   0d 0a = \r\n - это перевод строки   Sep 26 2007, 15:07
- - namelos   GDI, спасибо.   Sep 26 2007, 15:57
- - Yuriy_AVR   Цитата(namelos @ Sep 25 2007, 16:38) Добр...   Sep 27 2007, 15:27
|- - defunct   Цитата(Yuriy_AVR @ Sep 27 2007, 18:27) Со...   Sep 27 2007, 16:10
||- - Yuriy_AVR   Цитата(defunct @ Sep 27 2007, 20:10) У Ва...   Sep 27 2007, 20:57
|||- - Rst7   Цитата(Yuriy_AVR @ Sep 27 2007, 23:57) Де...   Sep 28 2007, 10:18
||||- - Yuriy_AVR   Цитата(Rst7 @ Sep 28 2007, 14:18) Это отк...   Sep 28 2007, 11:45
||||- - defunct   Цитата(Yuriy_AVR @ Sep 28 2007, 14:45) За...   Sep 28 2007, 11:47
||||- - Petka   Цитата(Yuriy_AVR @ Sep 28 2007, 15:45) Да...   Sep 28 2007, 11:57
||||- - IceS   Цитата(Petka @ Sep 28 2007, 15:57) не при...   Sep 28 2007, 12:56
||||- - Yuriy_AVR   Цитата(Petka @ Sep 28 2007, 14:57) не при...   Sep 28 2007, 13:28
||||- - Petka   Цитата(Yuriy_AVR @ Sep 28 2007, 17:28) Ес...   Sep 28 2007, 14:03
||||- - Yuriy_AVR   Цитата(Petka @ Sep 28 2007, 17:03) Тако...   Sep 30 2007, 09:41
||||- - Petka   Цитата(Yuriy_AVR @ Sep 30 2007, 13:41) А ...   Sep 30 2007, 18:29
|||- - Flasher   Поддерживаю. Только при таком подходе языки высоко...   Dec 2 2007, 21:43
||- - zltigo   Цитата(defunct @ Sep 27 2007, 19:10) WDT ...   Sep 28 2007, 07:59
|- - Petka   Цитата(Yuriy_AVR @ Sep 27 2007, 19:27) Ес...   Sep 28 2007, 08:51
|- - WHALE   Цитата(Petka @ Sep 28 2007, 12:51) В кото...   Sep 28 2007, 09:17
|- - Yuriy_AVR   Цитата(Petka @ Sep 28 2007, 12:51) В кото...   Sep 28 2007, 11:22
|- - Rst7   Цитата(Yuriy_AVR @ Sep 28 2007, 14:22) ...   Sep 28 2007, 11:39
- - CD_Eater   ЦитатаПосле этого случая я любую программу пишу им...   Sep 27 2007, 22:56
- - aaarrr   Вставлю-ка я свои 5 копеек: Как уже упоминалось ра...   Sep 27 2007, 23:27
|- - ae_   Цитата(aaarrr @ Sep 28 2007, 08:27) Встав...   Sep 28 2007, 02:09
|- - defunct   Цитата(aaarrr @ Sep 28 2007, 02:27) Встав...   Sep 28 2007, 10:35
|- - zltigo   Цитата(defunct @ Sep 28 2007, 13:35) Счит...   Sep 28 2007, 10:49
||- - defunct   Цитата(zltigo @ Sep 28 2007, 13:49) Речь ...   Sep 28 2007, 11:07
|- - AndreyKeil   Цитата(defunct @ Sep 28 2007, 15:35) ... ...   Jan 31 2008, 20:17
|- - defunct   Цитата(AndreyKeil @ Jan 31 2008, 23:17) Н...   Jan 31 2008, 21:27
- - aaarrr   AVR Studio декодирует так. Можно эмулятором провер...   Sep 28 2007, 02:24
|- - ae_   Цитата(aaarrr @ Sep 28 2007, 11:24) AVR S...   Sep 28 2007, 02:47
|- - aaarrr   Цитата(ae_ @ Sep 28 2007, 06:47) ".....   Sep 28 2007, 08:56
- - GDI   Цитатазначение 0xFFFF - это код команды SBRS R31, ...   Sep 28 2007, 06:42
- - AlexG   В процессе отладки с JTAG-ICE на ATmega128 сам наб...   Sep 28 2007, 07:26
- - _Pasha   Цитата(Yuriy_AVR @ Sep 28 2007, 00:57) Эт...   Sep 28 2007, 08:49
- - Kuzmi4   2 WHALE - не совсем. я так подозверваю что Petka и...   Sep 28 2007, 09:41
|- - Petka   Цитата(Kuzmi4 @ Sep 28 2007, 13:41) 2 WHA...   Sep 28 2007, 09:51
- - _Pasha   Цитата(defunct @ Sep 28 2007, 14:35) Вы и...   Sep 28 2007, 11:18
|- - defunct   Цитата(_Pasha @ Sep 28 2007, 14:18) для M...   Sep 28 2007, 11:38
- - _Pasha   Цитата(defunct @ Sep 28 2007, 15:38) да е...   Sep 28 2007, 11:55
|- - Petka   Цитата(Kuzmi4 @ Sep 28 2007, 18:16) 2 Yur...   Sep 28 2007, 14:20
|- - xemul   Цитата(Yuriy_AVR @ Oct 1 2007, 00:30) 1) ...   Sep 30 2007, 20:49
|- - defunct   Цитата(Yuriy_AVR @ Sep 30 2007, 23:30) се...   Sep 30 2007, 22:34
|- - defunct   Цитата(Yuriy_AVR @ Oct 1 2007, 23:04) Есл...   Oct 1 2007, 20:57
|- - xemul   Цитата(Yuriy_AVR @ Oct 2 2007, 00:04) Бр....   Oct 1 2007, 21:44
||- - galjoen   Цитата(xemul @ Oct 2 2007, 00:44) Можно п...   Feb 11 2008, 19:04
||- - Дон Амброзио   Цитата(galjoen @ Feb 11 2008, 22:04) +1 У...   Feb 11 2008, 20:34
||- - galjoen   Цитата(Дон Амброзио @ Feb 11 2008, 23:34)...   Feb 11 2008, 21:05
- - Kuzmi4   Тогда вопрос многоуважаемого Yuriy_AVR - почему б...   Sep 28 2007, 14:23
|- - mdmitry   Цитата(Kuzmi4 @ Sep 28 2007, 18:23) Тогда...   Sep 28 2007, 20:18
|- - Proton   Цитата(mdmitry @ Sep 29 2007, 03:18) Очен...   Sep 29 2007, 04:41
- - namelos   Немного оффтопа, но хочется поблагодарить всех за ...   Sep 30 2007, 20:39
- - WHALE   х.. с ним с кварцем,насчет RC цепочки по сбросу хо...   Oct 1 2007, 14:29
|- - defunct   Цитата(WHALE @ Oct 1 2007, 17:29) насчет ...   Oct 1 2007, 15:50
- - namelos   Не хочется заводить новую тему, но раз зашел разго...   Nov 29 2007, 11:47
- - SasaVitebsk   Интересная деталь. Может быть поможет вам в споре....   Nov 29 2007, 12:19
- - _Pasha   Цитата(SasaVitebsk @ Nov 29 2007, 15:19) ...   Nov 29 2007, 14:49
- - Дон Амброзио   Цитата(namelos @ Sep 25 2007, 15:38) В це...   Feb 11 2008, 17:21


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01542 секунд с 7
ELECTRONIX ©2004-2016