Sadržaj:

KORIŠĆENJE Extreme Burnera za programiranje AVR mikrokontrolera: 8 koraka
KORIŠĆENJE Extreme Burnera za programiranje AVR mikrokontrolera: 8 koraka

Video: KORIŠĆENJE Extreme Burnera za programiranje AVR mikrokontrolera: 8 koraka

Video: KORIŠĆENJE Extreme Burnera za programiranje AVR mikrokontrolera: 8 koraka
Video: Program arduino with Atmel Studio7. Use Khazama burner or extreme burner to upload HEX file. 2024, Juli
Anonim
KORIŠĆENJE Extreme Burnera za programiranje mikrokontrolera AVR
KORIŠĆENJE Extreme Burnera za programiranje mikrokontrolera AVR

Svi vi, korisničko bratstvo AVR -a, i oni koji tek ulaze u tok. Neki od vas su započeli s PIC mikrokontrolerima, a neki s ATMEL AVR -ovima, ovo je napisano za vas!

Dakle, kupili ste USBASP jer je jeftino i efikasno bljesak ROM -a na vašem Atmega uređaju ili možda ATTINY asortiman. Oni se mogu nabaviti za manje od 5 USD, kao kineski klonovi otvorenog koda USB-ASP! AVRdude je softver za njihovo programiranje.

Nesumnjivo znate kako generirati heksadecimalnu datoteku koristeći Atmel Studio (i dalje koristim AVR Studio v4.19 umjesto najnovijeg v7 jer je brži i brži na mom lakom jednojedrnom CPU prijenosnom računaru)/ Netbook i WINAVR instalirajte ako ovo čitate. Sve što je napisano u DotNetu radi sporo! a kasnije verzije su osmišljene tako da vaš laptop radi kao kornjača! Možete koristiti Studio v4.19, najveću verziju Studija iz ATMEL -a za AVR mikrokontrolere, prelazeći na verziju 7 kada vam je zaista potrebna za kasnije čipove, i učinite svoje vrijeme na laptopu produktivnijim, radeći umjesto čekanja! Ovo preporučujem.

Tipična AVR komandna linija za programiranje Atmege sa hex datotekom radi ovako:

NAPIŠITE U FLASH: AVRdude -s -c avrisp -p t44 -P usb -U "blic: w: D: / ARDUINO / pwmeg1.hex: a"

ovdje pwmeg1.hex je Intel -ova heksadecimalna datoteka koju treba "narezati" ili "umetnuti" u "ciljnu MCU" u mikrokontroleru Lingo

To je zalogaj za pamćenje! Mogli biste napisati batch datoteku i pokrenuti je u komandnoj liniji u prozoru, dajući joj ime write_flash.bat. Slično za čitanje osigurača, još jedan zalogaj redaka za pamćenje! Postaje dosadno.

za flash flash za čitanje + eeprom: AVRdude -s -c avrisp -p t44 -P usb -U "blic: r: D: / ARDUINO / pwmeg1.hex: i" -U "eeprom: r:: i"

Rješenje je korištenje jednog od user-friendly GUI front-end alata za AVRdude, poput Bitburnera, Khazama programera, koji su gotovo slični po zaslugama. eXtreme Burner. Koristio sam besplatni alat: eXtreme Burner mnogo, svestran je i pouzdan, a ovo uputstvo govori o tome. Ne samo da može prenijeti vašu heksadecimalnu datoteku / program u MPU, koristeći naredbe izdane AVRdude -u u pozadini, već vam može pomoći i u postavljanju FUSES -a, što je komplicirana tema koja početnike često zbunjuje u programiranju AVR -a. Evo linka do izvrsnog vodiča na temu OSIGURAČA kroz koji možete proći ili ga dočetkati. Upozorenje: ATMEL koristi stanje '1' bita FUSE za označavanje njegovog 'zadanog' stanja (nepodešeno ili neprogramirano stanje) i '0' za označavanje programiranog ili postavljenog ili aktiviranog stanja! Ovo je upravo suprotno od onoga što radite sa FUSE bitovima u PIC mikrokontroleru. Budite oprezni kada mijenjate bitove osigurača na satu, primjerice mijenjanje internog RC sata na vanjski kristal jer će to stvoriti probleme pri povezivanju s čipom bez postavljanja vanjskog kristala. Slično, budite oprezni pri promjeni stanja kritičnih bitova osigurača poput SPIEN i RESET DISABLE (oni uvijek trebaju biti postavljeni na SPIEN = 0 i RESET DISABLE = 1 ako želite nastaviti komunikaciju s MCU-om sa svojim USB-ASP-om u ISP / SPI načinu rada ! Ako ovo upropastite, trebat će vam visokonaponski programer da 'odblokira' vaš AVR.

Ako se pitate "šta su dovraga osigurači" i "šta rade"? Pročitajte ovo odlično pisanje:

Još jedna povezana tema je kako postaviti brzinu takta vašeg AVR MPU -a koji može raditi na brzinama od 1 MHz do 16 ili 20 MHz. Postoji i posebna kristalna opcija niske frekvencije 31,25 kHz koja, ako je pravilno dizajnirana, može učiniti da vaš AVR troši AA baterije 3 mjeseca!

Oba ova bita sa osiguračima sata (i frekvencija i vrsta unutrašnjeg RC/vanjskog kristala takta, i drugi bitovi osigurača) mogu se postaviti putem kartice FUSES u eXtreme Burneru. Prvo ćemo vam pokazati čitanje ROM -a, a zatim kako fleksirati heksadecimalnu datoteku pomoću eXtreme Burnera. Naravno, mogli biste koristiti i internetske web stranice s osiguračima AVR, ali opcija koju objašnjavam može se koristiti i kad ste izvan mreže, bilo gdje.

Korak 1: Postavke koje treba izvršiti:

Postavke koje treba izvršiti
Postavke koje treba izvršiti
Postavke koje treba izvršiti
Postavke koje treba izvršiti
Postavke koje treba izvršiti
Postavke koje treba izvršiti
Postavke koje treba izvršiti
Postavke koje treba izvršiti

Slike prikazuju POSTAVKE koje treba obaviti prije početka rada. (samo jednom). Pod stavkom podmenija 'Hardverske postavke' odabiremo 375Hz jer je većina MCU-a iz tvornice ATMEL postavljena na Zadane postavke takta procesora od 1 Mhz na internom RC oscilatoru. Brzina ISP -a je četvrtina F_cpu -a. To nam daje najbližu brzinu od 375 Khz, mogli biste ići i na nižu brzinu, neće imati velike razlike. Možete pokušati povezati ostavljajući ovo prema zadanim postavkama i izdati 'pročitaj sve', ako ne uspije, mogli biste doći ovamo i promijeniti brzinu, pa je smanjiti.

Jer ako se ne možete povezati (poruka će se prikazati u prozoru programera "ne može komunicirati sa čipom, ne može SCK" znači da signal sata sa vašeg računara nije mogao da se sinhronizuje sa vašim čipom koji pokušavate da pročitate ili program)., ne biste mogli promijeniti brzinu takta CPU -a ili promijeniti njegovu brzinu i vrstu! Dakle, povezivanje je osnova svega! To je kao "PRVI KONTAKT" kakav vidite u Spielberg filmovima. Ako u tome uspijete, uvijek možete povećati brzinu takta vašeg MCU -a programiranjem osigurača u skladu s tim, a kasnije za povezivanje koristiti veću brzinu.

Zato prođite kroz snimke hardverskih postavki koje su ovdje navedene, a zatim postavite i vrstu uređaja (čip koji pokušavate programirati, broj modela).

Korak 2: Postavljanje vrste uređaja

Postavljanje vrste uređaja
Postavljanje vrste uređaja
Postavljanje vrste uređaja
Postavljanje vrste uređaja
Postavljanje vrste uređaja
Postavljanje vrste uređaja

pogledajte snimak ekrana, slika 1, postavili smo "ATTINY44A". Ovo je 14 -polni mikrokontroler bez UART -a. Nedavno sam koristio ovu, SSU verziju. Ako ste instalirali zalihu Extreme burner -a, nećete vidjeti Attiny44A na padajućoj listi za izbor uređaja, vidjet ćete Attiny44 koji za sve svrhe možemo koristiti i za programiranje Attiny44A, za predstavljanje bilo kojeg uređaja koji nije naveden na ovoj padajućoj listi, pročitajte moj drugi instruktivni "Hacking eXtreme Burner".

Koristio sam Atmega88PA-AU i sa eXtreme Burnerom, ali u ovom Instructable-u svuda spominjemo "Attiny44A". Kako sada napraviti matičnu verziju sićušnog SMD čipa promjera 7 mm i testirati je sa svojim programima? (pogledajte slike koje prikazuju veličinu čipa). Za ovo pogledajte moje druge upute gdje pokazujem kako napraviti utičnicu za Breadboard prikladne module pomoću Attiny44A-SSU i ATmega88PA-AU

Nakon što naučite ovu tehniku, moći ćete provjeriti bilo koji čip s kojim biste se željeli pozabaviti, bilo da je u pitanju SMD ili DIL paket. Na primjer, čak sam koristio i SMD čip koji dolazi u 32-pinskom Quad paketu s 0,8 mm pin-om (Atmega88A) na sličan način!

. Ili možete jednostavno upotrijebiti 28 -pin DIL verziju Attiny44A za ovaj Instructable ili bilo koji AVR koji trenutno koristite da isprobate eXtreme Burner za programiranje AVR -a.

Korak 3: Izdajte READ ALL ili READ FLASH

Izdajte READ ALL ili READ FLASH
Izdajte READ ALL ili READ FLASH
Izdajte READ ALL ili READ FLASH
Izdajte READ ALL ili READ FLASH

Spojite svoj USBasp na USB priključak vašeg prijenosnog računara, pretpostavljam da ste već učitali ispravne upravljačke programe koje ste dobili s programatorom i da su ispravno otkriveni. Trebao bi se pojaviti pod 'Uređaji i pisači' u izborniku za pokretanje prozora da jeste, čim se priključi na USB priključak! Spojite svoj ciljni čip na ploču sa svojim USBaspom (relevantni SDI // ISP pinovi pomoću 6 -pinskog ili 10 -pinskog kabla moraju biti povezani između ta dva, naime pinovi: MOSI, RESET, MISO, SCK, Vcc, Ground).

Izdajte PROČITAJTE SVE iz IZBORNIKA Xtreme Burnera. Pogledajte slike i poruke koje smo dobili. U početku je vaš ekran prikazivao 'FF' za ROM u prvom TAB -u plamenika, nakon čitanja će pokazati stvarni sadržaj ROM -a na čipu. Ako ste koristili tvornički svježi čip ili izbrisani čip, vidjeli biste FF u sadržaju nakon "Pročitaj sve". Neprogramirani čip prikazat će 'FF' u svojoj memoriji, kao i EEPROM (druga kartica u programatoru), posljednja kartica prikazuje FUSES.

Nakon PROČITANJA SVE 3 kartice pokazale bi ispravne informacije sadržane u čipu. Prije toga ne bi bilo tako, pa prvo izdajte Pročitaj sve čim sve povežete.

Korak 4: Pišite na Flash (vaša heksadecimalna datoteka je umetnuta u ROM na čipu)

Pišite na Flash (vaša heksadecimalna datoteka je umetnuta u ROM na čipu)
Pišite na Flash (vaša heksadecimalna datoteka je umetnuta u ROM na čipu)
Pišite na Flash (vaša heksadecimalna datoteka je umetnuta u ROM na čipu)
Pišite na Flash (vaša heksadecimalna datoteka je umetnuta u ROM na čipu)
Pišite na Flash (vaša heksadecimalna datoteka je umetnuta u ROM na čipu)
Pišite na Flash (vaša heksadecimalna datoteka je umetnuta u ROM na čipu)

Odaberite datoteku pomoću dijaloga Pretraživanje koji se otvara kada kliknete na prvu ikonu u gornjoj traci MENU. Odabrali smo jednu datoteku kao što vidite na slici. Nakon što odaberete heksadecimalnu datoteku (intel hex format), traka izbornika na kojoj je prikazano "nema učitane datoteke" promijenila se u naziv datoteke koju ste učitali.

Sada izdajte Write Flash iz izbornika softvera. Poruke će vam pokazati šta se dešava. pogledajte slike.

Nakon uspješnog pisanja, vidjet ćete 'FF' koji označava promjenu svježeg ili izbrisanog ROM -a u ono što sadrži vaš program ili heksadecimalna datoteka. Veličina ili broj bajtova koje vaša datoteka zauzima u ROM -u vam je poznata i ako pogledate ovaj ekran, koji vam prikazuje stvarni ROM sadržaj vašeg ciljnog čipa koji ste upravo prebacili.

Korak verifikacije se takođe vrši čitanjem čipa, prema POSTAVKAMA koje smo uradili u prvom koraku. To se vidi iz poruka da je i provjera bila uspješna.

Korak 5: OSIGURAČI: Kako ih postaviti u EXtreme Burner

OSIGURAČI: Kako ih postaviti u Extreme Burner
OSIGURAČI: Kako ih postaviti u Extreme Burner

Kada ste izdali READ, svi osigurači su očitani iz čipa. To je PRVA prikazana slika fuses.jpg.

Sada ih možda trebate promijeniti na nešto drugo. Osigurači se sastoje od 4 kutije u zadnjoj kartici na ekranu vašeg eXtreme Burnera. Naime, NISKI FUZITNI BAJT, BAJT VIŠI FUSE, BAJT PRODUŽENI FUSE, BAJT LOCK FUSE BAY i KALIBRACIJSKI BYTE. tim redoslijedom su prikazane.

Možete jednostavno koristiti ONLINE kalkulator osigurača i ispuniti ih poput onog na

eleccelerator.com/fusecalc/fusecalc.php?

Ili možete upotrijebiti eXtreme burner za to. van mreže bilo kada: Odaberite sa padajuće liste koja se pojavi kada kliknete na dugme DETALJI koje se nalazi ispod svake vrste bajta osigurača. Samo dvaput kliknite na bilo koju liniju na ekranu DETALJI i gledajte kako se mijenja iz SET u CLEARED i promijenite njeno stanje klikom miša na svaku liniju. Bajt osigurača u okviru iznad njega će se shodno tome promijeniti.

Ako se pitate "šta su dovraga osigurači" i "šta rade"? Pročitajte ovo odlično pisanje:

www.instructables.com/id/Avr-fuse-basics-Running-an-avr-with-an-external-cl/

Korak 6: Postavljanje osigurača pomoću kalkulatora osigurača ekstremnog gorionika

Postavljanje osigurača pomoću kalkulatora osigurača EXTREME Burner
Postavljanje osigurača pomoću kalkulatora osigurača EXTREME Burner
Postavljanje osigurača pomoću kalkulatora osigurača EXTREME Burner
Postavljanje osigurača pomoću kalkulatora osigurača EXTREME Burner
Postavljanje osigurača pomoću kalkulatora osigurača EXTREME Burner
Postavljanje osigurača pomoću kalkulatora osigurača EXTREME Burner

Možete vidjeti zaslon s detaljima koji se pojavljuje za svaki od bajtova osigurača (LOW, HIGH, EXTENDED, LOCK i Calibration). Bajt za kalibraciju treba ostaviti nepromijenjen jer prikazuje bajt podataka o kalibraciji u AVR -u koji se odnosi na unutrašnji RC oscilator. LOCK bajt je obično samo FF (o čemu se ne raspravlja na gornjim slikama) jer ne biste zaključavali Flash ili EEPROM dok ste u fazi učenja. Mijenjali biste samo LOW, HIGH i EXTENDED bajtove. Budi pazljiv !

Ako promijenite SPIEN bit na 1 (neprogramirano stanje je 1 u AVR mikrokontrolerima), nećete moći komunicirati sa svojim čipom pomoću USBASP -a ili bilo kojeg programatora! Zadano stanje je također prikazano na ekranu za svaki bit osigurača. Ovo vas upozorava da je SPIEN zadana vrijednost uvijek 0 (programirano stanje) kako biste mogli koristiti SPI način rada za programiranje ISP -a. Debug-wire ili DW bit uvijek ostaje 1 (ne programirano) kada je SPIEN postavljeno na 0. Ovo je također njegovo zadano stanje. Također, u bitovima proširenih osigurača "Omogućivanje samoprogramiranja" treba biti "1" (neprogramirano) ako koristite USB-ASP za programiranje vašeg ciljnog čipa (ne koristite ROM za pokretanje kao u ARDUINO-u).

Možete promijeniti bitove SATA (3 u broju) kako biste odabrali unutarnji RC ili vanjski kristal. Obično to ostavljam za interni RC koji vam omogućuje da nabavite 2 dodatna pina koje oslobađanje vanjskog kristala podrazumijeva upotrebu kao PORT pinove za vaše AVR projekte. Obično je vanjski kristal potreban kada trebate visoko precizno određivanje vremena u svom projektu. Za učenike je dovoljan interni RC.

Obično kada se odlučite za neku kombinaciju osigurača, ne biste je mijenjali. To bi bilo jednokratno. Vi biste samo trepnuli ROM ili ponekad i EEPROM. Za bljeskanje EEPROM -a zasebna.eep datoteka generira vaš WINAVR / ATMEL studio ako vaš program uopće koristi EEPROM za pohranu podataka. U suprotnom, EEPROM ostaje neiskorišten, ispunjen podacima 'FF' koji pokazuju 'Nema podataka' u stanju EEPROM -a.

Korak 7: Konačna vrijednost bitova osigurača

Konačna vrijednost bitova osigurača
Konačna vrijednost bitova osigurača

Nakon postavljanja svih bitova osigurača i zatvaranja kutija DETALJI koje ste koristili, možete vidjeti vrijednost bitova osigurača koju izračunava program (vidi sliku). Ostaje samo izdati "Write Fuses" koristeći izbornik. I pogledati poruke koje izvještavaju o uspješnom pisanju. Kasnije možete i da pročitate PROČITAJ SVE iz menija i proverite da li se osigurači očitani u poslednjoj kartici na ekranu gorionika poklapaju sa onim što ste hteli da upišete u čip. (Provjera osigurača).

Primijetili biste da na početku ovog Instructable -a, kada smo radili READ FUSES, ekran prikazuje iste vrijednosti FUSE koje vidimo ovdje! To je zato što su to osigurači koje često koristim i rijetko ih mijenjam kad ih postavim u MCU, osim ako za neke projekte promijenim frekvenciju s 1 Mhz na 4 Mhz. AVR se može postaviti na maksimalno 20 Mhz (neki čipovi samo do 16 MHz). Učestalost koju postavite za F_cpu također ovisi o naponu kojim napajate čip! Na primjer, ako vaš čip radi od 1,8 V Vcc do 5,5 V Vcc (pogledajte tehnički list), ne biste očekivali da će vaš čip raditi na 20 mhz ako ste mu napajali samo 1,8 V! previše očekujete od toga! Tablica u podatkovnom listu govori vam na kojem se naponu frekvencija nadopunjuje na kojoj brojci. Što je veća učestalost rada čipa, to više topline i energije troši. Zamislite Frekvenciju kao otkucaj srca životinje. Kolibri sa visokom stopom otkucaja srca imao bi veće sagorijevanje energije u minuti u odnosu na kita ili slona sa znatno nižim otkucajima srca! Ali tada može učiniti mnogo više za kraće vrijeme. MCU je upravo takav.

Korak 8: Završite

Sada ste dovršili sve korake u eXtreme burneru, pročitali ste ROM čipa, otvorili ste HEX datoteku i umetnuli je u čip i provjerili je li bljesak u redu, naučili ste i kako postaviti osigurače i spojiti ih na čip.

Ako imate pitanja, rado ću odgovoriti ili izmijeniti vodič kako bi bio jasniji.

Za neke čipove možda ćete otkriti da njihov unos nedostaje na padajućoj listi za izbor čipova u meniju. Ili se možete suočiti s greškama pri pisanju i provjerom grešaka. U takvim slučajevima, molimo vas da pročitate moj drugi instrukcijski "Hacking eXtreme Burner" kako biste riješili problem.

Sretno programiranje.

Preporučuje se: