Sisukord:

EXTreme Burneri kasutamine AVR -i mikrokontrollerite programmeerimiseks: 8 sammu
EXTreme Burneri kasutamine AVR -i mikrokontrollerite programmeerimiseks: 8 sammu

Video: EXTreme Burneri kasutamine AVR -i mikrokontrollerite programmeerimiseks: 8 sammu

Video: EXTreme Burneri kasutamine AVR -i mikrokontrollerite programmeerimiseks: 8 sammu
Video: [Сильный снегопад] Отдыхал в одиночестве на маленькой машине. Машина была полностью засыпана снегом. 2024, Juuli
Anonim
EXTreme Burneri kasutamine AVR -i mikrokontrollerite programmeerimiseks
EXTreme Burneri kasutamine AVR -i mikrokontrollerite programmeerimiseks

Kõik teie AVR -i kasutajaskond ja need, kes alles voogu sisenevad, mõned teist alustasid PIC -mikrokontrolleritega ja mõned alustasid ATMEL -i AVR -idega, see on teie jaoks kirjutatud!

Nii et ostsite USBASP -i, kuna see on odav ja tõhus Atmega seadme ROM -i või äkki ATTINY -seadme välklamp. Neid saab alla 5 dollari eest avatud lähtekoodiga USB-ASP Hiina kloonidena! AVRdude on tarkvara nende programmeerimiseks.

Kahtlemata teate, kuidas Atmel Studio abil Hex -faili genereerida (kasutan endiselt uusima versiooni 7 asemel AVR Studio v4.19, sest see on minu kerge ühetuumalise sülearvuti kiirem ja kiirem)/ Netbook ja WINAVR installitakse, kui loete seda. Kõik, mis on kirjutatud DotNetis, töötab AEGLASELT! ja hilisemad versioonid on loodud nii, et teie sülearvuti töötaks nagu kilpkonn! Saate kasutada Studio v4.19 ATMELi suurimat versiooni AVR -i mikrokontrollerite jaoks, lülitades üle versioonile 7, kui seda hilisemate kiipide jaoks tõesti vajate, ja muutke oma sülearvutil veedetud aeg produktiivsemaks, töötades ootamise asemel! Seda soovitan.

Tüüpiline AVR -i käsurea Atmega programmeerimiseks Hex -failiga töötab järgmiselt:

Kirjutage välklambile: AVRdude -s -c avrisp -p t44 -P usb -U "flash: w: D: / ARDUINO / pwmeg1.hex: a"

siin pwmeg1.hex on Inteli hex -fail, mis tuleb "põletada" või "välgutada" mikrokontrolleri Lingo "siht -MCU -sse"

See on suutäis meeles! Võite kirjutada partiifaili ja käivitada selle Windowsi käsureal, nimetades selle kirjutamiseks_flash.bat. Sarnaselt kaitsmete lugemiseks veel üks suutäis rida meenutamiseks! See muutub tüütuks.

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

Lahenduseks on kasutada AVRdude'is ühte kasutajasõbralikku GUI kasutajaliidese tööriista, nagu Bitburner, Khazama programmeerija, mis on oma sisult peaaegu sarnased. eXtreme Burner. Olen kasutanud tasuta kasutatavat tööriista: eXtreme Burner palju, selle mitmekülgne, usaldusväärne ja see õpetus on sellest. See ei saa mitte ainult teie hex -faili / programmi MPU -le välgutada, kasutades taustal AVRdude'ile antud käske, vaid võib aidata teil määrata ka SULGIKUD, mis on keeruline teema, mis sageli segab algajaid AVR -i programmeerimisel. Siin on link suurepärasele õpetusele sulavkaitseteemal, mille saate läbi vaadata või täiendada. Ettevaatust: ATMEL kasutab FUSE -bitti olekut 1, et näidata selle vaikeolekut (seadistamata või programmeerimata olek), ja 0, et näidata selle programmeeritud või seadistatud või aktiveeritud olekut! See on täpselt vastupidine sellele, mida teete PIC -mikrokontrolleri FUSE -bittidega. Olge ettevaatlik, kui muudate kella kaitsmebitte, nagu näiteks sisemise RC-kella muutmine väliseks kristalliks, sest see tekitab probleeme kiibiga ühenduse loomisel ilma välise kristalli seadistuseta. Samuti olge ettevaatlik, kui muudate kriitiliste kaitsmebittide olekut nagu SPIEN ja RESET DISABLE (kui soovite jätkata suhtlemist MCU-ga USB-ASP-ga ISP / SPI-režiimis, tuleb need alati seada väärtustele SPIEN = 0 ja RESET DISABLE = 1 ! Kui te selle üles tõstate, vajate AVR -i lahtiühendamiseks kõrgepinge programmeerijat.

Kui teil on küsimus "mis kuradi kaitsmed on" ja "mida nad teevad"? Lugege seda suurepärast kirjutist:

Teine seotud teema on see, kuidas seadistada oma AVR MPU kella kiirust, mis suudab töötada kiirustel 1MHz kuni 16 või 20Mhz. Samuti on olemas spetsiaalne madalsageduslik kristallvõimalus 31,25 kHz, mis korralikult kavandatuna võib teie AVR -i kolmeks kuuks AA patareidest tühjaks lasta!

Mõlemat, kella kaitsme bitti (nii sagedus kui ka kella sisemise RC/välise kristalli tüüp ja muud kaitsmebittid) saab seadistada eXtreme Burneri vahekaardi FUSES kaudu. Kõigepealt näitame teile ROM -i lugemist ja seejärel seda, kuidas hex -faili välgutada eXtreme Burneri abil. Loomulikult võiksite kasutada ka veebipõhiseid AVR -kaitsmete veebisaite, kuid minu selgitatud valikut saab kasutada ka võrguühenduseta ja igal pool.

Samm: seadistused:

Tehtavad seaded
Tehtavad seaded
Tehtavad seaded
Tehtavad seaded
Tehtavad seaded
Tehtavad seaded
Tehtavad seaded
Tehtavad seaded

Piltidel on näha SEADED, mis tuleb teha enne töö alustamist. (ainult üks kord). Alammenüü „Riistvara seaded” all valime 375 Hz, kuna enamik ATMELi tehase MCU-sid on sisemise RC-ostsillaatori vaikeseaded 1 MHz CPU. Interneti -teenuse pakkuja kiirus on veerand F_cpu. See annab meile 375 khz lähima kiiruse, võite minna ka madalamale kiirusele, see ei muuda palju. Võite proovida ühendust luua, jättes selle vaikimisi ja anda välja „loe kõik”. Kui see ei õnnestu, võite siia tulla ja kiirust muuta, muutes selle madalamaks.

Sest kui te ei saa ühendust luua (teade saadetakse programmeerija aknas "ei suuda kiibiga suhelda, ei saa SCK"), tähendab teie arvuti kella signaal sünkroonimist teie kiibiga, mida proovite lugeda või programm)., siis ei saa te muuta CPU kella kiirust ega muuta selle kiirust ja tüüpi! Seega ühendamine on kõige alus! See on nagu "ESIMENE KONTAKT", nagu näete Spielbergi filmides. Kui teil see õnnestub, saate alati suurendada oma MCU taktsagedust, programmeerides kaitsmed vastavalt, ja hiljem kasutada ühendamiseks suuremat kiirust.

Nii et vaadake läbi siin esitatud riistvaraseadete hetktõmmised, seejärel määrake ka seadme tüüp (kiip, mida proovite programmeerida, selle mudeli number).

2. samm: seadme tüübi määramine

Seadme tüübi seadistamine
Seadme tüübi seadistamine
Seadme tüübi seadistamine
Seadme tüübi seadistamine
Seadme tüübi seadistamine
Seadme tüübi seadistamine

vaata ekraanipilti, pilt 1, oleme seadistanud "ATTINY44A". See on 14 -kontaktiline mikrokontroller ilma UART -ta. Olen seda hiljuti kasutanud, SSU versiooni. Kui installisite Extreme burner stock versiooni, ei näe te seadmevaliku ripploendis Attiny44A, näete Attiny44, mida saame kasutada ka Attiny44A programmeerimiseks, et tutvustada kõiki seadmeid, mida pole selles ripploendis loetletud, loe minu teist juhendatavat "Häkkimine eXtreme Burner".

Olen kasutanud Atmega88PA-AU ka koos eXtreme Burneriga, kuid selles juhendis mainime kõikjal "Attiny44A". Kuidas nüüd teha pisikesest 7 mm ruudukujulisest SMD kiibist leivaplaadi versioon ja seda oma programmidega testida? (vt pilte, millel on kiibi suurus)

Kui olete selle tehnika õppinud, saate kontrollida kõiki kiipe, mida soovite uudistada, olgu nende SMD- või DIL -pakett. Näiteks olen isegi kasutanud sarnasel viisil SMD-kiipi, mis on saadaval 32-kontaktilise 0,8 mm pingega Quad-paketis (Atmega88A)!

. Või võite lihtsalt kasutada Attiny44A 28 -pin DIL -versiooni selle juhendatava või mis tahes AVR -i jaoks, mida te praegu kasutate, et proovida eXtreme Burnerit AVR -i programmeerimiseks.

3. samm: andke välja LUGEGE KÕIK või LOE VÄLK

Andke välja LUGEGE KÕIK või LOE VÄLK
Andke välja LUGEGE KÕIK või LOE VÄLK
Andke välja LUGEGE KÕIK või LOE VÄLK
Andke välja LUGEGE KÕIK või LOE VÄLK

Ühendage oma USBasp sülearvuti USB -porti, eeldan, et olete juba laadinud õiged draiverid, mis olid teie programmeerijaga kaasas ja et see on õigesti tuvastatud. See peaks ilmuma akende Start -menüü jaotises "Seadmed ja printerid", kui see oleks olemas, niipea kui see on USB -porti ühendatud! Ühendage oma sihtplaat oma plaadil oma USBasp -ga (nende kahe vahel tuleb ühendada asjakohased SDI // ISP kontaktid, kasutades 6- või 10 -kontaktilist kaablit, nimelt tihvtid: MOSI, RESET, MISO, SCK, Vcc, Ground).

Andke välja LUGEGE KÕIK Xtreme Burneri menüüst. Vaadake saadud pilte ja sõnumeid. Esialgu näitas teie ekraan põleti esimeses vahekaardil ROM -i jaoks „FF”, pärast kõigi lugemist näitab see tegelikku ROM -i sisu kiibil. Kui kasutasite tehasest värsket kiipi või kustutatud kiipi, näeksite pärast lugemist kõiki lugemist sisus FF. Programmeerimata kiibi mälus kuvatakse "FF", samuti EEPROM (programmeerija teine sakk), viimasel vahekaardil kuvatakse FUSES.

Pärast LUGEGE KÕIK 3 kaarti näitaks kiibis sisalduvat õiget teavet. Enne seda see nii ei olnud, nii et andke esmalt lugeda kõik kohe, kui olete kõik ühendanud.

Samm 4: Kirjutage Flashile (teie Hex -fail vilgub kiibil ROM -i)

Kirjutage Flashile (teie Hex -fail on kiibil ROM -is)
Kirjutage Flashile (teie Hex -fail on kiibil ROM -is)
Kirjutage Flashile (teie Hex -fail vilgub kiibil ROM -i)
Kirjutage Flashile (teie Hex -fail vilgub kiibil ROM -i)
Kirjutage Flashile (teie Hex -fail vilgub kiibil ROM -i)
Kirjutage Flashile (teie Hex -fail vilgub kiibil ROM -i)

Valige fail, kasutades dialoogi Sirvi, mis avaneb, kui klõpsate ülaltoodud menüüriba esimesel ikoonil. Valisime ühe faili, nagu näete pildil. Kui olete valinud hex -faili (intel -hex -vormingus), muutus menüüriba, mis näitas "faili ei laadita", laaditud faili nimeks.

Nüüd andke tarkvara menüüst välja kirjutusvälk. Sõnumid näitavad teile, mis toimub. vaata pilte.

Pärast edukat kirjutamist näeksite "FF", mis tähistab värske või kustutatud ROM -i muutust teie programmi või hex -faili sisus. Faili ROM -is hõivatud baitide suurus või arv on teile samuti teada, kui vaatate seda ekraani, mis näitab teile teie sihtkiibi tegelikku ROM -i sisu, mille te äsja välgutasite.

Kontrollimisetapp tehakse ka kiibi lugemisega vastavalt SEADISTUSTELE, mida tegime esimeses etapis. Seda on näha sõnumites, et ka kontrollimine õnnestus.

Samm 5: SULAVUSED: Kuidas neid EXtreme Burneris seadistada?

KAITSED: Kuidas neid EXtreme Burneris seadistada?
KAITSED: Kuidas neid EXtreme Burneris seadistada?

Kui andsite välja LOE KÕIK, loeti kaitsmed kiibilt välja. See on esimene pildil näidatud fuses.jpg.

Nüüd peate võib -olla muutma need millekski muuks. Kaitsmed koosnevad 4 kastist teie eXtreme Burneri ekraani viimasel vahekaardil. Nimelt LOW FUSE BYTE, HIGH FUSE BYTE, EXENENDED FUSE BYTE, LOCK FUSE BYTE ja CALIBRATION BYTE. neid näidatakse selles järjekorras.

Võite lihtsalt kasutada ONLINE kaitsmete kalkulaatorit ja täita need. Nagu see on aadressil

eleccelerator.com/fusecalc/fusecalc.php?

Või võite kasutada seda teie jaoks eXtreme põletiga. võrguühenduseta igal ajal: valige ripploendist, mis kuvatakse, kui klõpsate nupul DETAILS, mis asub igat tüüpi kaitsmebaitide all. Lihtsalt topeltklõpsake mis tahes DETAILS -ekraanil olevat rida ja vaadake, kuidas see muutub SET -st CLEARED -ks, ja muutke olekut hiireklõpsuga igal real. Selle kohal olevas kastis olev kaitsmebait muutuks vastavalt.

Kui teil on küsimus "mis kuradi kaitsmed on" ja "mida nad teevad"? Lugege seda suurepärast kirjutist:

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

6. samm: kaitsmete seadistamine EXtreme Burner Fuse Calculator abil

Kaitsmete seadistamine EXtreme Burner Fuse Calculator abil
Kaitsmete seadistamine EXtreme Burner Fuse Calculator abil
Kaitsmete seadistamine EXtreme Burner Fuse Calculator abil
Kaitsmete seadistamine EXtreme Burner Fuse Calculator abil
Kaitsmete seadistamine EXtreme Burner Fuse Calculator abil
Kaitsmete seadistamine EXtreme Burner Fuse Calculator abil

Näete üksikasjade ekraani, mis kuvatakse iga kaitsme baidi kohta (LOW, HIGH, EXTENDED, LOCK ja Calibration). Kalibreerimisbait tuleks jätta muutmata, kuna see näitab kalibreerimisandmete baiti AVR -is, mis kehtib sisemise RC -ostsillaatori kohta. LOCK -bait on tavaliselt ainult FF (seda ei ole ülaltoodud piltidel käsitletud), kuna te ei lukustaks õppimise ajal välku ega EEPROM -i. Muutke ainult madalaid, kõrgeid ja laiendatud baite. Ole ettevaatlik !

Kui muudate SPIEN -bitiks 1 (programmeerimata olek on 1 AVR -i mikrokontrollerites), ei saa te oma kiibiga USBASP -i või mõne programmeerija abil suhelda! Vaikeolekut näidatakse ka teie ekraanil iga kaitsmebiti jaoks. See hoiatab teid, et SPIENi vaikimisi on alati 0 (programmeeritud olek), et saaksite kasutada SPI -režiimi Interneti -teenuse pakkuja jaoks. Silumisjuhe või DW-bit jäetakse alati 1 (programmeerimata), kui SPIEN on seatud väärtusele 0. See on ka vaikeseade. Samuti peaks laiendatud kaitsmebittide puhul iseprogrammeerimise lubamine olema 1 (programmeerimata), kui kasutate oma sihtkiibi programmeerimiseks USB-ASP-d (mitte alglaaduri ROM-i, nagu ARDUINO-s).

Sisemise RC või välise kristalli valimiseks saate muuta CLOCK bitte (arv 3). Tavaliselt jätan selle sisemisele RC -le, mis võimaldab teil saada 2 täiendavat tihvti, mille välise kristalli vabastamine tähendab teie AVR -projektide jaoks PORT -tihvtidena. Tavaliselt on vaja välist kristalli, kui vajate oma projektis suure täpsusega ajastust. Õppijate jaoks piisab sisemisest RC -st.

Tavaliselt, kui olete mõne kaitsmekombinatsiooni lahendanud, ei muuda te seda. See oleks ühekordne. Vilgutaksite ainult ROM -i või mõnikord ka EEPROM -i. EEPROM -i vilgutamiseks genereerib teie WINAVR / ATMEL stuudio eraldi.eep -faili, kui teie programm kasutab andmete salvestamiseks EEPROM -i. Vastasel juhul jääb EEPROM kasutamata, täidetud FF -andmetega, mis näitavad EEPROM -i olekut „NO DATA”.

Samm: kaitsmebittide lõplik väärtus

Kaitsmebittide lõplik väärtus
Kaitsmebittide lõplik väärtus

Pärast kõigi kaitsmebittide seadistamist ja kasutatud üksikasjade kastide sulgemist näete programmiga arvutatud kaitsmebittide väärtust (vt pilti). Jääb vaid menüü abil välja kirjutada "Kirjutage kaitsmed". Ja vaadake sõnumeid, mis teatavad edukast kirjutamisest. Hiljem võite menüüst välja anda ka LOE KÕIK ja kontrollida, kas põletiekraani viimasel vahekaardil loetud kaitsmed kattuvad sellega, mida soovite kiibile kirjutada. (Kaitsmete kontrollimine).

Märkasite, et selle juhendi alguses, kui me tegime LUGEGE KAITSEID, kuvatakse ekraanil samad FUSE väärtused, mida näeme siin! Selle põhjuseks on asjaolu, et neid kaitsmeid kasutan sageli ja vahetan neid harva, kui olen need oma MCU -sse seadnud, kui ma ei muuda mõne projekti puhul sagedust 1 Mhz -lt 4 Mhz -le. AVR -i saab seadistada maksimaalselt 20Mhz (mõned kiibid ainult kuni 16Mhz). F_cpu jaoks määratud sagedus sõltub ka pingest, millega kiipi varustate! Näiteks kui teie kiip töötab 1,8 V Vcc -st kuni 5,5 V Vcc -ni (andmeleht viitab), ei arvaks te, et kasutate oma kiipi 20 MHz juures, kui tarnite sellele ainult 1,8 V! sa ootad sellest liiga palju! Andmelehe tabel ütleb teile, millise pinge korral sagedus millise näitaja juures tõuseb. Mida kõrgem on teie kiibi töö sagedus, seda rohkem soojust ja rohkem energiat see tarbib. Mõelge sagedusele nagu looma südamelöökidele. Kõrge kuumenemiskiirusega kolibri energiapõletus minutis on suurem kui vaala või elevandi puhul, kelle südamelöögid on palju väiksemad! Aga siis saab lühema ajaga palju rohkem ära teha. MCU on just selline.

8. samm: lõpetage

Nüüd olete lõpetanud kõik eXtreme -põleti sammud, lugenud kiibi ROM -i, avanud HEX -faili ja välgutanud selle kiibile ning veendunud, et välk on korras, samuti õppisite, kuidas kaitsmeid seadistada ja kiibile välgutada.

Kui teil on küsimusi, vastan hea meelega õpetusele või muudan seda selgemaks.

Mõne kiibi puhul võib juhtuda, et selle kirje puudub menüü kiipide valiku ripploendist. Või võite silmitsi seista kirjutamisvigade ja vigade kontrollimisega. Sellistel juhtudel lugege probleemi lahendamiseks minu muud juhendatavat "Häkkimise eXtreme Burnerit".

Head programmeerimist.

Soovitan: