Sadržaj:

KORIŠTENJE Extreme Burnera za programiranje mikrokontrolera AVR: 8 koraka
KORIŠTENJE Extreme Burnera za programiranje mikrokontrolera AVR: 8 koraka

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

Video: KORIŠTENJE Extreme Burnera za programiranje mikrokontrolera AVR: 8 koraka
Video: Самое быстрое упражнение для похудения (один раз в день) - Eva Fitness 2024, Srpanj
Anonim
KORIŠĆENJE Ekstremnog plamenika za programiranje mikrokontrolera AVR
KORIŠĆENJE Ekstremnog plamenika za programiranje mikrokontrolera AVR

Svi vi, AVR korisnici, i oni koji tek ulaze u stream. 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 učinkovito 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 Hex datoteku pomoću Atmel Studija (još uvijek koristim AVR Studio v4.19 umjesto najnovijeg v7 jer je brži i brži na mojem laganom jednojezgrenom prijenosnom procesoru)/ Netbook i WINAVR instalirajte ako ovo čitate. Sve što je napisano u DotNetu radi sporo! a kasnije verzije osmišljene su tako da prijenosno računalo radi poput kornjače! Možete koristiti Studio v4.19 najveću verziju Studija iz ATMEL -a za AVR mikrokontrolere, prelazeći na verziju 7 kada vam je to zaista potrebno za kasnije čipove i učinite svoje vrijeme na prijenosnom računalu produktivnijim, radeći umjesto čekanja! Ovo preporučujem.

Tipična naredbena linija AVR dude za programiranje Atmege s Hex datotekom radi ovako:

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

ovdje je pwmeg1.hex Intelova hex datoteka koju treba "snimiti" ili "umetnuti" u "ciljnu MCU" u mikrokontroleru Lingo

To je zalogaj za pamćenje! Mogli biste napisati batch datoteku i pokrenuti je u naredbenom retku u prozorima, nazvavši je write_flash.bat. Slično za čitanje osigurača, još jedan zalogaj retka za pamćenje! Postaje dosadno.

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

Rješenje je upotrijebiti jedan od korisnički razumljivih GUI prednjih alata za AVRdude, poput Bitburnera, programera Khazama, koji su gotovo slični po zaslugama. eXtreme Burner. Često sam koristio besplatni alat: eXtreme Burner, njegov svestran, pouzdan, a ovo uputstvo govori upravo 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 veze 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 (neispostavljeno ili neprogramirano stanje) i '0' za označavanje programiranog ili postavljenog ili aktiviranog stanja! To je upravo suprotno od onoga što radite s FUSE bitovima u PIC mikrokontroleru. Budite oprezni kada mijenjate bitove osigurača na satu, primjerice mijenjate unutarnji RC sat u 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, kao što su 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 načinu ISP / SPI ! Ako ovo upropastite, trebat će vam visokonaponski programer da "odblokira" vaš AVR.

Ako se pitate "koji su vragovi osigurači" i "što rade"? Pročitajte ovo izvrsno pisanje:

Druga povezana tema je kako postaviti brzinu takta vašeg AVR MPU -a koja 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 osigurača sata (i frekvencija i vrsta unutarnjeg 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 iscrtati hex 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 nego što počnete s radom. (samo jednom). Pod stavkom podizbornika 'Hardware settings' (Postavke hardvera) odabiremo 375Hz jer je većina MCU-a iz tvornice ATMEL postavljena na Zadane postavke takta procesora od 1 Mhz na unutarnjem 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 s čipom, ne može li SCK" znači da se signal sata s vašeg računala nije mogao sinkronizirati s vašim čipom koji pokušavate pročitati ili program)., ne biste mogli promijeniti brzinu takta CPU -a niti promijeniti njegovu brzinu i vrstu! Dakle, povezivanje je osnova svega! Njegov je "PRVI KONTAKT" kakav vidite u Spielbergovim 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.

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

2. korak: 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 snimku zaslona, slika 1, postavili smo "ATTINY44A". Ovo je 14 -polni mikrokontroler bez UART -a. Nedavno sam koristio ovu, SSU verziju. Ako ste instalirali zalihu ekstremnih plamenika, nećete vidjeti Attiny44A na padajućem popisu za odabir 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 ovom padajućem popisu, pročitajte moj drugi instrukcijski "Hacking eXtreme Burner".

Koristio sam Atmega88PA-AU i s eXtreme Burnerom, ali u ovom Instructableu svugdje spominjemo "Attiny44A". Kako sada napraviti matičnu verziju malenog 7 mm kvadratnog SMD čipa 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 se želite 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 prijenosnog računala, pretpostavljam da ste već učitali ispravne upravljačke programe koje ste dobili s programatorom i da su ispravno otkriveni. Trebao bi se pojaviti u odjeljku 'Uređaji i pisači' u izborniku za pokretanje prozora da jest, čim se priključi na USB priključak! Spojite svoj ciljni čip na ploču sa svojim USBaspom (odgovarajući SDI // ISP pinovi pomoću 6 -polnog ili 10 -pinskog kabela moraju biti spojeni između njih, naime igle: 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š zaslon na prvom TAB -u plamenika prikazivao "FF" za ROM, nakon što je sve pročitao prikazat će se 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), zadnja kartica prikazuje FUSES.

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

Korak 4: Zapišite u Flash (vaša šesterokutna datoteka utisnuta u ROM na čipu)

Zapišite u Flash (vaša šesterokutna datoteka utisnuta u ROM na čipu)
Zapišite u Flash (vaša šesterokutna datoteka utisnuta u ROM na čipu)
Pišite na Flash (vaša šesterokutna datoteka utisnuta u ROM na čipu)
Pišite na Flash (vaša šesterokutna datoteka utisnuta u ROM na čipu)
Zapišite u Flash (vaša šesterokutna datoteka utisnuta u ROM na čipu)
Zapišite u Flash (vaša šesterokutna datoteka utisnuta u ROM na čipu)

Odaberite datoteku pomoću dijaloga Pretraživanje koji se otvara kada kliknete na prvu ikonu na gornjoj traci MENU. Odabrali smo jednu datoteku kao što vidite na slici. Nakon što odaberete hex 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 što se događa. pogledajte slike.

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

Korak provjere također se vrši čitanjem čipa, prema POSTAVKAMA koje smo učinili u prvom koraku. To se vidi u porukama da je i provjera bila uspješna.

Korak 5: OSIGURAČI: Kako ih postaviti u ekstremni plamenik

OSIGURAČI: Kako ih postaviti u ekstremni plamenik
OSIGURAČI: Kako ih postaviti u ekstremni plamenik

Kad ste izdali PROČITAJTE, 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, LIGHT FUSE BYTE, HIGH FUSE BYTE, EXTENDED FUSE BYTE, LOCK FUSE BYTE i CALIBRATION BYTE. tim redoslijedom se prikazuju.

Jednostavno možete upotrijebiti MREŽNI kalkulator osigurača i ispuniti ih poput onog na

eleccelerator.com/fusecalc/fusecalc.php?

Ili možete upotrijebiti eXtreme burner za to. izvanmrežno u bilo kojem trenutku: Odaberite s padajućeg popisa koji se pojavi kada pritisnete gumb DETALJI koji se nalazi ispod svake vrste bajta osigurača. Samo dvaput kliknite na bilo koji redak na zaslonu DETALJI i gledajte kako se mijenja iz SET u CLEARED te promijenite njegovo stanje klikom miša na svaki redak. Bajt osigurača u okviru iznad njega bi se prema tome promijenio.

Ako se pitate "koji su vragovi osigurači" i "što rade"? Pročitajte ovaj izvrstan tekst:

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 plamenika

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 pojedinostima koji se pojavljuje za svaki od bajtova osigurača (LOW, HIGH, EXTENDED, LOCK i Calibration). Kalibracijski bajt treba ostaviti nepromijenjen jer prikazuje bajt kalibracijskih podataka u AVR -u koji se odnosi na unutarnji RC oscilator. LOCK bajt je obično samo FF (o čemu se ne raspravlja na gornjim slikama) jer ne biste zaključali Flash ili EEPROM dok ste u fazi učenja. Mijenjali biste samo NISKE, VIŠE i PRODUŽENE bajtove. Budi oprezan !

Ako promijenite bit SPIEN 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 također je prikazano na ekranu za svaki bit osigurača. Ovo vas upozorava da je zadana vrijednost SPIEN uvijek 0 (programirano stanje) kako biste mogli koristiti način SPI 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 proširenim bitovima osigurača "Omogućivanje samoprogramiranja" treba biti "1" (neprogramirano) ako koristite svoj USB-ASP za programiranje vašeg ciljnog čipa (ne koristite ROM za pokretanje kao u ARDUINU).

Bitove SATA (3 u broju) možete promijeniti kako biste odabrali unutarnji RC ili vanjski kristal. Obično to ostavljam za unutarnji RC koji vam omogućuje da nabavite 2 dodatna pina koje oslobađanje vanjskog kristala podrazumijeva korištenje kao PORT igle 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 unutarnji RC.

Obično kad se odlučite za neku kombinaciju osigurača, ne biste je mijenjali. Bilo bi to jednokratno. Vi biste samo bljeskali 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 slučaju 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 okvira DETALJI koje ste koristili, možete vidjeti vrijednost bitova osigurača koju izračunava program (vidi sliku). Ostaje samo izdati "Write Fuses" pomoću izbornika. I pogledati poruke koje izvještavaju o uspješnom pisanju. Kasnije biste također mogli izdati PROČITAJ SVE iz izbornika i provjeriti podudaraju li se osigurači pročitani na zadnjoj kartici kartice plamenika s onim što ste htjeli zapisati na čip. (Provjera osigurača).

Primijetili biste da na početku ovog Instructable -a, kada smo radili READ FUSES, zaslon 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 isporučili samo 1,8 V! previše očekujete od toga! Tablica u podatkovnom listu govori vam pod kojim se naponom frekvencija nadopunjuje na kojoj brojci. Što je veća učestalost rada čipa, to više topline i energije troši. Zamislite Frekvenciju poput otkucaja srca životinje. Kolibri s velikom stopom otkucaja srca imao bi veću sagorijevanje energije u minuti u usporedbi s kitom ili slonom s mnogo nižim otkucajima srca! Ali tada može učiniti mnogo više u kraćem vremenu. MCU je upravo takav.

Korak 8: Završite

Sada ste dovršili sve korake u eXtreme burneru, pročitali ste ROM ROM -a, otvorili ste HEX datoteku i umetnuli je u čip te provjerili je li bljeskalica u redu, također ste naučili kako postaviti osigurače i spojiti ih na čip.

Ako imate pitanja, bit će mi drago odgovoriti ili izmijeniti vodič kako bi bio jasniji.

Za neke čipove možda ćete otkriti da njihov unos nedostaje na padajućem popisu za izbor čipova u izborniku. Ili se možete suočiti s pogreškama pri upisu i provjerom pogrešaka. U takvim slučajevima pročitajte moj drugi "Hacking eXtreme Burner" s uputama za rješavanje problema.

Sretno programiranje.

Preporučeni: