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

 
 
> Как заполнить свободную память?, программная защита
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
Ответов
aaarrr
сообщение Sep 27 2007, 23:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Вставлю-ка я свои 5 копеек:
Как уже упоминалось ранее, значение 0xFFFF - это код команды SBRS R31, 7. Но никто почему-то не обратил внимания на то, что при R31.7=1 процессор может и не выйти на нулевой адрес. Так что заполнение имеет некоторый смысл (по крайней мере, заполнение последнего слова памяти).
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 28 2007, 10:35
Сообщение #3


кекс
******

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



Цитата(aaarrr @ Sep 28 2007, 02:27) *
Вставлю-ка я свои 5 копеек:
Как уже упоминалось ранее, значение 0xFFFF - это код команды SBRS R31, 7. Но никто почему-то не обратил внимания на то, что при R31.7=1 процессор может и не выйти на нулевой адрес.

Вы имеете в виду, выход на адрес 0x0001 вместо 0x0000. Да действительно возможно, но не проще ли будет по адресу 0x0001 поставить JMP туда же куда делается в инструкции по адресу 0x0000. Тем более вы упускаете тот факт, что процессор может прыгнуть в несуществующую область памяти, при чтении которой возвращается тот же 0xFFFF, вероятность прыжка в несуществующую область памяти прямопропорциональна количеству оной, например для M16 вероятность прыжка в несуществующую область памяти = (128 - 16)/128 = 7/8 = 0.875

Цитата(zltigo @ Sep 28 2007, 10:59) *
В принципе до этого эффекта Watchdog в этом софте размером порядка 300K даже не активировался. Давить программные ошибки Watchdog-ом чистый моветон sad.gif

Позволю себе несогласиться с вашим выводом.
Про моветон можете говорить в форуме по АРМ, у которого имеется возможность обработать или "задампить" крашевую ситуацию (DABT/PABT/UNDF). У AVR'ра нет обработчиков исключений и в промышленных изделиях только WDT может подстраховать в случае серьезного программного сбоя. WDT в AVR можно рассматривать как обработчик исключений. Считаю, что конечный продукт на AVR с отключенным WDT - дилетанство, такое же как если в изделии оставить чип в отладочном режиме (фуз OCDEN).
Go to the top of the page
 
+Quote Post
AndreyKeil
сообщение Jan 31 2008, 20:17
Сообщение #4


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

Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930



Цитата(defunct @ Sep 28 2007, 15:35) *
... Считаю, что конечный продукт на AVR с отключенным WDT - дилетанство, такое же как если в изделии оставить чип в отладочном режиме (фуз OCDEN).


Не могли бы мне обьяснить назначение фуза OCDEN. Вроде бы официальное название его "разрешение отладки", но при любом значении, отладка по JTAGу всегла работает.
И почему плохо оставлять этот фуз включенным (OCDEN=0, как я понял)?
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
|- - ae_   Цитата(aaarrr @ Sep 28 2007, 08:27) Встав...   Sep 28 2007, 02:09
|- - zltigo   Цитата(defunct @ Sep 28 2007, 13:35) Счит...   Sep 28 2007, 10:49
||- - defunct   Цитата(zltigo @ Sep 28 2007, 13:49) Речь ...   Sep 28 2007, 11:07
|- - 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
- - Kuzmi4   2 Yuriy_AVR @ Sep 28 2007, 14:45 - и всё же, расск...   Sep 28 2007, 14:16
|- - Petka   Цитата(Kuzmi4 @ Sep 28 2007, 18:16) 2 Yur...   Sep 28 2007, 14:20
|- - Yuriy_AVR   Цитата(Kuzmi4 @ Sep 28 2007, 17:16) 2 Yur...   Sep 30 2007, 20:30
|- - 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
|- - Petka   Цитата(Yuriy_AVR @ Oct 1 2007, 00:30) 3) ...   Oct 1 2007, 07:01
|- - Yuriy_AVR   Цитата(Petka @ Oct 1 2007, 10:01) Дело в ...   Oct 1 2007, 20:04
|- - 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
|- - CD_Eater   Цитата(Yuriy_AVR @ Oct 2 2007, 00:04) Воо...   Oct 2 2007, 03:01
- - 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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