#12
Сообщение
kulibinsvv » 28.09.2015{, 10:52}
Прочитал ветку и понял, что у многих путаница с режимами программирования контроллеров AVR. Возьму на себя смелость внести ясность в этот вопрос.
Микроконтроллеры семейства Mega поддерживают следующие режимы программирования:
• режим последовательного программирования (по интерфейсу SPI);
• режим параллельного программирования при высоком напряжении;
• режим программирования через интерфейс JTAG.
Под «высоким» напряжением здесь понимается управляющее напряжение (12 В), подаваемое на вывод RESET микроконтроллера для перевода последнего в режим программирования.
Какие из режимов поддерживает конкретный микроконтроллер, можно узнать из даташитов.
Конкретно для плат Ардуино основанных на контроллерах ATmtga8,48,88,168,328 поддерживаются первые два режима, программирование по JTAG недоступно.
Кроме того, микроконтроллеры семейства Mega имеют возможность самопрограммирования. Под этим термином понимается изменение содержимого памяти программ, управляемое самим микроконтроллером. Т.е. изменяется содержимое Flash памяти с помощью программы загрузчика (bootloader).
Именно этот режим и используют платы Ардуино для "заливки" программы.
Теперь о Fuse Вits.
Как следует из названия, конфигурационные ячейки определяют различные параметры конфигурации микроконтроллера. Эти ячейки расположены в отдельном адресном пространстве, доступном только при программировании (но не самопрограммировании!!!). Все конфигурационные ячейки сгруппированы в 2 или 3 байта, а состав этих ячеек зависит от конкретной модели микроконтроллера.
Ячейки защиты в состав Fuse Вits не входят и гордо называются Lock Bits.
Все ячейки защиты сгруппированы в одном байте и при различных вариантах защищают Flash, EEPROM и Fuse Bits. Они также как и Fuse Bits недоступны в режиме самопрограммирования.
Подробнее можно узнать в даташитах или из книг Евстифеева, где он делает довольно приличный обзор микроконтроллеров AVR.
По поводу файла boards.txt он предназначен для "заливки" bootloadera в микроконтроллер внешним программатором из IDE Ардуино и менять его категорически не советую. Если вдруг придётся реанимировать "заглохшую" плату Вам поможет только внешний программатор и файлики из папки hardware. Кому интересно, запустите IDE и посмотрите в меню Инструменты -> Программатор или Инструменты -> Записать загрузчик.
Ну, и Help никто не отменял. Кстати, Гугл с Яндексом тоже.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)