Итак, пришло время залить новый бутлоадер и тестировать проект на нем с достаточным количеством флэша для программы.
Что потребуется:
Arduino Duemilanove
Клемы на плату (штыри 1х4)
Шлейф на 4 провода с розетками на провод 1х4
Вот как я это делал:
1. Припаял штырек к Arduino c выводами от микросхемы FT232RL.
2. Соединил с ISP разьемом.
3. Скачал avrdude-serjtag, конфигурационный файл avrdude.conf и avrdude-GUI отсюда. Короче говоря, прошивать строго по этой статье за исключением eFuse, их для m168 нужно установить в 0x04. Настройка аналогично рисунку.
4. Скачать сам загрузчик optiboot, скомпелированный файл для duemilanova и decemila уже есть в архиве, здесь: .\Optiboot_v3\optiboot\bootloaders\optiboot\optiboot_diecimila.hex. Его и выбираем в avrdude-GUI в поле Flash.
5. Подключаем Arduino к USB и жмем кнопку read в программе в области Fuse. Если фьюзы прочитались, удаляем -B 4800 из настроек опций командной строки. И еще раз читаем фьюзы и убеждаемся что все ОК.
6. Жмем Erase, выставялем фьюзы в hFuse DDh, lFuse FFh, eFuse 04h. Жмем write для фьюзов. Жмем Erase-Write-Verify, проверив, что выбран нужный файл бутлоадера в поле Flash.
7. Дожидаемся завершения процесса. И устанавливаем Lock Bit в 0Fh и записываем нажав Write в этой области.
8. Отключаем шлейф от ISP. Берем файл boards.txt из архива optiboot и копируем в Arduino IDE 0021 на место родного.
9. Запускаем Arduino IDE, выбираем порт и board на нашу duemilanove, там они будут с префиксом [optioboot] и заливаем для проверки стандартный example Blink. НАЖИМАЕМ RESET НА ПЛАТЕ. (автозапуск почему-то не работает после заливки скетча)
10. Убеждаемся в работоспособности. Тестируем.
Update: 19/10/2010 20:08
Большие скетчи, которые граничат с максимально допустимым размером пока не загрузить. Вот открыли issue по этому поводу: http://code.google.com/p/arduino/issues/detail?id=380
О!! Давай колись!!! Что за проект!!! жду с нетерпением!
ОтветитьУдалитья прошивал по другому http://ukrduino.blogspot.com/2010/06/blog-post.html
ОтветитьУдалитьДа-да, постараюсь побыстрее, но пока - молчок! :)
ОтветитьУдалить