Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude

ATmega8: прошивка завантажувача Arduino через Arduino IDE, знайомство c AVRDUDE

Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude

Ідея використовувати молодше сімейство AVR ATtiny для дрібних проектів замість Arduino - логічна і красива, але припадати враховувати реальний стан речей. І якщо подивитися ціни на ebay.com, то вийде, що ATmega8 буде краще і дешевше багатьох ATtinyXX. Якщо ви не завод, і не маєте можливість закуповуватися оптом безпосередньо у виробника, то для багатьох проектів буде простіше використовувати ATmega8 ніж изгаляться з програмною емуляцією TWI / I2C, UART і ін.

Як теорії. На ATmega8 працював Arduino NG (next generation). Т.ч. скетчі Arduino повинні бути повністю сумісні з ATmega8. Озброївшись цим знанням спробуємо що-небудь прошити.

Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude

Так само як в попередньому пості зберіть схему підчепивши на 19-й пін мікросхеми (digital pin 13 Arduino) резистор зі сетодіодом. Має вийти як-то так:

Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude
Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude

    В Arduino IDE меню-> сервіс виберете опції:
  • Плата -> Arduino NG or older w / ATmega8
  • Програматор -> Arduino as ISP

Далі відкрийте з прикладів скетч "Blink". Тут потрібно буде виправити sleep (1000) на sleep (100). Профайл плати NG має на увазі роботу з 16 Мгц резонатором, а у нас мікроконтролер працює від Втроенная резонатора на 1 МГц, тобто в 16 разів повільніше.

Залийте скетч в мікроконтролер. Діод повинен відразу почати блимати. У мене в перий раз прошивка пройшла без єдиного Варнінг, а потім почало викидати попередження:

Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude

що означає, що прошивка пройшла успішна, але перевірка закінчилася помилкою. Хоча у мене мікроконтролер успішно прошивали і працював з таким Варнінг, ситуація не хороша. Взагалі, якщо говорити про помилки, то найстрашніше, що можна отримати на даному етапі це напевно:

1) контролер не відповідає:

2) невірний тип мікроконтролера:

Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude

Раз вже мова пішла про помилки і одвірках пошивки, думаю настав час познайомитися з avrdude, утилітою c допомогою якої Arduino IDE шиє мікроконтролери.

В Arduino IDE: меню -> настройки відзначити галочкою чекбокс: "показувати детальний висновок при завантаженні" і завантажте скетч в мікроконтролер ще раз. Якщо Arduino IDE запущений був з командного рядка, то в консолі повинен з'явитися довгий лог, де нас буде цікавити перший рядок:

    де:
  • -З --конфігураціонний файл
  • -p --модель мікроконтролера
  • -з --модель програматора
  • -P --порт
  • -b --скорость порту
  • -U --Операції з пам'яттю

Часто при помилках виводиться повідомлення c пропозиції запустити avrdude з опцією -F.

НІКОЛИ не робіть цього! Якщо є помилка, постарайтеся розібратися в проблемі. Інакше можна заблокувати чіп.

Найбільш цікава опція для нас "-U", операції з пам'яттю. Формат опції: тіп_памяті: операція: файл: формат_файла

для початку, можна спробувати вважати прошивку мікроконтролера:

    де:
  • r - читання прошивки
  • i - формат файлу прошивки Intel

введіть в консолі команду:

на виході матимемо лог:

Отже, отримавши, в результаті, повідомлення про успішне завершення: "avrdude done. Thank you", ми отримуємо файл з копією прошивання мікроконтролеру. Пара слів про фьюз. Це біти конфігурації мікроконтролера. Якщо запис фьюз пройде з помилкою, мікроконтролер швидше за все заблокується. Якщо настроїти їх неправильно, мікроконтролер швидше за все теж заблокується. Ще не будемо їх чіпати, але є одна можливість. Часта мікроконтролера за замовчуванням 1МГц. Можна переключити його на роботу зовнішнім резонатором прошив завантажувач arduino. Меню -> Сервіс -> Записати завантажувач.

Завантажувач складається з flash-прошивки і фьюз-бітів конфігурації, які передбачають роботу від зовнішнього резонатора. Тобто прошиваючи завантажувач, ми конфігуруємо мікроконтролер на роботу з зовнішнім резонатором. Ну, а що стосується самого завантажувача, то він потім затреться новою прошивкою, фьюз залишаться.

Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude

Перед прошивкою завантажувача, встановіть резонатор з частотою 1-16 МГц на 9 і 10 pin мікросхеми. Там ще "по уму" повинні бути керамічні конденсатори, але працювати буде і без них. Для перевірки зійде. схема:

Atmega8 прошивка завантажувача arduino через arduino ide, знайомство c avrdude

Після прошивки частоту можна буде міняти заміною кварцу. Так само у мене пропав Варнінг при перевірці після прошивки: "verification error". В цілому, мікроконтролер з кварцом працює стабільніше.

Схожі статті