Bootloader в ATMEGA8L

leshak
Offline
Зарегистрирован: 29.09.2011

Вообщем попытался я, в очередно раз собрать "минимальную на макетке" и подскользнулся на ровном месте.

На ATMEGA8A собирал без проблем, а тут не заметил мелочь: букву L в на ATMEGA8L

Если я правильно понял это значит что "не судьба мне завести ее на 16mHz".

Ну да ладно. Суть:

Через ArduinoISP - прошивается. Диодом бодро блинкает. Из кабеля для мобилки (CA-42) сделал Usb-Serial конвертер. Кабель - тоже работает (хотя он на 3.3v). И с заводской дуиной и с этим камешком Serial.wrire/read четко работает.

Делают burn bootloader - тоже пишет что все прошилось на ура (естественно сделал для платы раздел в boards.txt). 

Казалось-бы "ну вроде все готово". Ан, нет... не хочет, хоть ты тресни заливать скетчи через сериал.

то not in sync, то "invalid signature" (разные бутлоадеры пробовал).

Пробовал и без кварца (от внутреннего осцилятора) и с внешним (правда только на 16 в руках есть).

Разные бутлоадеры (попробую еще раз, не глубокой ночью, дам чуть позже списко "кого пробовал"), разные скорости заливки

Причем как-то нет разницы - подтягиваю ресет к питанию или оставляю болтатся в воздухе (через ArduinoISP залитые скетчи - работают, через Serial - не льются).

Такое впечатление что бутлоадер "тупо не страртует". Корочу ресет на землю, отпускаю и в тот же момент начинает диод мигать (отрабатывать залитый в камень скетч). Паузы "ждем скетч" как-то не видно.

Чуть позже дам какие фьюзы, бутлоадеры перепробовал (повторю все еще раз "под протокол"), но может у кого-нибудь по этому описанию "идеи что проверить" возникнут?

maksim
Offline
Зарегистрирован: 12.02.2012

Шил двумя бутами - стандартным Arduino NG or older w/ ATmega8 (который стартует аж 8 секунд) и ATmega8A (8MHz int. RC osc, short bootloader delay, 38400 baud rate), все работает нормально, но оба раза МК был ATmega8A.

step962
Offline
Зарегистрирован: 23.05.2011

Этот вариант не пробовали?

leshak
Offline
Зарегистрирован: 29.09.2011

maksim пишет:

Шил двумя бутами - стандартным Arduino NG or older w/ ATmega8 (который стартует аж 8 секунд)

Пробовал его, но выглядит как "вообще не ждет". Кстати а он должен себя как-то проявлять на 13-том пине? Типа "я жду"?

maksim пишет:

и ATmega8A (8MHz int. RC osc, short bootloader delay, 38400 baud rate), все работает нормально,

А это что за зверь что-то не попадался на глаза (особенно с такой скоростью, везде 19200 видел. Хотя и скорости тоже уже все перебирал :(  )? Я нагуглил какие-то  какие-то ATmega8L.hex и atmega8_noxtal\ATmegaBOOT.hex подфиксаный.

Но оба чуть-ли не во времена 0.15 IDE писанные. Грешу еще на это.

Может я что-то с фьюзами нахомутал? Если сохранилось, можете свой кусочек boards.txt показать?

maksim пишет:

но оба раза МК был ATmega8A.

Да с ней и у меня проблем небыло. Просто в наличие попалась L-ка, думал что отличие только "если надо и на 3-х вольтах запустимся". А высянилось что 8mHz максимум. Пишут правда что "разгоняют", но не шибко я понял как. Да вообщем сейчас задача "абы завелось" хоть с кристалом, хоть без. Хоть 8-мь, хоть 16-ть. 

leshak
Offline
Зарегистрирован: 29.09.2011

step962 пишет:

Этот вариант не пробовали?

Пробовал :(

Кажись он у меня и говорил "Invalid signature". 

Счас буду пробовать еще раз. Может ночью чего и перепутал.

leshak
Offline
Зарегистрирован: 29.09.2011

step962 пишет:

Этот вариант не пробовали?

Все, заработало :) Ура!! Просто "сапоги нужно одевать на свежую голову!

Вообщем таки этот вариант и запахал.

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

А с "этот вариант" похоже использует внешний кварц. Хоть он и стоял, но был на 16-ть. Може из-за этого глючил.

Вообщем поменял я LOW фьюзы на 0xDF -> 0xE4, HIGH оставил родные 0xCA.

Бутлоадер начал "откликатся", но говорить "invalid device signature 0000000". Но вообщем явно видно что с кем-то дудка таки начала общатся.  Поменял еще протокол с stk500 на arduino и все завелось.

Кто был больше виноват - фиьюзы или протокол уже не стал разбиратся.

В итоге вот такой вышел раздел boards.txt (авось кому пригодится):

##############################################################

atmega8l_noxtal.name=ATmega8L @ 8MHz Internal
 
atmega8l_noxtal.upload.protocol=arduino
atmega8l_noxtal.upload.maximum_size=7168
atmega8l_noxtal.upload.speed=19200
 
atmega8l_noxtal.bootloader.low_fuses=0xe4
atmega8l_noxtal.bootloader.high_fuses=0xca
atmega8l_noxtal.bootloader.path=atmega8
atmega8l_noxtal.bootloader.file=ATmega8L.hex
atmega8l_noxtal.bootloader.unlock_bits=0x3F
atmega8l_noxtal.bootloader.lock_bits=0x0F
 
atmega8l_noxtal.build.mcu=atmega8
atmega8l_noxtal.build.f_cpu=8000000L
atmega8l_noxtal.build.core=arduino
atmega8l_noxtal.build.variant=standard

 

ALEXHEX
Offline
Зарегистрирован: 12.12.2013

Пытаюсь прошить  ATMEGA8L - 8PU

Но вылазит следующая ошибка. Сам в вопросе разобраться не могу.

avrdude: stk500_getsync(): not in sync: resp=0x00

 

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
std
Offline
Зарегистрирован: 05.01.2012

leshak пишет:
Через ArduinoISP - прошивается. Диодом бодро блинкает (...) с заводской дуиной и с этим камешком Serial.wrire/read четко работает.

Чё правда? Уже думаю купить, т. к. хочу набрать чего дешёвого как у бабки семечек.

Интересует в паре с nRF24L01+ - то есть чтобы можно было из них делать какие-нибудь датчики, светодиодами по радио мигать. Если умеет с TLC5940 работать так вообще зашибись.

Как я это делаю:

Не умею менять fuses нормально, выбираю в Tools->Board нужное (Atmega8a@8MHz допустим) и жму Burn bootloader. Потом жму Upload using programmer и радуюсь. Программатор ArduinoISP.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а зачем заливать бутлоадер если все равно заливаешь программу с помощью программатора. бутлоадер затирается ведь

std
Offline
Зарегистрирован: 05.01.2012

Да я не про загрузчик спрашиваю. Мне интересно, пашет ли сабж с трансивером.

axill
Offline
Зарегистрирован: 05.09.2011

std пишет:

Да я не про загрузчик спрашиваю. Мне интересно, пашет ли сабж с трансивером.

а в чем проблема? единственно на мега8 около 4к съедает сама RF24, для других задач не так много остается. Но вот у меня часы с синхронизацией по радио, датчиками температуры и освещенности работают

Rus123
Offline
Зарегистрирован: 24.01.2018

leshak пишет:

На ATMEGA8A собирал без проблем, а тут не заметил мелочь: букву L в на ATMEGA8L

Проблема есть с загрузкой скетчей на Atmega8a , раньше выскакивала ошибка с сигнатурами, потом вроде как то исправил, но теперь опять все слитело, и пишет что мол не тот микроконтроллер выбрали. не могли скинутьфайлы для добавления в IDE. я шил версией 1.0.5

загрузчик не шью, использую UNO как прогромматор. Внешний кварц не беру.

Спасибо заранее.