Страница 1 из 1
Защита на ATmega168
Добавлено: Чт июл 01, 2010 10:47:21
marked
Здравствуйте!
Решил прошить себе arduino. Дошло дело до фьюзов и вместо efuse я записал lock на 0xCF. И получается, что мне нужны биты: hfuse:0xDF lfuse:0xC7 efuse:0xF8 lock:0xCF , а получил я hfuse:0xDF lfuse:0xC7 efuse:0x00 lock:0x38. При попытке сменить лок или efuse у меня ничего не получается.Вроде не смертельно, но не знаю как защиту снять. Или никак?
Заранее спасибо.

Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 11:08:54
Rimsky
marked писал(а):Здравствуйте!
Решил прошить себе arduino. Дошло дело до фьюзов и вместо efuse я записал lock на 0xCF. И получается, что мне нужны биты: hfuse:0xDF lfuse:0xC7 efuse:0xF8 lock:0xCF , а получил я hfuse:0xDF lfuse:0xC7 efuse:0x00 lock:0x38. При попытке сменить лок или efuse у меня ничего не получается.Вроде не смертельно, но не знаю как защиту снять. Или никак?
Заранее спасибо.

Здесь фатальную роль играет hfuse, а точнее бит SPIEN. Если все что Вы описали достоверно, то должно все быть Ок, и с легкостью поправимо.
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 11:13:14
marked
Да SPEIN работает, контроллер определяется, но фьюзы не правятся.
P.S. У меня это 2ая авр-ка так что я мало что понимаю.
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 11:15:10
Rimsky
marked писал(а):Да SPEIN работает, контроллер определяется, но фьюзы не правятся.
P.S. У меня это 2ая авр-ка так что я мало что понимаю.
А по подробнее, чем шьете, каким софтом?
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 11:24:32
smac
marked писал(а):Да SPEIN работает, контроллер определяется, но фьюзы не правятся.
P.S. У меня это 2ая авр-ка так что я мало что понимаю.
Я особо не вникал, но предполагаю, что вы запрограммировали все лок-биты. В этом случает сделайте полное стирание кристалла, защита сбросится.
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 11:31:55
marked
Шью я SinaProg или avrdude(через батник). Фьюзы там и там не может поменять, да и вообще боюсь лишний раз еще что-то необдуманное делать... Программатор есть STK200/300 и USB на ft232rl (шил им).
Посмотрел на этот бит защиты, он вроде не так наглухо кристалл закоывает, но всё равно не знаю как его побороть...
Важно вообще, чтобы просто arduino исправно работал.
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 11:32:50
Rimsky
smac писал(а):marked писал(а):Да SPEIN работает, контроллер определяется, но фьюзы не правятся.
P.S. У меня это 2ая авр-ка так что я мало что понимаю.
Я особо не вникал, но предполагаю, что вы запрограммировали все лок-биты. В этом случает сделайте полное стирание кристалла, защита сбросится.
+1
The Lock bits can only be erased to “1” with the Chip Erase command.
Lock биты могут быть стерты в "1" командой Chip Erase
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 11:36:10
Rimsky
marked писал(а):Шью я SinaProg или avrdude(через батник). Фьюзы там и там не может поменять, да и вообще боюсь лишний раз еще что-то необдуманное делать... Программатор есть STK200/300 и USB на ft232rl (шил им).
Посмотрел на этот бит защиты, он вроде не так наглухо кристалл закоывает, но всё равно не знаю как его побороть...
Важно вообще, чтобы просто arduino исправно работал.
ИМХО, точно не помню, вобще дудка должна по умолчанию Chip Erase в начале делать, далее все остальное..
можно на батник взглянуть?
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 11:45:19
Rimsky
Точно не уверен, можно в режиме терминала попробовать, например:
avrdude -p m168 -c stk200 -t
далее:
d lock
и поглядеть, что там, потом можно принудительно записать:
w lock 0xFF
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 12:18:20
marked
avrdude.exe -p m168 -c ftbb -P ft0 -B 9600 -U flash:w:mega168.hex:a
avrdude.exe -p m168 -c ftbb -P ft0 -B 9600 -U hfuse:w:0xDF:m -U lfuse:w:0xC7:m -U lock:w:0xF8:m
avrdude.exe -p m168 -c ftbb -P ft0 -B 9600 -U lock:w:0xCF:m
Вот батник с неправильными фузами. Как я проглядел?..
То есть мне через SinaProg сделать "chip earse" и будет мне счастье всё сделать с чистого листа?
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 12:24:15
Rimsky
marked писал(а):То есть мне через SinaProg сделать "chip earse" и будет мне счастье всё сделать с чистого листа?
avrdude.exe -p m168 -c ftbb -P ft0 -B 9600 -U flash:w:mega168.hex:a -U hfuse:w:0xDF:m -U lfuse:w:0xC7:m -U lock:w:
0xFF:m
так попробуй.
Re: Защита на ATmega168
Добавлено: Чт июл 01, 2010 12:41:34
marked
Спасибо всем, кристалл сбросился!