Страница 1 из 1

Вопрос по Fuse

Добавлено: Сб апр 03, 2010 01:39:40
Nimnul
Доброй ночи уважаемые коты.
Подскажите пожалуйста...имеется бокс(программатор) построен он на микроконтроллере Mega128 (смотрите схема во вложении)...внем зашита прошивка с созможность апдейта через компьюторную программу(софт)...т.е. в прошивке имеется бутлоадер, который активируется софтом...помогите понять при такой схемотехнике можно ли менять fuse bootlock01 без внешнего программатора?
Вот такая картина получается...http://www.mobile-files.ru/forum/showth ... 7822...все думаем и понять неможем(
но я знаю что: fuse bits - набор битов у микроконтроллеров AVR, значения которых записываются (прошиваются) при помощи внешнего программатора и сохраняются неизменными, в том числе и после отключения питания. АЛУ микроконтроллера не может вносить в них изменения при выполнении программы. Бит в регистре fuses может быть изменён только программатором.
Если прочитаете ветку по ссылке, то выходит что можно? Хотя я не верю...какой-то глюк получается.

Re: Вопрос по Fuse

Добавлено: Сб апр 03, 2010 04:04:44
Digikey
АЛУ микроконтроллера не может вносить в них изменения при выполнении программы. Бит в регистре fuses может быть изменён только программатором. Если прочитаете ветку по ссылке, то выходит что можно? Хотя я не верю...
Почему же не может, - очень даже может... Меняйте Вашу веру! ;)

Под руками был даташит на ATmega163; у вашего MCU, практически не сомневаюсь, есть такое же:

Setting the Boot Loader Lock Bits by SPM (Store Program Memory instruction)

To set the Boot Loader Lock bits, write the desired data to R0,
write "00001001" to SPMCR and execute SPM within four clock cycles after writing SPMCR.

The only accessible lock bits are the Boot Lock bits that may prevent the Application and Boot Loader section from any software update by the MCU.
==============

Установка BLB битов с помощью команды SPM

Чтобы установить Boot Loader Lock биты занесите желаемое значение в R0,
запишите "00001001" в SPMCR и выполните SPM не позже, чем через 4 такта после этого.

Единстенными доступными битами являются Boot Lock биты, которые могут
помешать MCU программно произвести модификацию секции Приложеня и Бутлоадера

Re: Вопрос по Fuse

Добавлено: Сб апр 03, 2010 13:35:47
Nimnul
Спасибо...пойду курить мануал.