Логотип платы BlockDuino Слоган: Ты сможешь это запаять!!! Твой электронный мультитул.
Главная Блог Каталог Статьи Wiki Скачать

BlockDuino - загрузка бутлоадера на чистый процессор

Введение

Оговорюсь сразу, что это не единственный и может не самый правильный способ заливать загрузчик на чип. В смысле, конечно же красивее вставить микросхему в специальный программатор и специальной командой загрузить HEX файл... ну и т.д. и т.п. Но это требует особого оборудования и знания.

Гораздо проще и интереснее сделать как описано ниже.

Соединить две платы BlockDuino с помощью 6 проводов

Берем две платы BlockDuino, одну рабочую с уже установленным загрузчиком, и одну с пустым микропроцессором.
Первую плату подключаем к компьютеру и заливаем на нее стандартную программу: [Файл->Примеры->ArduinoISP]. Теперь эту плату можем официально обзывать программатором.

Теперь переходим к проводам, берем 6 проводов, два для питания, остальные для сигналов.
Соединяем их проводами согласно таблицы:

Плата BlockDuino как программатор Плата с пустым микропроцессором
GND
GND
+5V
+5V
порт D10
Reset
порт D11 (MOSI)
порт D11 (MOSI)
порт D12 (MISO)
порт D12 (MISO)
порт D13 (SCK)
порт D13 (SCK)

Ориентируемся по описанию шины BlockDuino:


BlockDuino в роли программатора BlockDuino с чистым микропроцессором

 

Вид отсюда Вид оттуда

Заходим снова в программу Arduino и выбираем тип программатора: [Сервис->Прорамматор->Arduino as ISP], затем указываем какой бутлоадер будем загружать: [Сервис->Плата->BlockDuino w/ ATmega328] (или какой либо другой, по типу пустого процессора (328 / 168 / 8).
Еще раз проверяем наличие напряжения на обоих платах (горят светодиоды 'Power'), правильность соединения проводами и загружаем бутлоадер командой в программе Arduino: [Сервис->Записать загрузчик].

Для большей информативности можно подключить еще три светодиода (через резистор, конечно):

Удобно и логично взять платки CleClo:LED... ... и подключить к PlugIO
  • к порту D9 - сердцебиение - указывает работу программы программатора (зелёный, к примеру);
  • к порту D8 - ошибка - загорается, если произошла ошибка в процессе записи бутлоадера (красный!!!);
  • к порту D7 - программирование - загорается во время записи бутлоадера (у меня синий тут);

ЧаВо

Вопрос: Не получается.

Проверить:

  • подачу питания на обе платы (зеленый светодиод питания горит на обоих);
  • подключение проводов, в идеале - прозвонить с порта одного процессора на другой;
  • наличие программы загрузчика на плате 'программаторе' - светодиод 'сердцебиение' плавно загорается и тухнет;
  • правильность выбора загрузчика: [Сервис->Программатор->Arduino as ISP];
  • правильность выбора платы в пункте [Сервис->Плата->Arduino Duemilanove w/ ATmega328] или [Сервис->Плата->BlockDuino w/ ATmega328], т.е. соответствие процессору на который загружается бутлоадер;
  1. Загрузка бутлоадера практически не срабатывает до версии софта Arduino 1.0
  2. Не всегда успешно срабатывает Reset, есть смысл попытаться угадать нужный момент (ориентируясь по светодиоду "программирование") и нажать кнопку Reset в ручную
  3. Загрузка происходит с использованием порта D13, на котором висит светодиод с резистором, это может мешать, есть смысл попробовать выпаять светодиод или резистор (как видно на фото, я выпаивал светодиод).

Ссылки

  • Эта статья в формате PDF

 


©2012 Vasyl Yudin; Ukraine
Написать письмо