Archive for April, 2008

Bootloader для MiniBot’а

Сделал бутлоадер для минибота.

За основу взял AVRPROG compatible bootloader for ATMEL ATmega Controllers
версию 0.83 от 2008-04-12

Исходные коды и прошивка настроенного загрузчика находится в в моем меркуриал-репозитории
Ссылка на скачивание прошивки: ревизия 1:6780924e1d63 (лучше зайдите в репозиторий и скачайте main.hex)

Чтобы получить последнюю версию исходников:

hg clone http://hg.vehq.ru/minibot-bootloader/

Параметры загрузчика:

  • Микроконтроллер: ATMega32
  • Тактовая частота: 8 МГц от внутреннего RC
  • Размер загрузочной области: 1024 Б (512 слов)
  • Программатор: AVR109, AVR911
  • Параметры для подключения: 9600 8N1
  • Загрузчик в течение 1-ой секунды ждет символ 'S'

Как работает загрузчик?

После запуска МК ждет в течении одной секунды символ 'S'
Если дожидается, то переходит в режим программирования, протокол совместим с протоколом AVR109/AVR911
Если не дожидается, то переходит по адресу 0000h т.е. на адрес по которому в режиме без загрузчика находится вектор RESET, т.е. ваша программа и не заметит наличие бутлоадера, разве что вы потеряете 1 КБ флеша.

Установка загрузчика

Сначало нужно будет прошить микроконтроллер МиниБота любым доступным вам способом. Нужно будет установить fuse-биты на 8 МГц от внутреннего RC-генератора, размер области загрузчика 1024 байт, включить загрузчик.

Как пользоваться?

Пользоваться можно различными программаторами, поддерживающими AVR109/AVR911, я использую avrdude (есть в комплекте с WinAVR)

Чтобы загрузить новую прошивку нужно выполнить несколько простых действий:

  1. Подключить кабель к ком-порту (есть варианты)
  2. Подготовить команду (можно включить в Makefile и не мучатся)
  3. Включить МиниБота
  4. Успеть за секунду нажать Enter :)

Вот пример загрузки тестовой прошивки из комплекта MiniBot-Lib:

cd /path/to/minibot-lib/
scons
avrdude -p m32 -P /dev/ttyUSB0 -b 9600 -c avr109 -u -U flash:w:bin/ledtest.hex
4 comments »

Mercurial и MiniBot-Lib

Постепенно перехожу с Subversion(svn) на Mercurial(hg). Кратко mercurial это распределенная система контроля версий нового поколения.

Библиотеку для МиниБота я решил изначально держать под контролем меркуриала и сегодня захостил репозиторий в интернете.

Чтобы получить копию:

hg clone http://hg.vehq.ru/minibot-lib/
0 comments »

Первый пост

Это первый пост моего блога, в котором буду писать о разных интересующих меня вещах.

Немного об этом блоге:

Движек Byteflow, работает в веб-фреймворке Django, а написана вся эта прелесть на питоне.

Посты дублируются в ЖЖ.

2 comments »