Доброго времени суток!
Недавно сделал платку Ардуино на Atmega168P по этой схеме (с небольшими поправками) http://cxem.net/arduino/arduino61.php.
Долго мучался с заливкой bootloader. Получилось все через avrdude парой команд:
avrdude -p atmega168p -c usbasp -e // стираем чип
avrdude -p atmega168p -c usbasp -U hfuse:w:0xdd:m -U lfuse:w:0xff:m // шьём фьюзы
avrdude -p atmega168p -c usbasp -U flash:w:ATmegaBOOT_168_diecimila.hex
avrdude -p atmega168p -c usbasp -U lock:w:0x0F:m // лочим участок флеш с лоадером
Фьюзы выставил как описано в файлике из arduino IDE. Залил первый скетч и после этого схема перестала работать как ардуино - т. е. при заливке скетча выдавала ошибку. Начал перепрошивать и оказалось что память Atmega можно стереть даже не вводя команду разблокировки avrdude -p atmega168p –c usbasp -U lock:w:0x3f:m
Играться с фьюзами боюсь)
Кто нибудь сталкивался с такой проблемой? Заранее спасибо!
Слетает bootloader arduino
Re: Слетает bootloader arduino
Не очень уверен, но согласно тем битам, что в статье, должно получится:
-U lfuse:w:0xff:m -U hfuse:w:0xfd:m -U efuse:w:0xf8:m
-U lfuse:w:0xff:m -U hfuse:w:0xfd:m -U efuse:w:0xf8:m
Re: Слетает bootloader arduino
Проблема решилась заливкой bootloader через Arduino IDE на ubuntu. Пришлось дописать в boards букву "p" после Atmega168, чтобы он его нормально прошил. После заливки обратно убрать "p", после этого все скетчи льются нормально.