Sisällysluettelo:

EXtreme Burnerin käyttö AVR -mikro -ohjaimen ohjelmointiin: 8 vaihetta
EXtreme Burnerin käyttö AVR -mikro -ohjaimen ohjelmointiin: 8 vaihetta

Video: EXtreme Burnerin käyttö AVR -mikro -ohjaimen ohjelmointiin: 8 vaihetta

Video: EXtreme Burnerin käyttö AVR -mikro -ohjaimen ohjelmointiin: 8 vaihetta
Video: Trangian käyttö 2024, Heinäkuu
Anonim
EXTreme -polttimen käyttö AVR -mikrokontrollerien ohjelmointiin
EXTreme -polttimen käyttö AVR -mikrokontrollerien ohjelmointiin

Kaikki AVR -käyttäjien veljeskunta siellä, ja ne, jotka ovat juuri tulossa streamiin, Jotkut teistä aloittivat PIC -mikrokontrollereilla ja toiset ATMEL AVR -laitteilla, tämä on kirjoitettu sinulle!

Joten ostit USBASP: n, koska se on halpaa ja tehokasta vilkaista Atmega -laitteesi ROM -levyä tai ehkä ATTINY -sarjaa. Näitä voi saada alle 5 dollarilla avoimen lähdekoodin USB-ASP: n kiinalaisina klooneina! AVRdude on ohjelmisto niiden ohjelmointiin.

Tiedät epäilemättä kuinka luoda Hex -tiedosto Atmel Studiota käyttämällä (käytän edelleen AVR Studio v4.19: tä uusimman v7: n sijasta, koska se on nopeampi ja nopeampi kevyessä yhden ytimen suorittimessa)/ Netbook ja WINAVR asennetaan, jos luet tätä Kaikki mitä DotNetissä kirjoitetaan, toimii HIDASTI! ja uudemmat versiot on suunniteltu saamaan kannettava tietokone toimimaan kuin kilpikonna! Voit käyttää Studio v4.19: tä ATMEL for AVR -mikro -ohjainten Studio -version parhaimpana versiona siirtymällä versioon 7, kun todella tarvitset sitä myöhempiin siruihin. Tätä suosittelen.

Tyypillinen AVR -kaveri -komentorivi Atmegan ohjelmoimiseksi Hex -tiedostolla toimii seuraavasti:

KIRJOITA FLASH: AVRdude -s -c avrisp -p t44 -P usb -U "flash: w: D: / ARDUINO / pwmeg1.hex: a"

tässä pwmeg1.hex on Intel -heksatiedosto, joka "poltetaan" tai "salataan" Lingo -mikrokontrollerin "kohde -MCU: ksi"

Se on suupala muistaa! Voit kirjoittaa erätiedoston ja suorittaa sen komentorivillä ikkunoissa nimeämällä write_flash.bat. Samoin sulakkeiden lukemiseen, toinen suupala riviä muistettavaksi! Siitä tulee tylsää.

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

Ratkaisu on käyttää AVRdudelle yhtä käyttäjäystävällisestä graafisen käyttöliittymän käyttöliittymästä, kuten Bitburner, Khazama-ohjelmoija, jotka ovat lähes samankaltaisia. eXtreme -poltin. Olen käyttänyt vapaasti käytettävää työkalua: eXtreme Burner paljon, sen monipuolinen, luotettava, ja tämä opetusohjelma on siitä. Se ei voi vain vilkuttaa heksatiedostoa / ohjelmaa MPU: lle käyttämällä AVRdudelle taustalla annettuja komentoja, vaan se voi myös auttaa sinua asettamaan SULAKKEET, joka on monimutkainen aihe, joka sekoittaa aloittelijat usein AVR -ohjelmointiin. Tässä on linkki erinomaiseen SULAKKEIDEN opetusohjelmaan, jonka voit käydä läpi tai harjoitella. Varoituksen sana: ATMEL käyttää FUSE -bitin '1' -tilaa ilmaisemaan sen oletustilan (ei -asetettu tai ohjelmoimaton tila) ja '0' osoittaakseen sen ohjelmoidun tai asetetun tai aktivoidun tilan! Tämä on aivan päinvastoin kuin mitä teet FUSE -biteillä PIC -mikrokontrollerissa. Ole varovainen, kun muokkaat kellosulakkeen bittejä, kuten muuttamalla sisäisen RC-kellon vaihtamaan ulkoiseksi kideksi, koska tämä aiheuttaa ongelmia liittämiseen siruun ilman ulkoista kideasennusta. Ole myös varovainen, kun muutat kriittisten sulakebittien tilaa, kuten SPIEN ja RESET DISABLE (niiden tulee aina olla SPIEN = 0 ja RESET DISABLE = 1, jos haluat jatkaa kommunikointia MCU: n kanssa USB-ASP: n kanssa ISP / SPI-tilassa ! Jos teet tämän ylöspäin, tarvitset suurjänniteohjelmoijan AVR: n purkamiseen.

Jos mietit "mitä ihmettä ovat sulakkeet" ja "mitä he tekevät"? Lue tämä erinomainen kirjoitus:

Toinen aiheeseen liittyvä aihe on kuinka asettaa kellotaajuus AVR MPU: lle, joka pystyy toimimaan nopeuksilla 1Mhz - 16 tai 20Mhz. Saatavilla on myös erikoisvoimainen matalataajuinen kristallivaihtoehto 31,25 kHz.

Molemmat, kellosulakebitit (sekä taajuus että kellon sisäinen RC/ulkoinen kristalli ja muut sulakebitit) voidaan asettaa eXtreme Burnerin SULAKKEET -välilehden kautta. Ensin näytämme lukemasi ROM -levyn ja sitten kuinka hex -tiedosto vilkkuu eXtreme Burner -ohjelmalla. Voit tietysti käyttää myös online -AVR -sulakesivustoja, mutta selittämääni vaihtoehtoa voidaan käyttää myös offline -tilassa missä tahansa.

Vaihe 1: Tehdyt asetukset:

Tehdyt asetukset
Tehdyt asetukset
Tehdyt asetukset
Tehdyt asetukset
Tehdyt asetukset
Tehdyt asetukset
Tehdyt asetukset
Tehdyt asetukset

Kuvissa näkyy ASETUKSET, jotka on tehtävä ennen työn aloittamista. (vain kerran). Valitsemme 'Laitteistoasetukset' -alivalikkokohdasta 375 Hz, koska suurin osa ATMEL-tehtaan MCU: sta on asetettu 1 Mhz CPU-kellon oletusasetuksiksi sisäisessä RC-oskillaattorissa. Internet -palveluntarjoajan nopeus on neljäsosa F_cpu: sta. Tämä antaa meille 375 Khz: n lähimmän nopeuden, voit myös siirtyä pienemmälle nopeudelle, sillä ei ole paljon eroa. Voit yrittää muodostaa yhteyden jättämällä tämän oletusarvoonsa ja antaa "lukea kaikki", jos se epäonnistuu, voit tulla tänne ja muuttaa nopeutta pienentämällä sitä.

Koska jos et pysty muodostamaan yhteyttä (viesti annettaisiin ohjelmoijaikkunassa "ei pysty kommunikoimaan sirun kanssa, ei voi SCK"), tietokoneesi kellosignaali ei voinut synkronoida sirusi kanssa, jota yrität lukea tai ohjelma)., et pysty muuttamaan suorittimen kellon nopeutta tai sen nopeutta ja tyyppiä! Yhdistäminen on siis kaiken perusta! Se on kuin "ENSIMMÄINEN YHTEYS", kuten näet Spielbergin elokuvissa. Jos onnistut tässä, voit aina lisätä MCU: n kellonopeutta ohjelmoimalla sulakkeet vastaavasti ja käyttää myöhemmin suurempaa nopeutta yhteyden muodostamiseen.

Joten käy läpi tässä esitetyt laitteistoasetusten tilannekuvat ja aseta sitten myös laitetyyppi (ohjelmoitava siru, sen mallinumero).

Vaihe 2: Laitetyypin asettaminen

Laitetyypin asettaminen
Laitetyypin asettaminen
Laitetyypin asettaminen
Laitetyypin asettaminen
Laitetyypin asettaminen
Laitetyypin asettaminen

katso kuvakaappaus, kuva 1, olemme asettaneet "ATTINY44A". Tämä on 14 -nastainen mikrokontrolleri ilman UARTia. Olen käyttänyt tätä äskettäin, SSU -versiota. Jos olet asentanut Extreme -polttimen kalustoversion, et näe Attiny44A -laitetta avattavassa luettelovalikossa, näet Attiny44: n, jota voimme käyttää kaikkiin tarkoituksiin myös Attiny44A: n ohjelmointiin, esittelemään kaikki laitteet, joita ei ole tässä avattavassa luettelossa, lue toinen ohjeistettava "Hacking eXtreme Burner".

Olen käyttänyt Atmega88PA-AU: ta myös eXtreme Burnerin kanssa, mutta tässä ohjeessa mainitaan "Attiny44A" kaikkialla. Kuinka nyt tehdä leipälevyversio pienestä 7 mm: n neliömäisestä SMD -sirusta ja testata se ohjelmillasi? (katso kuvia, jotka osoittavat sirun koon), Katso tästä muista ohjeistuksistani, jossa esittelen kuinka tehdä leipälevylle sopivia laajennusmoduuleja Attiny44A-SSU: n ja ATmega88PA-AU: n avulla

Kun olet oppinut tämän tekniikan, voit tarkistaa kaikki sirut, joita olet utelias taistelemaan, olipa sen SMD- tai DIL -paketti. Esimerkiksi olen jopa käyttänyt SMD-sirua, joka tulee 32-nastaisen 0,8 mm: n nastaisen Quad-paketin (Atmega88A) kanssa vastaavalla tavalla!

. Tai voit vain käyttää Attiny44A: n 28 -nastaista DIL -versiota tähän Instructable -ohjelmaan tai mihin tahansa AVR -laitteeseen, jota käytät tällä hetkellä kokeillaksesi eXtreme Burneria AVR -ohjelmointiin.

Vaihe 3: LUE KAIKKI tai LUE VILKKU

Anna LUE KAIKKI tai LUE VILKKU
Anna LUE KAIKKI tai LUE VILKKU
Anna LUE KAIKKI tai LUE VILKKU
Anna LUE KAIKKI tai LUE VILKKU

Liitä USBasp kannettavan tietokoneen USB -porttiin, oletan, että olet jo ladannut oikeat ohjaimet, jotka tulivat ohjelmoijan mukana ja että se on tunnistettu oikein. Sen pitäisi näkyä Windowsin Käynnistä -valikon Laitteet ja tulostimet -kohdassa, jos se olisi, heti kun se on kytketty USB -porttiin! Liitä kohdesiru levylle USBasp -laitteeseen (asiaankuuluvat SDI // ISP -nastat 6- tai 10 -nastaisella kaapelilla on kytkettävä näiden kahden välille, eli nastat: MOSI, RESET, MISO, SCK, Vcc, Ground).

Anna LUE KAIKKI Xtreme Burnerin valikosta. Katso saamamme kuvat ja viestit. Alun perin näytössäsi näytettiin 'FF' ROM -levylle polttimen ensimmäisessä välilehdessä, kun kaikki on luettu, se näyttää sirun todellisen ROM -sisällön. Jos käytit tehtaalla tuoretta sirua tai poistettua sirua, näet FF: n sisällössä "Lue kaikki" jälkeen. Ohjelmoimaton siru näyttää muistissaan "FF", samoin EEPROM (ohjelmoijan toinen välilehti), viimeinen välilehti näyttää SULAKKEET.

LUE KAIKKI jälkeen 3 välilehteä näyttäisivät sirun sisältämät oikeat tiedot. Ennen sitä se ei olisi, joten anna ensin Lue kaikki heti, kun yhdistät kaiken.

Vaihe 4: Kirjoita Flashiin (heksatiedosto on sirulla ROM -levyllä)

Kirjoita Flashiin (Hex -tiedostosi välähti ROM -levylle sirulla)
Kirjoita Flashiin (Hex -tiedostosi välähti ROM -levylle sirulla)
Kirjoita Flashiin (Hex -tiedostosi välähti ROM -levylle sirulla)
Kirjoita Flashiin (Hex -tiedostosi välähti ROM -levylle sirulla)
Kirjoita Flashiin (Hex -tiedostosi välähti ROM -levylle sirulla)
Kirjoita Flashiin (Hex -tiedostosi välähti ROM -levylle sirulla)

Valitse tiedosto Selaa -valintaikkunasta, joka avautuu, kun napsautat yllä olevaa MENU -palkin ensimmäistä kuvaketta. Valitsimme yhden tiedoston, kuten näet kuvassa. Kun olet valinnut heksatiedoston (intel hex -muoto), valikkorivi, jossa näytettiin "tiedostoa ei ladattu", muuttui lataamasi tiedostonimeksi.

Anna nyt kirjoitussalama ohjelmiston valikosta. Viestit näyttävät, mitä tapahtuu. katso kuvia.

Onnistuneen kirjoituksen jälkeen näet FF -merkinnän, joka merkitsee uuden tai poistetun ROM -levyn muutoksen siihen, mitä ohjelma tai heksatiedosto sisältää. Tiedostosi koko tai tavumäärä, jonka tiedostosi on ROM -levyllä, on myös tiedossa, kun tarkastelet tätä näyttöä, joka näyttää juuri näyttämäsi kohdesirun ROM -sisällön.

Vahvistusvaihe suoritetaan myös lukemalla siru, kuten ensimmäisessä vaiheessa tehdyt ASETUKSET. Tämä näkyy viesteissä, että myös vahvistus onnistui.

Vaihe 5: SULAKKEET: Kuinka asettaa ne EXtreme Burner -ohjelmaan

SULAKKEET: Kuinka asettaa ne EXtreme Burneriin
SULAKKEET: Kuinka asettaa ne EXtreme Burneriin

Kun annoit LUE KAIKKI, sulakkeet luettiin sirusta. Se on ENSIMMÄINEN kuva fuses.jpg.

Nyt sinun on ehkä vaihdettava ne johonkin muuhun. Sulakkeet koostuvat 4 laatikosta eXtreme Burner -näytön viimeisessä välilehdessä. Nimittäin LOW FUSE BYTE, HIGH FUSE BYTE, EXTENDED FUSE BYTE, LOCK FUSE BYTE ja CALIBRATION BYTE. ne näytetään tässä järjestyksessä.

Voit yksinkertaisesti käyttää ONLINE -sulakelaskinta ja täyttää ne. Kuten osoitteessa

eleccelerator.com/fusecalc/fusecalc.php?

Tai voit käyttää eXtreme -poltinta sen puolestasi. offline itse milloin tahansa: Valitse avattavasta luettelosta, joka tulee näkyviin, kun napsautat DETAILS -painiketta, joka on kunkin sulaketyypin alla. Kaksoisnapsauta mitä tahansa TIEDOT -näytön riviä ja katso, kuinka se muuttuu asetuksesta ASETETTU ja tyhjennetty ja vaihda sen tilaa hiiren napsautuksella jokaista riviä. Sulakkeen tavu sen yläpuolella olevassa laatikossa muuttuisi vastaavasti.

Jos mietit "mitä ihmettä ovat sulakkeet" ja "mitä he tekevät"? Lue tämä loistava kirjoitus:

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

Vaihe 6: Sulakkeiden asettaminen EXtreme Burner -sulakelaskurilla

Sulakkeiden asettaminen EXtreme Burner -sulakelaskurilla
Sulakkeiden asettaminen EXtreme Burner -sulakelaskurilla
Sulakkeiden asettaminen EXtreme Burner -sulakelaskurilla
Sulakkeiden asettaminen EXtreme Burner -sulakelaskurilla
Sulakkeiden asettaminen EXtreme Burner -sulakelaskurilla
Sulakkeiden asettaminen EXtreme Burner -sulakelaskurilla

Näet kunkin sulakkeen tavun (LOW, HIGH, EXTENDED, LOCK ja Calibration) yksityiskohtaruudun. Kalibrointitavu tulee jättää muuttamatta, koska se näyttää AVR: n kalibrointitiedot tavun, joka koskee sisäistä RC -oskillaattoria. LUKITAVA tavu on yleensä vain FF (ei käsitelty yllä olevissa kuvissa), koska et lukitsisi salamaa tai EEPROMia oppimisvaiheessa. Muuttaisit vain LOW-, HIGH- ja EXTENDED -tavuja. Ole varovainen !

Jos vaihdat SPIEN -bitin arvoon 1 (ohjelmoimaton tila on 1 AVR -mikrokontrollereissa), et pysty kommunikoimaan sirusi kanssa USBASP: n tai minkä tahansa ohjelmoijan avulla! Oletustila näkyy näytössä myös jokaiselle sulakebitille. Tämä varoittaa sinua siitä, että SPIEN -oletus on aina 0 (ohjelmoitu tila), jotta voit käyttää SPI -tilaa Internet -palveluntarjoajan ohjelmointiin. Virheenkorjauslanka tai DW-bitti jää aina 1: ksi (ohjelmoimaton), kun SPIEN on asetettu arvoon 0. Tämä on myös oletustila. Lisäksi laajennetuissa sulakebiteissä "Self Programming Enable" pitäisi olla "1" (ohjelmoimaton), jos käytät USB-ASP: tä kohdesirun ohjelmointiin (etkä käytä käynnistyslataimen ROM-levyä, kuten ARDUINO-ohjelmassa).

Voit vaihtaa CLOCK -bittejä (3 numeroa) valitaksesi sisäisen RC: n tai ulkoisen kiteen. Yleensä jätän sen sisäiselle RC: lle, jonka avulla voit saada 2 ylimääräistä nastaa, jotka vapauttavat ulkoisen kristallin, joita voidaan käyttää PORT -nastoina AVR -projekteihisi. Yleensä ulkoista kristallia tarvitaan, kun tarvitset tarkan ajoituksen projektissasi. Oppijoille sisäinen RC riittää.

Yleensä kun olet asettanut jonkin sulakeyhdistelmän, et muuta sitä. Se olisi kertaluonteinen. Vilkkaisit vain ROM -levyä tai joskus myös EEPROM -muistia. Jos haluat käyttää EEPROM -muistia tietojen tallentamiseen, WINAVR / ATMEL -studiosi luo EEPROM -laitteen vilkuttamiseksi erillisen.eep -tiedoston. Muussa tapauksessa EEPROM jätetään käyttämättä, ja se on täytetty FF -tiedoilla, jotka osoittavat EEPROMin EI DATA -tilaa.

Vaihe 7: Sulakebittien lopullinen arvo

Sulakebittien lopullinen arvo
Sulakebittien lopullinen arvo

Kun olet asettanut kaikki sulakebitit ja sulkenut käyttämäsi TIEDOT -ruudut, näet ohjelman laskeman sulakebittien arvon (katso kuva). Jäljelle jää vain "Kirjoita sulakkeet" valikon avulla. Katso viestit, jotka raportoivat onnistuneesta kirjoituksesta. Myöhemmin voit myös antaa READ ALL valikosta ja tarkistaa, ovatko polttimen näytön viimeisestä välilehdestä luetut sulakkeet samat kuin mitä halusit kirjoittaa sirulle. (Sulakkeen vahvistus).

Huomaat, että tämän ohjeen alussa, kun teimme LUE SULAKKEET, näytössä näkyvät samat SULAKE -arvot, jotka näemme täällä! Tämä johtuu siitä, että näitä sulakkeita käytän usein ja vaihdan niitä harvoin, kun asetan ne MCU: hon, ellet muuta taajuutta 1 Mhz: stä 4 Mhz: iin joissakin projekteissa. AVR voidaan asettaa enintään 20 Mhz: iin (jotkin pelimerkit vain 16 Mhz asti). F_cpu: lle asettamasi taajuus riippuu myös jännitteestä, jolla syöt sirua! Esimerkiksi jos sirusi toimii 1,8 V: n Vcc: stä 5,5 V: n Vcc: hen (tietolomake viittaa), et odota suorittavasi sirua 20 MHz: n taajuudella, jos toimitit sille vain 1,8 V! odotat siltä liikaa! Tietolomakkeen taulukossa kerrotaan, missä jännitteessä taajuus ylittyy missäkin luvussa. Mitä korkeampi sirun käyttötaajuus, sitä enemmän lämpöä ja enemmän virtaa se kuluttaa. Ajattele taajuutta kuin eläimen sydämenlyöntiä. Kolibri, jolla on korkea lämmitysnopeus, polttaisi enemmän energiaa minuutissa kuin valas tai norsu, jonka syke on paljon alhaisempi! Mutta sitten se voi tehdä paljon enemmän lyhyemmässä ajassa. MCU on juuri sellainen.

Vaihe 8: Viimeistele

Nyt olet suorittanut kaikki eXtreme -polttimen vaiheet, olet lukenut sirun ROM -levyn, avannut HEX -tiedoston ja väläyttänyt sen sirulle ja varmistanut, että salama oli kunnossa, ja opit myös asettamaan sulakkeet ja vilkkumaan ne sirulle.

Jos sinulla on kysyttävää, vastaan mielelläni tai muutan opetusohjelmaa selkeämmäksi.

Joidenkin pelimerkkien kohdalla sen merkintä saattaa puuttua valikon avattavasta sirunvalintaluettelosta. Tai saatat kohdata kirjoitusvirheitä ja tarkistaa virheet. Tällaisissa tapauksissa lue toinen ohjeistettava "Hacking eXtreme Burner" ongelman ratkaisemiseksi.

Hyvää ohjelmointia.

Suositeltava: