Atmega168pa and arduino



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Р что-то я нарушил, но вот в чем проблема и как вылечить не знаю.

Пы.Сы. Вопрос не кртичен т.к. как обойти проблему я знаю и на будущее подготолю скетч и впаяю в плату на вечно. Но переступать через трупы (нерешенные вопросы) это моветон.

Источник