|
Как заполнить свободную память?, программная защита |
|
|
|
 |
Ответов
|
Sep 28 2007, 10:35
|

кекс
     
Группа: Свой
Сообщений: 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-ом чистый моветон  Позволю себе несогласиться с вашим выводом. Про моветон можете говорить в форуме по АРМ, у которого имеется возможность обработать или "задампить" крашевую ситуацию (DABT/PABT/UNDF). У AVR'ра нет обработчиков исключений и в промышленных изделиях только WDT может подстраховать в случае серьезного программного сбоя. WDT в AVR можно рассматривать как обработчик исключений. Считаю, что конечный продукт на AVR с отключенным WDT - дилетанство, такое же как если в изделии оставить чип в отладочном режиме (фуз OCDEN).
|
|
|
|
|
Jan 31 2008, 20:17
|
Частый гость
 
Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930

|
Цитата(defunct @ Sep 28 2007, 15:35)  ... Считаю, что конечный продукт на AVR с отключенным WDT - дилетанство, такое же как если в изделии оставить чип в отладочном режиме (фуз OCDEN). Не могли бы мне обьяснить назначение фуза OCDEN. Вроде бы официальное название его "разрешение отладки", но при любом значении, отладка по JTAGу всегла работает. И почему плохо оставлять этот фуз включенным (OCDEN=0, как я понял)?
|
|
|
|
|
Jan 31 2008, 21:27
|

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

|
Цитата(AndreyKeil @ Jan 31 2008, 23:17)  Не могли бы мне обьяснить назначение фуза OCDEN. Вроде бы официальное название его "разрешение отладки", но при любом значении, отладка по JTAGу всегла работает. И почему плохо оставлять этот фуз включенным (OCDEN=0, как я понял)? Работает JTAG, но например войдя в режим PowerSafe/PowerDown работа JTAG'a прекратится и вы словите "связь с чипом потеряна". С включенной отладкой (OCDEN==0) такого не произойдет, т.к. режимы энергосбережения будут просто эмулироваться, цитата из даташита: If the On-chip debug system is enabled by the OCDEN Fuse and the chip enter Power down or Power save sleep mode, the main clock source remains enabled. In these sleep modes, this will contribute significantly to the total current consumption.Кроме того, включение OCDEN для некоторых AVR'ок подключает регистр OCDR (регистр для общения с отладчиком из отлаживаемой программы). Через этот регистр printf'ом можно выводить сообщения в консоль отладчика. Если вы пользуетесь IAR'овским компилятором и отладчиком, то вероятно уже сталкивались с "Terminal I/O" (и можете себе представить насколько без него хуже).  Цитата из даташита: The OCDR Register provides a communication channel from the running program in the microcontroller to the debugger. The CPU can transfer a byte to the debugger by writing to this location. At the same time, an Internal Flag; I/O Debug Register Dirty – IDRD – is set to indicate to the debugger that the register has been written. When the CPU reads the OCDR Register the 7 LSB will be from the OCDR Register, while the MSB is the IDRD bit. The debugger clears the IDRD bit when it has read the information. In some AVR devices, this register is shared with a standard I/O location. In this case, the OCDR Register can only be accessed if the OCDEN Fuse is programmed, and the debugger enables access to the OCDR Register. In all other cases, the standard I/O location is accessed. Refer to the debugger documentation for further information on how to use this register.Итого с включенным OCD потребление всегда высокое, потребление больше чем обычно и имеется дырка для скачивания вашей прошивки из чипа. Стоит ли оставлять OCD включенным? Вывод можете сделать сами, а можно опять же довериться цитате из даташита: Never ship a product with the OCDEN Fuse programmed regardless of the setting of Lock bits and the JTAGEN Fuse. A programmed OCDEN Fuse enables some parts of the clock system to be running in all sleep modes. This may increase the power consumption.
|
|
|
|
Сообщений в этой теме
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 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|