Înainte de a trece pentru a testa programator cu microcontroler (MC), trebuie să înțelegem mai întâi posibilitățile programului avrdude, care adesea este baza pentru cristalele AVR firmware ambele pe Linux și alte sisteme de operare. O listă a tuturor setărilor de pornire programul avrdude, ia în considerare GUI, precum și exemple de utilizare avrdude.
programul AVRDude
Programul AVRDude (ARVD ownloader-U ploade r) - un instrument de cross-platform, foarte puternic, care vă permite să programați toate microcontrolere AVR linie, menținând în același timp cutiile de aproape toate tipurile este acum disponibil pentru programatori. Programul se execută de la consola, ceea ce permite un proces bun de firmware Automatizați microcontroler, dar necesită în același timp grijă și abilități de a lucra cu terminalul.
Fig. 1. avrdude - software cross-platform pentru microcontrolere Atmel firmware-ului.
cod inițial de program AVRDude a fost scris de un programator engleză Brian Deane (Brian S. Dean), și a avut numele AVRprog. Ulterior, programul a primit o mulțime de interes din partea utilizatorilor și Brian a decis să deschidă codul pentru uz public și rafinament, și pentru ca aceasta să nu fie confundat cu programul omonim al AVRStudio - AVRProg, programul are un nou nume - AVRDude.
începe AVRDude program și rulează pe sistemul de operare: Linux, Windows, MacOS X, FreeBSD și altele.
Pentru a instala programe avrdude în Debian GNU Linux sau Ubuntu ar trebui să instalați pachetul cu același nume cu comanda:
După ce pachetul de instalare este gata de utilizare, de la consola.
Opțiuni de pornire avrdude
Rularea în programul avrdude consola fără argumente, putem vedea o listă de opțiuni disponibile pentru utilizare. Următoarele informații pot fi folosite mai târziu ca o referință rapidă pentru programul avrdude parametri.
Fig. 2. Lista de parametri de program avrdude.
Luați în considerare toate opțiunile, în ordinea programului:
Modele microcontroler (opțiunea -p )
cablu Xilinx JTAG
Memoria de lucru (opțiunea -U : R | w | v:[: Format])
ca
- bytes calibrare RC-oscilator (unul sau mai multe) - calibrare;
- eeprom - memorie volatilă (EEPROM) a microcontrolerului;
- efuse - biții de configurare suplimentare;
- Flash - memorie flash a microcontrolerului;
- siguranțe - Fyuz-octet pentru MK cu un singur fuse octet;
- hfuse - senior fuse-byte;
- lfuse - Jr. fuse-byte;
- blocare - octeți de blocare (protecție celulară);
- semnătură - trei octeți care indică cip semnătură (dispozitiv ID);
- Fusen - byte Fyuz pentru cipuri ATxmega, N - întreg Fyuz că pentru fiecare dispozitiv sprijinit;
- aplicare - zona de aplicare în memoria flash pentru MK ATxmega;
- apptable - aplicații de masă în memoria flash pentru dispozitivele ATxmega;
- de boot - Boot zona Dispozitive de memorie flash ATxmega;
- prodsig - regiune cu semnătura de producție (calibrare) pentru ATxmega dispozitive;
- usersig - o zonă cu o semnătură personalizată pentru dispozitive ATxmega.
Mai departe, prin colon ar fi produs operațiune de memorie MK:
- r - citit de memorie zona specificată și scrie în fișierul specificat
; - w - citește datele dintr-un fișier
și se înregistrează în dispozitivul de memorie menționat; - v - pentru a citi datele din fișierul specificat
și din zona de memorie menționată (verifică, test).
În domeniul
- i - Intel HEX;
- s - Motorola S-înregistrare;
- r - binar brut (format RAW);
- e - ELF (executabilă și format legabil);
- m - valoare poate fi setată pentru octeți de înregistrare specificate în linia de comandă într-un domeniu
și sunt separate prin spații sau virgule. În mod implicit, octeții sunt scrise în zecimal, dacă specificați 0x - valorile hexazecimale vor fi înregistrate, iar în cazul în care, înainte de octet este în valoare de 0 - numărul octal vor fi înregistrate; - a - detectarea automată format (detectarea automată);
- d - format zecimal (zecimal), numere separate prin virgulă;
- h - hexazecimal (hexazecimal), numerele încep cu 0x;
- o - octal (octal), plasate înainte numerele 0;
- b - format binar (binar), 0B este plasat înaintea numerelor.
Detectarea implicită auto-format (detectarea automată).
Liniile portului paralel (-E [])
- reset - linia RESET va fi scăzută, microcontrolerul va putea reseta;
- NoReset - linia RESET merge la nivel înalt pentru a începe MC după programare;
- Vcc - instalarea de nivel înalt linie de porturi VCC. care poate fi utilizat pentru a alimenta IC;
- novcc - nivel scăzut pentru a furniza linia VCC.
Puteți utiliza mai multe valori separate prin virgulă.
Exemple de utilizare avrdude
Odată cu lansarea de opțiuni sortate, acum să vedem cum să le folosească pentru a efectua operațiunile necesare pentru a ne cu un microcontroler, folosind programul avrdude.
Efectuați ATtiny13 USBASP microcontroler ligament test de programator:
Am face citirea memoria flash a ATmega88 microcontroler nicăieri (/ dev / null), testați lizibilitatea memorie flash:
Efectuați citirea ATmega8 cip de memorie flash în format de fișier Intel HEX - /tmp/flash_dump.hex, în același timp, subliniază faptul că programarea necesară pentru a utiliza portul USB (-P USB) și de ieșire mai multe informații de depanare (-v):
Citiți conținutul EEPROM-memorie ATtiny85 microcontroler și păstrați-l în formatul de fișier RAW (/tmp/eeprom_dump.raw), folosind USBTiny programator:
Facem un record de HEX-fișier de date (/tmp/program_m8.hex) în microcontroler Flash-memorie ATmega8 folosind PG STK-500:
Facem o înregistrare a datelor în memorie flash și EEPROM cu o singură comandă, folosind ambele surse de date pentru înregistrarea și /tmp/flash_1.hex /tmp/eeprom_1.hex fișiere:
Efectuați lectură Fyuz ATmega8 de microcontroler și de a salva fișiere de date în format hexazecimal (hexazecimal, numere încep cu 0x):
Facem o intrare pentru Fyuz ATmeag32 frecvență set microcontroler de 4MHz intern RC-oscilator (Low = 0xc3, 0x99 = Ridicat):
Acum vom scrie blocarea valorilor (Lock Biți) biți pentru ATTiny13 microcontroler, conectat la USBASP programator, să stabilească valoarea octetului în 0xFC (11111100)
Aceasta este Fyuz și biți de blocare în AVR microcontroler am descris în detaliu într-un articol separat - siguranțelor și biți de blocare și cum să lucreze cu ei.
GUI pentru avrdude
Fig. 3. Despre AVR8-Burn-O-Mat.
Fig. 4. Fereastra principală AVR8-Burn-O-Mat.
Fig. 5. Fereastra de instalare Programul Fyuz AVR8-Burn-O-Mat.
Descărcați versiunea 2.1.2 aici: avr8_burn-o-mat_2_1_2.zip (1,4MB).
Intr-un articol anterior am discutat despre modul de configurare a mediului Greany pentru ușor microcontrolere AVR de programare sub Linux, unul dintre butoane (cum ar fi Build) pot fi atribuite la o comandă pentru a porni programul AVR8 Burn-O-Mat - obține o soluție foarte convenabilă pentru setarea Fyuz (biți fuse)!
concluzie
După cum puteți vedea din programul avrdude arsenal foarte puternic de caracteristici pentru lucrul cu microcontrolere AVR. Pentru versiunea consola avrdude au diferite suprastructură grafică și coajă, dar încă mai știu cum să folosească acest program în consola vă va păstra întotdeauna firmware-ul MK sub controlul deplin și ușor de produs de automatizare a tuturor acțiunilor necesare.
Nu uitați că, în timp, există noi microcontrolere de la Atmel, programatori și program de avrdude în dezvoltarea sa nu este în loc, este de dorit la verificarea timpului de timp cu documentația oficială pentru program, urmați schimbările din lumea de microcontrolere AVR.
Pentru o citire rapidă pe avrdude în documentația de Linux, puteți face referire la sistemul MAN nativ (manuale, man uals):
În următorul articol vom face cu setarea avrdude pentru a lucra cu microcontrolere pe Linux, rezolva problema restricțiilor privind drepturile rula ca un utilizator normal. Efectuam primele teste ale programării la locul de muncă și pe un microcontroler reale.