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)
Чтобы загрузить новую прошивку нужно выполнить несколько простых действий:
- Подключить кабель к ком-порту (есть варианты)
- Подготовить команду (можно включить в Makefile и не мучатся)
- Включить МиниБота
- Успеть за секунду нажать 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
»
