![]() |
Acasă | Articole | Proiecte | Produse | Favorite | Despre | ![]() |
![]() |
Postat la - 17 decembrie 2017
Aceasta nu este un tutorial despre microcontrolere, ci doar o colecție de notițe, sfaturi și referințe rapide ușor de reținut.
Sunt aproape același microcontroler, singura diferență notabilă între ele fiind semnătura și caracteristica PicoPower în cazul modelului Atmega1284P-PU.
Folosind avrdude versiunea 5.11.1 va eșua programarea lui Atmega1284-PU din cauza nepotrivirii semnăturii:
-------------------------------------------------------------------------------
$ sudo avrdude -c usbtiny -p m1284p -U flash:w:-U flash:w:a.hex:i
avrdude: Dispozitivul AVR a fost inițializat și este gata să accepte instrucțiuni
Reading | ################################################## | 100% 0.01s
avrdude: Semnătura dispozitivului = 0x1e9706
avrdude: Semnătura așteptată pentru ATMEGA1284P este 1E 97 05
Verifică încă o dată cipul sau folosește opțiunea -F pentru a forța această verificare.
avrdude s-a terminat. Mulțumim.
-------------------------------------------------------------------------------
Dacă se întâmplă acest lucru, trebuie să editezi fișierul /etc/avrdude.conf și să schimbi semnătura dispozitivului din 0x1e 0x97 0x05 în 0x1e 0x97 0x06 în secțiunea ATmega1284P sau, mai elegant, să copiezi întreaga secțiune ATmega1284P și să-i modifici titlul, id-ul, descrierea și semnătura corespunzător.
Noul microcontroler adăugat poate fi verificat prin rularea următoarei comenzi:
$ avrdude -c usbtiny -p list
...
m1284 = ATMEGA1284 [/etc/avrdude.conf:4953]
m1284p = ATMEGA1284P [/etc/avrdude.conf:4760]
...
JTAG-ul este activat implicit pe acest dispozitiv, astfel că pini PC5:PC2 sunt trași în sus (high). Pentru a dezactiva JTAG, byte-ul high fuse trebuie modificat de la HFUSE = 0x99 la HFUSE = 0xD9, astfel:
$ sudo avrdude -c usbtiny -p m1284 -U hfuse:r:-:h
$ sudo avrdude -c usbtiny -p m1284 -U hfuse:w:0xD9:m
Implicit, este activată divizarea ceasului cu 8 și oscilatorul intern RC de 8 MHz, valoarea default pentru low fuse este 0x62.
Activarea oscilatorului extern cu cristal în mod Full Swing:
$ sudo avrdude -c usbtiny -p m1284 -U lfuse:w:0x67:m
Dezactivarea divizării ceasului:
$ sudo avrdude -c usbtiny -p m1284 -U lfuse:w:0xE7:m
![]() |
Acasă | Articole | Proiecte | Produse | Favorite | Despre |