На сайт "Мир микроконтроллеров"   Закрыть окно помощи

 

FUSE калькулятор
Страница помощи

 

Секция загрузчика.

FUSE переключатели BOOTSZ, BOOTRST и SELFPRGEN

Эти два вида FUSE переключателей предназначены для выбора ражимов работы так называемой секции загрузчика. Секция загрузчика появилась после того, как в микроконтроллеры была введена функция самопрограммирования. Самопрограммирование - это возможность микроконтроллера самому "перешивать" свою собственную программу. Это очень удобно в тех системах, в которые сами, без участия сервисных служб и специальных программаторов могут сами обновлять свою программу, получая ее автоматически из внешних каналов. Например, современные мобильные телефоны моут получать и автоматически устанавливать новые версии прошивок прямо через телефонного оператора или по USB или через Блютуз (Bluetooth) из интернета. Используя современные процессоры вы сами можете создать подобную систему.

SELFPRGEN

В некоторых моделях микроконтроллеров для включения режима самопрограммирования используется FUSE переключатель SELFPRGEN.

В процессе самопрограмиирования возможен следующий конфликт: Если программа сама себя переписывает, то в процессе работы она должна будет стереть саму себя! Ведь прочесс записи FLESH памяти всегда начинается со стирания. Технология многоразового стираемго ПЗУ такова, что стирать нужно сразу все ячейки. Именно по этому память приходится делить на две части: область основной программы и область загрузчика. Основная программа располагается в своей области. Она выполняет все основные функции. Когда же наступает необходимость перезаписать основную программу, она передает управление в область загрузчика. Программа, загруженная в эту область автоматически стирает область основной программы, получает любым из способов (через один из последовательных каналов или через любой из портов) побайтно коды новой версии и прошивает это все на мето старой.

BOOTSZ

Многие модели микроконтроллеров AVR имеют возможность выбирать размер области загрузчика из нескольких вариантов. Этим обеспечивается определенная гибкость для разработчика. Размер области загрузки определяется при помощи группы фьюзов BOOTSZ (BOOTSZ1, BOOTSZ2...). Наш FUSE калькулятор упрощает выбор этих значений. Просто выберите нужное значение из всплывающего списка "Размер секции загрузчика Flash памяти".

BOOTRST

В некоторых случаях нужно что бы после сброса микроконтроллер начинал выполнение программы не с нулевого адреса, как это установлено по умолчанию, а с начала области загрузчика. Для того, что бы включить данный режим используется фьюз BOOTRST. Если этот бит прошить (сделать равным нулю) то вектор начального сброса изменится и после сброса контроллер начнет выполнение программы с начала области загрузки.

В этом случае программа загрузчика обычно делается таким образом, что она сама проверяет необходимость перезаписи основной программы. Например, запросив у внешнего источника наличие новой версии. Если перезапись не требуется, загрузчик передает управление основной программе. Именно так устроен микроконтроллерный комплект проекта Ардуино. Этот интересный проект как раз использует режим самопрограммирования. Предназначен он для начинающих констукторов. Авторы проекта даже утверждают, что используя Ардуино любой желающий, даже очень далекий от микроконтроллерной техники, не знакомый с паяльником и измерительными приборами может создать и использовать свое собственное микроконтроллерное устройство. Для этого он просто покупает один из вариантов модуля Ардуино, подключает его непосредственно к любому компьютеру. При этом не нужно никаких программаторов. Модуль подключается либо через последовательный (COM) порт, либо USB. Небольшая бесплатная программа, которую легко скачать с сайта проекта попожет создать простую программу и прошить ее в микроконтроллер. А помогает в этом программа-загрузчик заранее прошитая в модуль Ардуино при его производстве. Она принимает разработанную вами программу из компьютера по последовательному порту или через USB и записывает в область основной программы. А затем запускает вновь записанную программу. Подробнее о проекте вы можете прочитать здесь >>

На сайт "Мир микроконтроллеров"   Закрыть окно помощи