Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude

ATmega8: Firmware-ul bootloader-ului Arduino prin IDE Arduino, cunoștință cu AVRDUDE

Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude

Ideea folosirii familiei tinere a lui AVR ATtiny pentru proiecte mici în loc de Arduino este logică și frumoasă, dar trebuie să țineți cont de starea reală a lucrurilor. Și dacă te uiți la prețurile de pe ebay.com, se pare că ATmega8 va fi mai bun și mai ieftin decât multe ATtinyXX. Dacă nu sunteți o fabrică și nu aveți posibilitatea de a cumpăra în vrac direct de la producător, pentru multe proiecte va fi mai ușor să utilizați ATmega8 decât să vă deranjezi cu emularea software a TWI / I2C, UART etc.

Ca o teorie. La ATmega8 a lucrat Arduino NG (generația următoare). astfel Schițele arduino ar trebui să fie pe deplin compatibile cu ATmega8. Înarmați cu aceste cunoștințe, vom încerca să blitzăm ceva.

Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude

La fel ca în postul anterior, asamblați circuitul prin ridicarea pinului 19 al cipului (pinul digital 13 Arduino) cu un rezistor cu diodă. Ar trebui să arate ceva de genul:

Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude
Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude

    În meniul Arduino IDE-> serviciu alegeți opțiunile:
  • Fee -> Arduino NG sau mai vechi cu ATmega8
  • Programator -> Arduino ca ISP

Apoi, deschideți schița "Blink" din exemple. Aici va fi necesar să repariți somnul (1000) la somn (100). Profilul plăcii NG înseamnă lucrul cu un rezonator de 16 MHz și avem un microcontroler care funcționează dintr-un rezonator reglat la 1 MHz, adică De 16 ori mai lent.

Turnați schița în microcontroler. Dioda ar trebui să înceapă imediat să clipească. La prima mea introducere a trecut fără un depozit și apoi a început să arunce avertismentul:

Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude

ceea ce înseamnă că firmware-ul a avut succes, dar testul a eșuat. Deși microcontrolerul meu a reușit să coasă și să lucreze cu o astfel de deformare, situația nu este bună. În general, dacă vorbim despre erori, cel mai teribil lucru care se poate obține în acest stadiu este probabil:

1) controlerul nu răspunde:

2) tipul incorect de microcontroler:

Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude

Odată ce am vorbit despre erori și jamburi de cusut, cred că este timpul să ne familiarizăm cu avrdude, un utilitar cu care IDE-ul Arduino creează microcontrolere.

În Arduino IDE: meniu -> casetă de selectare casetele de selectare: "afișați ieșirea detaliată la boot" și încărcați din nou schița în microcontroler. Dacă ID-ul Arduino IDE a fost pornit de la linia de comandă, atunci în consolă ar trebui să apară un jurnal lung, unde vom fi interesați de prima linie:

    în cazul în care:
  • -C - fișier de configurare
  • -p - model de microcontroler
  • -c - modelul programatorului
  • -P -port
  • -b - viteza portului
  • -U - operație cu memorie

Adesea, atunci când apar erori, apare un mesaj cu o sugestie de a începe avrdude cu opțiunea -F.

NICIODATĂ nu o faceți! Dacă există o greșeală, încercați să înțelegeți problema. În caz contrar, puteți bloca cipul.

Cea mai interesantă opțiune pentru noi este "-U", operații cu memorie. Formatul opțiunii: memory_type: operație: fișier: format_file

pentru a începe, puteți încerca să citiți firmware-ul microcontrolerului:

    în cazul în care:
  • r - citiți firmware-ul
  • i - format de fișier firmware Intel

tastați următoarea comandă în consola:

la ieșire vom avea un jurnal:

Deci, după ce vom finaliza cu succes: "Avrdude făcut, vă mulțumim", obținem un fișier cu o copie a firmware-ului microcontrolerului. Câteva cuvinte despre fuzzy. Acestea sunt biții de configurare a microcontrolerului. Dacă înregistrarea siguranțelor nu merge bine, microcontrolerul va fi cel mai probabil blocat. Dacă le configurați incorect, microcontrolerul va fi, de asemenea, blocat. Până când le atingem, dar există o posibilitate. Microcontrolerul implicit este de 1 MHz. Puteți schimba funcția cu un rezonator extern prin intermitența încărcătorului arduino. Meniu -> Instrumente -> Burn loader.

Încărcătorul este alcătuit din bliț-firmware și biți de fuziune de configurație, care oferă lucrări de la un rezonator extern. Ie aprinzând încărcătorul, configuram microcontrolerul să lucreze cu un rezonator extern. Ei bine, în ceea ce privește bootloader-ul în sine, acesta va fi suprascris cu un nou firmware, fuzzy va rămâne.

Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude

Înainte de a introduce bootloader-ul, instalați un rezonator cu o frecvență de 1-16 MHz pentru chips-uri de 9 și 10 pini. Încă în minte ar trebui să fie condensatoare ceramice, dar va funcționa fără ele. Verificarea va coborî. de conducere:

Atmega8 încărcător de firmware arduino prin arduino ide, cunoștință cu avrdude

După firmware, frecvența poate fi schimbată prin înlocuirea cuarțului. De asemenea, mi-am pierdut răsturnarea la verificarea firmware-ului: "eroare de verificare". În general, microcontrolerul cu cuarț funcționează mai stabil.

Articole similare