Kazalo:

UPORABA Ekstremnega gorilnika za programiranje mikrokontrolerja AVR: 8 korakov
UPORABA Ekstremnega gorilnika za programiranje mikrokontrolerja AVR: 8 korakov

Video: UPORABA Ekstremnega gorilnika za programiranje mikrokontrolerja AVR: 8 korakov

Video: UPORABA Ekstremnega gorilnika za programiranje mikrokontrolerja AVR: 8 korakov
Video: Čiščenje podzavestne čustvene travme z uporabo ZeroPoint tehnologije SLO SUB 2024, November
Anonim
UPORABA Ekstremnega gorilnika za programiranje mikrokontrolerja AVR
UPORABA Ekstremnega gorilnika za programiranje mikrokontrolerja AVR

Vsi vi, uporabniki AVR, in tisti, ki šele vstopate v tok. Nekateri ste začeli z mikrokrmilniki PIC, nekateri pa z ATMEL AVR, to je napisano za vas!

Torej ste kupili USBASP, ker je poceni in učinkovito utripati ROM na napravi Atmega ali morda na območju ATTINY. Te je mogoče dobiti za manj kot 5 $, kot kitajske klone odprtokodnega USB-ASP! AVRdude je programska oprema za njihovo programiranje.

Nedvomno veste, kako ustvariti šestnajstiško datoteko z uporabo Atmel Studio (še vedno uporabljam AVR Studio v4.19 namesto najnovejše različice v7, ker je na mojem lahkem enojedrnem prenosniku s procesorjem hitrejši in hitrejši)/ Netbook in WINAVR, če berete to. Vse, kar je napisano v DotNetu, teče POČASNO! novejše različice pa so zasnovane tako, da vaš prenosnik deluje kot želva! Za mikrokrmilnike AVR lahko uporabite Studio v4.19, največjo različico Studia iz ATMEL -a, pri čemer preklopite na različico 7, ko jo res potrebujete za kasnejše čipe, in naredite svoj čas na prenosnem računalniku bolj produktiven, delajte namesto čakanja! To priporočam.

Tipična ukazna vrstica AVR dude za programiranje Atmege s hex datoteko deluje tako:

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

tukaj pwmeg1.hex je šestnajstiška datoteka Intel, ki jo je treba "zapisati" ali "utripati" v "ciljno MCU" v mikrokrmilniku Lingo

To si je treba zapomniti! Lahko bi napisali paketno datoteko in jo zagnali v ukazni vrstici v operacijskem sistemu Windows in jo poimenovali write_flash.bat. Podobno za branje varovalk si zapomnite še en zajček vrstice! Postane dolgočasno.

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

Rešitev je uporaba enega od uporabniku prijaznih orodij vmesnika GUI za AVRdude, kot je Bitburner, programer Khazama, ki sta si po zaslugi skoraj podobna. eXtreme Burner. Orodje za brezplačno uporabo: eXtreme Burner sem veliko uporabljal, vsestranski, zanesljiv in o tem govori ta vadnica. Ne more samo utripati vaše šestnajstiške datoteke / programa v MPU z uporabo ukazov, izdanih AVRdude v ozadju, lahko pa vam pomaga tudi pri nastavitvi FUSES, ki je zapletena tema, ki začetnike pogosto zmede pri programiranju AVR. Tukaj je povezava do odlične vadnice na temo VARNOSTI, ki jo lahko pregledate ali razčistite. Opozorilna beseda: ATMEL uporablja stanje '1' bitja FUSE za označevanje njegovega 'privzetega' stanja (nenastavljeno ali ne programirano stanje) in '0' za označevanje programiranega ali nastavljenega ali aktiviranega stanja! To je ravno nasprotno od tistega, kar počnete z bitji FUSE v mikrokrmilniku PIC. Bodite previdni pri spreminjanju bitov varovalke ure, na primer pri menjavi notranje ure RC v zunanji kristal, ker bo to povzročilo težave pri povezovanju z čipom brez nastavitve zunanjega kristala. Podobno bodite previdni pri spreminjanju stanja kritičnih varovalk, kot sta SPIEN in RESET DISABLE (ti morajo biti vedno nastavljeni na SPIEN = 0 in RESET DISABLE = 1, če želite nadaljevati komunikacijo z MCU z vašim USB-ASP v načinu ISP / SPI ! Če to zmotite, boste potrebovali visokonapetostni programer, da "odblokira" vaš AVR.

Če se sprašujete, "kaj za vraga so varovalke" in "kaj počnejo"? Preberite ta odličen zapis:

Druga sorodna tema je, kako nastaviti taktno frekvenco vašega AVR MPU, ki je sposobna hitrosti od 1 MHz do 16 ali 20 MHz. Obstaja tudi posebna nizkofrekvenčna kristalna oblika 31,25 kHz, ki lahko, če je pravilno zasnovana, vaš AVR za 3 mesece izprazni baterije AA!

Oba bita varovalke za uro (tako frekvenco kot vrsto notranjega RC/zunanjega kristala ure in druge bite varovalk) lahko nastavite prek zavihka FUSES v eXtreme Burnerju. Najprej vam bomo pokazali branje ROM -a, nato pa še, kako z uporabo eXtreme Burnerja utripate šestnajstiško datoteko. Seveda bi lahko uporabili tudi spletna spletna mesta z varovalkami AVR, vendar možnost, ki jo pojasnjujem, lahko uporabite tudi, ko ste brez povezave, kjer koli.

1. korak: Nastavite nastavitve:

Nastavitve, ki jih je treba izvesti
Nastavitve, ki jih je treba izvesti
Nastavitve, ki jih je treba izvesti
Nastavitve, ki jih je treba izvesti
Nastavitve, ki jih je treba izvesti
Nastavitve, ki jih je treba izvesti
Nastavitve, ki jih je treba izvesti
Nastavitve, ki jih je treba izvesti

Slike prikazujejo NASTAVITVE, ki jih je treba izvesti pred začetkom dela. (samo enkrat). Pri postavki podmenija 'Hardware settings' (Nastavitve strojne opreme) izberemo 375Hz, ker je večina MCU-jev v tovarni ATMEL nastavljena na privzete nastavitve takta procesorja 1 Mhz na notranjem RC oscilatorju. Hitrost ponudnika internetnih storitev je četrtina F_cpu. To nam daje najbližjo hitrost 375 Khz, lahko bi šli tudi na nižjo hitrost, ne bo veliko razlike. Poskusite lahko vzpostaviti povezavo in pustiti privzeto nastavitev ter izdati "preberi vse", če ne uspe, lahko pridete sem in spremenite hitrost ter jo znižate.

Ker če se ne morete povezati (sporočilo bi se pojavilo v oknu programerja »ne morem komunicirati s čipom, ali SCK ne more« pomeni, da signal ure iz računalnika ni mogel sinhronizirati z vašim čipom, ki ga poskušate prebrati ali programa)., ne boste mogli spremeniti takta procesorja ali njegove hitrosti in vrste! Povezovanje je torej osnova vsega! To je kot "PRVI KONTAKT", kot ga vidite v filmih o Spielbergu. Če vam to uspe, lahko vedno povečate urno frekvenco vašega MCU -ja tako, da ustrezno programirate varovalke, kasneje pa za povezavo uporabite večjo hitrost.

Zato pojdite skozi posnetke nastavitev strojne opreme, ki so na voljo tukaj, nato pa nastavite tudi vrsto naprave (čip, ki ga poskušate programirati, številko modela).

2. korak: Nastavitev vrste naprave

Nastavitev vrste naprave
Nastavitev vrste naprave
Nastavitev vrste naprave
Nastavitev vrste naprave
Nastavitev vrste naprave
Nastavitev vrste naprave

poglejte posnetek zaslona, slika 1, nastavili smo "ATTINY44A". To je 14 -polni mikrokrmilnik brez UART. Pred kratkim uporabljam to različico SSU. Če ste namestili osnovno različico gorilnika Extreme, na spustnem seznamu za izbiro naprave ne boste videli Attiny44A, videli boste Attiny44, ki ga za vse namene lahko uporabimo tudi za programiranje programa Attiny44A za predstavitev katere koli naprave, ki ni na tem spustnem seznamu., preberite mojo drugo navodilo "Hacking eXtreme Burner".

Tudi jaz sem uporabljal Atmega88PA-AU z eXtreme Burnerjem, vendar v tem navodilu povsod omenjamo "Attiny44A". Kako zdaj naredite različico majhnega 7 mm kvadratnega SMD čipa in ga preizkusite s svojimi programi? (glejte slike, ki označujejo velikost čipa). Za to si oglejte moja druga navodila, v katerih sem pokazal, kako narediti vtične module, ki ustrezajo Breadboard, z uporabo Attiny44A-SSU in ATmega88PA-AU

Ko se naučite te tehnike, boste lahko preverili kateri koli čip, s katerim se želite poigrati, pa naj gre za paket SMD ali DIL. Na primer, na podoben način sem celo uporabil čip SMD, ki prihaja v 32-polnem 0,8-milimetrskem paketu Quad (Atmega88A)!

. Ali pa preprosto uporabite 28 -palčno DIL različico Attiny44A za ta Instructable ali kateri koli AVR, ki ga trenutno uporabljate, da preizkusite eXtreme Burner za programiranje AVR.

3. korak: Izdajte READ ALL ali READ FLASH

Izdajte READ ALL ali READ FLASH
Izdajte READ ALL ali READ FLASH
Izdajte READ ALL ali READ FLASH
Izdajte READ ALL ali READ FLASH

Priključite svoj USBasp na vrata USB prenosnika, predvidevam, da ste že naložili pravilne gonilnike, ki ste jih dobili s programerjem, in da so bili pravilno zaznani. Če bi bil, bi se moral prikazati v meniju »Naprave in tiskalniki« takoj, ko je priključen na vrata USB! Priključite ciljni čip na njegovo ploščo s svojim USBaspom (ustrezne zatiče SDI // ISP s 6 -polnim ali 10 -polnim kablom morate povezati med obema, in sicer na nožice: MOSI, RESET, MISO, SCK, Vcc, Ground).

Izdajte PREBERI VSE iz menija Xtreme Burner. Oglejte si slike in sporočila, ki smo jih dobili. Sprva je vaš zaslon v prvem zavihku gorilnika prikazal "FF" za ROM, po branju bo prikazal dejansko vsebino ROM -a na čipu. Če ste uporabili tovarniško svež čip ali izbrisani čip, bi po "Preberi vse" v vsebini videl FF. Neprogramiran čip bo v svojem pomnilniku prikazal "FF", tako tudi EEPROM (drugi zavihek v programerju), zadnji zavihek prikazuje FUSES.

Po PREBERI VSE bodo na treh zavihkih prikazane pravilne informacije, ki jih vsebuje čip. Pred tem ne bi bilo tako, zato najprej izdajte Preberi vse takoj, ko vse povežeš.

4. korak: Pišite v Flash (vaša šestnajsta datoteka se utripa v ROM na čipu)

Pišite v Flash (vaša šesterokotna datoteka se utripa v ROM na čipu)
Pišite v Flash (vaša šesterokotna datoteka se utripa v ROM na čipu)
Pišite v Flash (vaša šesterokotna datoteka utripa v ROM na čipu)
Pišite v Flash (vaša šesterokotna datoteka utripa v ROM na čipu)
Pišite v Flash (vaša šesterokotna datoteka utripa v ROM na čipu)
Pišite v Flash (vaša šesterokotna datoteka utripa v ROM na čipu)

V pogovornem oknu Prebrskaj izberite datoteko, ki se odpre, ko kliknete prvo ikono v zgornji vrstici MENU. Izbrali smo eno datoteko, kot vidite na sliki. Ko izberete šestnajstiško datoteko (format Intel hex), se je menijska vrstica, ki je kazala "ni naložene datoteke", spremenila v ime datoteke, ki ste jo naložili.

Zdaj v meniju programske opreme izdajte napis Flash. Sporočila vam bodo pokazala, kaj se dogaja. poglej slike.

Po uspešnem pisanju boste videli "FF", ki označuje novo ali izbrisano ROM spremembo v vsebino programa ali šestnajstiške datoteke. Velikost ali število bajtov, ki jih vaša datoteka zasede v ROM -u, vam je znano tudi, če pogledate ta zaslon, ki prikazuje dejansko vsebino ROM -a vašega ciljnega čipa, ki ste ga pravkar utripali.

Korak preverjanja se izvede tudi z branjem čipa, v skladu z NASTAVITVAMI, ki smo jih naredili v prvem koraku. To je razvidno iz sporočil, da je bilo preverjanje tudi uspešno.

5. korak: VAROVALCI: Kako jih nastaviti v ekstremnem gorilniku

VAROVALCI: Kako jih nastaviti v ekstremnem gorilniku
VAROVALCI: Kako jih nastaviti v ekstremnem gorilniku

Ko ste izdali READ, so bile vse varovalke odčitane iz čipa. To je prva prikazana slika fuses.jpg.

Zdaj jih boste morda morali spremeniti v kaj drugega. Varovalke so sestavljene iz 4 škatel v zadnjem zavihku na zaslonu vašega eXtreme Burnerja. NAMENJALNI BAJT ZAVRZNEGA BAJTA, BAJT VISOKEGA ZAVARILNIKA, BAJT ZAPIŠENEGA ZAVORNIKA, BAJT ZAPORNEGA ZAVARILNIKA IN BAJT KALIBRACIJE. v tem vrstnem redu so prikazane.

Lahko preprosto uporabite MREŽNI kalkulator varovalk in jih izpolnite

eleccelerator.com/fusecalc/fusecalc.php?

Ali pa za to uporabite gorilnik eXtreme. brez povezave kadar koli: Izberite s spustnega seznama, ki se prikaže, ko kliknete gumb PODROBNOSTI, ki je pod vsako vrsto bajta varovalke. Dvokliknite katero koli vrstico na zaslonu PODROBNOSTI in opazujte, kako se spremeni iz NASTAVLJENO v POČISTENO, in preklopite njeno stanje s klikom miške na vsako vrstico. Bajt varovalke v polju nad njim bi se ustrezno spremenil.

Če se sprašujete, "kaj za vraga so varovalke" in "kaj počnejo"? Preberite ta odličen zapis:

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

Korak 6: Nastavitev varovalk z uporabo kalkulatorja varovalk ekstremnega gorilnika

Nastavitev varovalk z uporabo kalkulatorja varovalk ekstremnega gorilnika
Nastavitev varovalk z uporabo kalkulatorja varovalk ekstremnega gorilnika
Nastavitev varovalk z uporabo kalkulatorja varovalk ekstremnega gorilnika
Nastavitev varovalk z uporabo kalkulatorja varovalk ekstremnega gorilnika
Nastavitev varovalk s kalkulatorjem varovalk EXTREME Burner
Nastavitev varovalk s kalkulatorjem varovalk EXTREME Burner

Ogledate si lahko zaslon Podrobnosti, ki se prikaže za vsakega od bajtov varovalk (LOW, HIGH, EXTENDED, LOCK in Calibration). Kalibracijski bajt naj ostane nespremenjen, saj prikazuje bajt kalibracijskih podatkov v AVR, ki velja za notranji RC oscilator. Bajt LOCK je ponavadi samo FF (ni obravnavano na zgornjih slikah), saj med učenjem ne bi zaklenili bliskavice ali EEPROM -a. Spremenili bi le nizke, visoke in razširjene bajte. Bodi previden !

Če spremenite bit SPIEN na 1 (neprogramirano stanje je 1 v mikrokontrolerjih AVR), ne boste mogli komunicirati s svojim čipom prek USBASP ali katerega koli programatorja! Privzeto stanje je prikazano tudi na zaslonu za vsak bit varovalke. To vas opozori, da je privzeta vrednost SPIEN vedno 0 (programirano stanje), ki vam omogoča uporabo načina SPI za programiranje ponudnika internetnih storitev. Debug-wire ali DW bit ostane vedno 1 (ne programirano), ko je SPIEN nastavljeno na 0. To je tudi njegovo privzeto stanje. Tudi v bitih razširjenih varovalk mora biti možnost „Self Programming Enable“omogočena „1“(ne programirano), če uporabljate svoj USB-ASP za programiranje ciljnega čipa (ne uporabljate zagonskega nalagalnika ROM, kot je v ARDUINO).

Bite URE (3 v številki) lahko spremenite, da izberete notranji RC ali zunanji kristal. Običajno ga pustim za notranji RC, ki vam omogoča, da dobite 2 dodatna zatiča, ki ju sprostitev zunanjega kristala pomeni uporaba kot PORT zatiči za vaše projekte AVR. Običajno je zunanji kristal potreben, ko v svojem projektu potrebujete časovno natančnost. Za učence zadostuje notranji RC.

Običajno, ko se odločite za neko kombinacijo varovalk, je ne boste spremenili. To bi bilo enkrat. Bi samo utripali ROM ali včasih tudi EEPROM. Za utripanje EEPROM -a ločeno datoteko.eep ustvari vaš studio WINAVR / ATMEL, če vaš program sploh uporablja EEPROM za shranjevanje podatkov. V nasprotnem primeru EEPROM ostane neuporabljen, napolnjen s podatki 'FF', ki prikazuje 'NO DATA state' EEPROM.

7. korak: Končna vrednost nastavkov za varovalke

Končna vrednost nastavkov za varovalke
Končna vrednost nastavkov za varovalke

Ko nastavite vse bite varovalk in zaprete polja PODROBNOSTI, ki ste jih uporabili, si lahko ogledate vrednost bitov varovalk, ki jo izračuna program (glej sliko). Ostaja le, da z uporabo menija izdate "Write Fuses". In poglejte sporočila, ki poročajo o uspešnem pisanju. Kasneje lahko v meniju izdate tudi PREBERI VSE in preverite, ali varovalke, prebrane v zadnjem zavihku zaslona gorilnika, sovpadajo s tistim, kar ste želeli zapisati v čip. (Preverjanje varovalk).

Opazili bi, da na začetku tega navodila, ko smo delali READ FUSES, zaslon prikazuje iste vrednosti FUSE, ki jih vidimo tukaj! To je zato, ker so to varovalke, ki jih pogosto uporabljam in jih le redko zamenjam, ko jih nastavim v MCU, razen če pri nekaterih projektih spremenim frekvenco z 1 Mhz na 4 MHz. AVR lahko nastavite na največ 20Mhz (nekateri čipi samo do 16Mhz). Frekvenca, ki jo nastavite za F_cpu, je odvisna tudi od napetosti, s katero napajate čip! Na primer, če vaš čip deluje od 1,8 V Vcc do 5,5 V Vcc (glejte podatkovni list), ne bi pričakovali, da bo vaš čip deloval pri 20 mhz, če bi mu dobavili le 1,8 V! preveč pričakuješ od tega! Tabela v podatkovnem listu vam pove, pri kateri napetosti se frekvenca pri kateri vrednosti izklopi. Višja kot je frekvenca delovanja čipa, več toplote in več energije porabi. Pomislite na frekvenco kot na srčni utrip živali. Kolibri z visoko stopnjo srčnega utripa bi imel večjo porabo energije na minuto v primerjavi s kitom ali slonom z veliko nižjim srčnim utripom! Potem pa lahko v krajšem času naredi veliko več. MCU je pač tak.

8. korak: Dokončaj

Zdaj ste zaključili vse korake v gorilniku eXtreme, prebrali ste ROM čipa, odprli datoteko HEX in jo prenesli na čip ter preverili, ali je bliskavica v redu, naučili ste se tudi, kako nastaviti varovalke in jih utripati na čip.

Če imate kakršna koli vprašanja, vam bom z veseljem odgovoril ali spremenil vadnico, da bo jasnejša.

Za nekatere žetone lahko na spustnem seznamu za izbor čipov v meniju ugotovite, da vnos manjka. Lahko pa se soočite z napakami pri pisanju in preverjanjem napak. V takih primerih prosim preberite moj drugi "Hacking eXtreme Burner", ki ga lahko naročite, da rešite težavo.

Veselo programiranje.

Priporočena: