Arduino.ru
Atmega168pa-au без кварца и RC цепи
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Возникла потребность прошить Atmega168pa-au, без кварца и RC цепи, используя внутренний генератор.
Долго искал bootloader-ы для нее, но так и не нашел, подскажите, пожалуйста, может кто сталкивался.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
зачем именно бутлоадер? будете в терминал что то отправлять?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Причем тут терминал и загрузчик ? )
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Причем тут терминал и загрузчик ? )
блин точно. туплю. не проснулся еще
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
2MaksMS Спасибо огромное, выиручил!)
2jeka_tm Устройство находится в разработке, плата разведена без разъема ISP, провода накинул сверху, не хотелось бы все время в процессе разработки мучится с Arduino Uno как ISP программатором)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
так можно же нормальный программатор использовать USBASP но дело ваше
я юзаю мегу 8, и тратить память на бутлоадер не хочется
хотя обычно на бутлоадер место есть, и отлаживать проще. может снова бутлоадер буду испльзовать. посмотрим
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
МБ кому пригодится. хотя хз:
В версии 1.0.5 в папке atmega есть бутлоадер ATmegaBOOT_168_atmega328.hex который подходит и для 168 и 328, что ясно из названия, но сайт с конструктором все-таки пригодился: с помощью калькулятора фьюзов выставил нужные фьюзы и все работает))
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Добрый день, я попытался прошить атмегу 168 с флюзами:
a168_8MHz.name=atmega168 (8 MHz)
a168_8MHz.upload.protocol=arduino
a168_8MHz.upload.maximum_size=15872
a168_8MHz.upload.speed=115200
a168_8MHz.bootloader.low_fuses=0xe2
a168_8MHz.bootloader.high_fuses=0xde
a168_8MHz.bootloader.extended_fuses=0x4
a168_8MHz.bootloader.path=optiboot
a168_8MHz.bootloader.file=ATmegaBOOT_168_atmega328.hex
a168_8MHz.build.mcu=atmega168
a168_8MHz.build.f_cpu=8000000L
a168_8MHz.build.core=arduino
a168_8MHz.build.variant=standard
bootloader зашился, но микросхема при этом все равно не работает. Зашивал обратно родной bootloader, все работает, а без кварца никак не могу запустить микросхему, уже 2 дня мучаюсь(
Прошивка ATmega168PA.
Заказываю из Китая недорогие чипы ATmega168PA, для замены сгоревших на Arduino Pro Mini и использования отдельно в других проектах. Как оказалось, сигнатура отличается от атмег установленных в ардуино и выглядит так — 0x1e940b. Соответственно сразу прошить через Arduino IDE не получилось.
На форумах некоторые лузеры предлагают править конфигурационные файлы в IDE, что привело к залочке одного из чипов, так делать никому не советую!
После двух дней поиска было найдено стандартное решение в виде дополнения к IDE менеджеру плат, называется оно MiniCore. Как его установить расскажу ниже.
Открываем Arduino IDE, заходим Файл >> Настройки. Вставляем ссылку на пакет MiniCore https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json в «Дополнительные ссылки для Менеджера плат» и жмём OK.
Далее Инструменты >> Плата >> Менеджер плат. Ищем новое ядро MiniCore, из выпадающего списка выбираем последнюю версию и кликаем — Установка.
Теперь в списке плат, под заголовком MiniCore появились новые пункты, выбираем в «Плата» — ATmega168, а в «Variant:» — 168P/168PA.
Теперь можно выбрать программатор и залить загрузчик. Далее микроконтроллер можно шить через UART.
Использую эти 168 везде, отличий от других атмег не заметил вообще, а цена позволяет их брать пачками и забыть Atmega8. В интернетах пишут, что PA, — экономичнее других в плане энергопотребления, но я это ещё не проверял.
Покупаю данные Атмеги на али, у одного продавца постоянно. Цена самая низкая, обмана ни разу не было, доставку всегда беру с отслеживанием. Ссылка на али:
Arduino.ru
Ошибка подписи ATmega168PA-AU
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Хотел прошить 168-ю, но не ожиданно возникла проблема, при записи загрузчика Arduino ISP сообщает:
avrdude: Expected signature for ATMEGA168 is 1E 94 06
Double check chip, or use -F to override this check.
прошиваю через UNO.
Как исправить можно?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Дословный перевод этой ошибки «Дважды проверьте чип» — то есть дважды проверьте, что правильно выбрали МК, который шьете! А вы какую плату из списка плат вы выбираете когда прошиваете? А теперь подумайте какую надо выбрать.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Выбираю Arduino NG or older w/ ATmega168 и другие пробавал, все равно одно и то же
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Тогда подробно по пунктам опишите что делаете:
1. Заливаю скейтч ArduinoISP в UNO;
2. Подтягиваю резистором 100 Ом RESET дуины UNO к +5V;
3. .
.
9. Выбираю Arduino NG or older w/ ATmega168;
10. Нажимаю «Прошить загрузчик».
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
1. Заливаю скейтч ArduinoISP в UNO;
2. Подключаю 168-ю.
3. Резистор на ресет 1к
4. В Arduino IDE выбираю плату 168-ю, програматор Arduino as ISP
5. Жму загрузить загрузчик
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А другие МК пробовали шить? И мне кажется у резистора слишком большое сопротивление.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
8 мегу, резистор то же был.. щяс попробую меньше поставить
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Тогда скорее всего замена резистора не поможет если другой МК шьет с этим.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Не помогла.. подозреваю что этот МК UNOй не прошить(
Вот что нашел. Надо такой програматор.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ничего не надо, вот что гугл говорит по этому поводу:
This error is bevause of arvdude in Arduino development environment (Arduino.app). arvdude in Arduino.app refers to /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf. There is m168 section (for ATmega 168) but there is not m168p section (for ATmega 168p) in this avrdude.conf.
Смысл в том что ATmega168 не есть ATmega168P и у них разные сигнатуры.
Решение:
В файле \arduino-1.0.3\hardware\arduino\boards.txt в строке diecimila.build.mcu=atmega168 добавляете
буковку p (пэ англ.), сохраняете файл, перезапускаете IDE.
И будет вам счастье.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
И все же счастье не пришло.. как была эта ошибка так и есть..уф
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Той же ошибки быть не должно. Вы точно там подправили? плату потом Arduino Diecimila or Duemilanove w/ ATmega168 выбрали? Может подправили у одной платы, а выбираете другую?
В настройках IDE есть галочка upload (загрузка) ,поставьте ее ,и при попытки загрузить загрузчик будет полная инфа, выложите сюда.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Как я и говорил. вы что то не там подправили. или не перезапустили IDE. строку видите:
avrdude.conf -v -v -v -v —patmega168 -cstk500v1.
avrdude.conf -v -v -v -v — patmega168p -cstk500v1.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Через командную строку запустил и дописал «p»
avrdude.conf -v -v -v -v — patmega168 p -cstk500v1.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Если бы сделали все строго как описано выше тоже бы все заработало. во всяком случае у меня через IDE буковка p есть.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Доброе время суток! Не дождался заказанные 2 Ардуины из китая, решил собрать руками (благо с паяльником дружу).
Прикупил в радиомагазине контроллер ATMEGA168PV-10PU, кварц и мелочевку. Собрал по схеме Arduino Diecimila, собрал параллельный програматор. И началося.
При попытки прошивы начал через IDE стал ругаться на сигнатуру, не найдя эту ветку форума, нашел как поменять в avrdude.conf сигнатуру.
Вот только не посмотрел что там есть нормальный ATMEGA168P и менял на ATMEGA168(подумав какая разница), начал лить загрузчик. Вывалилась еще ошибка readback_p1 и readback_p2, поменял на желаемое. И все получилось.
Потом разобравшись пришел к неутешительному выводу. Родной загрузчик льется нормально. При попытки залить Скетч ругается на сигнатуру, просмотрев лог загрузки выясняется что сигнатура изменилась не 0x1e 0x94 0x0b (как должно быть у 168Р) а 0x1e 0x94 0x06 (шесть) меняем сигнатуру в avrdude.con на новую и вуаля, скетч загрузился. Но при повторной попытке он опять ругается на недоступность МК.
Лекарство грустное: опять в avrdude.con к МК 168Р меняем на родную сигнатуру (0x0b), грузим загрузчик. Опять меняем сигнатуру на 0x06 (шесть) и грузим скетч.
Понимаю что при заливе загрузчика от 168 в 168Р что-то я нарушил, но вот в чем проблема и как вылечить не знаю.
Пы.Сы. Вопрос не кртичен т.к. как обойти проблему я знаю и на будущее подготолю скетч и впаяю в плату на вечно. Но переступать через трупы (нерешенные вопросы) это моветон.