Arduino via USBASP

Nov 15, 2014 10:35

Заранее прошу не разводить ардуиносрача, вопрос (точнее, ответ на него) интересен сам по себе. С вопросами про Ардуино надо тут иногда поосторожнее :)

Из-за 3,3В-периферии решил сделать "свою ардуину без стабилизатора питания и кристалла". Короче, не особо долго думая, голый чип на бреадбоарде без ничего, с питанием от внешних 3,3В.

Пытаюсь прошивать его ардуинософтом через программатор usbasp. Получается как-то интересно. Если использовать стандартный пункт меню "Upload using programmer", все работает. Но хочется-то кнопочкой...

Пытаюсь прописать usbasp как стандартный программатор для кристалла в boards.txt, работает как-то напополам - получается следующий эффект: если взять чип, залить в него свежий бутлоадер, потом включить дуинософт и нажать Upload, первый раз все получается. Но если попробовать изменить программу и залить во второй раз, avrdude ругается на несоответствие кода при проверочном чтении. Если же перепрошить заново бутлоадер, все повторяется сначала. Один раз пишется, потом нет. Такое ощущение, что чип не стирается ардуинософтом/avrdude перед записью нового кода, но где этим можно управлять?

upload.disable_flushing=false пытался, не помогает...

У кого-нибудь есть идеи? Могу пока работать так, но хочется же понять, в чем дело. Или хотя бы как искать?

boards.txt:
[тут]

atmega328bb.name=ATmega168 on a breadboard (8 MHz internal clock) via USBASP

atmega328bb.upload.tool=avrdude
atmega328bb.upload.protocol=usbasp
atmega328bb.upload.maximum_size=14336
atmega328bb.upload.maximum_data_size=1024
atmega328bb.upload.speed=57600

atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x05
atmega328bb.bootloader.path=arduino:atmega
atmega328bb.bootloader.file=atmega/ATmegaBOOT_168_pro_8MHz.hex
atmega328bb.bootloader.unlock_bits=0x3F
atmega328bb.bootloader.lock_bits=0x0F
atmega328bb.bootloader.tool=avrdude

atmega328bb.build.mcu=atmega168
atmega328bb.build.f_cpu=8000000L
atmega328bb.build.core=arduino

atmega328bb.build.variant=standard

(пожалуйста, не обращайте внимание на имя atmega328bb, но кристалл 168 - это я поначалу с 328 игрался, потом на 168 переделал, а имя сменить забыл)


Спасибо всем, кто поможет!

--------------

Упд:
Господа и дамы, пожалуйста, прочитайте текст поста выше перед ответом, не реагируйте только на ключевые слова! Я пытаюсь писать ардуинософтом через USBASP, то есть через ISP. Какой бутлоадер? Запись бутлоадера мне только помогает найти ошибку и в процессе прошивания не участвует.

Вопрос, arduino, Дзен

Previous post Next post
Up