INHOUDSOPGAWE:

GEBRUIK VAN EXTREME BRANDER vir AVR -mikrobeheerderprogrammering: 8 stappe
GEBRUIK VAN EXTREME BRANDER vir AVR -mikrobeheerderprogrammering: 8 stappe

Video: GEBRUIK VAN EXTREME BRANDER vir AVR -mikrobeheerderprogrammering: 8 stappe

Video: GEBRUIK VAN EXTREME BRANDER vir AVR -mikrobeheerderprogrammering: 8 stappe
Video: Welke ovenoperator moet doen in noodsituaties in roterende cementoven deel 1 2024, Julie
Anonim
GEBRUIK VAN EXTREME BRANDER vir AVR -mikrobeheerderprogrammering
GEBRUIK VAN EXTREME BRANDER vir AVR -mikrobeheerderprogrammering

Almal van julle, AVR -gebruikers, en diegene wat net die stroom binnegaan, sommige van julle het begin met PIC -mikrobeheerders en sommige het begin met ATMEL AVR's, dit is vir julle geskryf!

U het dus 'n USBASP gekoop omdat dit goedkoop en effektief is om die ROM op u Atmega -toestel, of miskien die ATTINY -reeks, te flits. Dit kan verkry word vir minder as $ 5, as Chinese klone van die open source USB-ASP! AVRdude is die sagteware om dit te programmeer.

U weet ongetwyfeld hoe u 'n Hex -lêer kan genereer met behulp van die Atmel Studio (ek gebruik steeds AVR Studio v4.19 in plaas van die nuutste v7, omdat dit vinniger en vinniger is op my ligte enkelkern -CPU -skootrekenaar)/ Netbook en WINAVR -installasie as u dit lees. Alles wat in DotNet geskryf is, loop stadig! en die latere weergawes is ontwerp om u skootrekenaar soos 'n skilpad te laat werk! U kan Studio v4.19, die grootste weergawe van Studio van ATMEL vir AVR -mikrobeheerders, gebruik om na weergawe 7 oor te skakel as u dit regtig nodig het vir die latere skyfies, en u tyd op die skootrekenaar meer produktief te maak, in plaas van te wag! Dit is wat ek aanbeveel.

'N Tipiese AVR dude -opdragreël om 'n Atmega met 'n Hex -lêer te programmeer, loop soos volg:

SKRYF AAN FLITS: AVRdude -s -c avrisp -p t44 -P usb -U "flits: w: D: / ARDUINO / pwmeg1.hex: a"

hier is pwmeg1.hex die Intel hex -lêer wat in die 'target MCU' in die mikrobeheerder Lingo 'verbrand' of 'geflits' moet word

Dit is 'n mondvol om te onthou! U kan 'n bondellêer skryf en dit in die opdragreël in Windows uitvoer, met die naam van dit write_flash.bat. Net so vir die lees van die versekeringe, nog 'n mondvol reël om te onthou! Dit raak vervelig.

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

Die oplossing is om een van die gebruikersvriendelike front-end GUI-gereedskap vir AVRdude te gebruik, soos Bitburner, Khazama-programmeerder, wat byna soortgelyk is. eXtreme brander. Ek het die gratis gebruiksgereedskap: eXtreme Burner baie gebruik, sy veelsydige, betroubare, en hierdie handleiding handel daaroor. Dit kan nie net u hex -lêer / program na die MPU flits nie, met behulp van opdragte wat op AVRdude op die agtergrond uitgereik is, dit kan u ook help om die FUSES in te stel, wat 'n ingewikkelde onderwerp is wat beginners dikwels verwar met AVR -programmering. Hier is 'n skakel na 'n uitstekende tutoriaal oor die onderwerp FUSES wat u kan deurmaak of opdoen. 'N Woord van waarskuwing: ATMEL gebruik' 1 '-toestand van 'n FUSE -bit om die' standaard' -toestand (ongekende of ongeprogrammeerde toestand) aan te dui en '0' om die geprogrammeerde of ingestelde of geaktiveerde toestand aan te dui! Dit is net die teenoorgestelde van wat u met FUSE -stukkies in 'n PIC -mikrobeheerder doen. Wees versigtig as u die sekuriteitsbits van die horlosie verander, soos om die interne RC-klok na eksterne kristal te verander, want dit kan probleme veroorsaak om aan die chip te koppel sonder 'n eksterne kristalopstelling. Wees ook versigtig as u die toestand van kritieke lontstukkies soos SPIEN en RESET DISABLE verander (hierdie moet altyd ingestel wees op SPIEN = 0 en RESET DISABLE = 1 as u wil voortgaan om te kommunikeer met die MCU met u USB-ASP in ISP / SPI-modus ! As u dit misluk, sal u 'n hoogspanningsprogrammeerder nodig hê om u AVR te verwyder.

As u wonder: "wat is die lont" en "wat doen hulle"? Lees hierdie uitstekende skrywe:

'N Ander verwante onderwerp is hoe u die kloksnelheid van u AVR MPU kan instel, wat snelhede van 1Mhz tot 16 of 20Mhz kan instel. Daar is ook 'n spesiale lae -frekwensie kristalopsie van 31,25 kHz met 'n spesiale krag, wat u AVR as dit behoorlik ontwerp is, drie maande lank AA -batterye kan laat werk!

Beide hierdie klokfuse -bisse (beide frekwensie en tipe klok interne RC/eksterne kristal en ander sekuriteitsbitte) kan opgestel word via die FUSES -oortjie in eXtreme Burner. Eerstens wys ons hoe u die ROM lees, en hoe u die hex -lêer met eXtreme Burner kan flits. U kan natuurlik ook die aanlyn -AVR -sikluswebwerwe gebruik, maar die opsie wat ek verduidelik, kan ook gebruik word as u vanlyn is, oral en oral.

Stap 1: Instellings wat gemaak moet word:

Instellings wat gemaak moet word
Instellings wat gemaak moet word
Instellings wat gemaak moet word
Instellings wat gemaak moet word
Instellings wat gemaak moet word
Instellings wat gemaak moet word
Instellings wat gemaak moet word
Instellings wat gemaak moet word

Die foto's toon die INSTELLINGS wat gedoen moet word voordat u met u werk begin. (slegs een keer). Onder die submenu-item 'Hardeware-instellings' kies ons 375Hz omdat die meeste MCU van die ATMEL-fabriek ingestel is op die standaardinstellings van 1 Mhz CPU-klok op die interne RC-ossillator. Die ISP -snelheid is 'n kwart van F_cpu. Dit gee ons die naaste snelheid van 375 Khz; u kan ook 'n laer snelheid neem, dit maak nie veel verskil nie. U kan probeer om aan te sluit, en dit by verstek plaas en 'lees alles' uitreik. As dit misluk, kan u hierheen kom en die snelheid verander, wat dit laer maak.

Want as u nie kon koppel nie (die boodskap word in die programmeerdervenster gegee: "kan nie met die chip kommunikeer nie, beteken dit nie dat SCK" beteken dat die kloksignaal van u rekenaar nie kan sinkroniseer met u chip wat u probeer lees of program)., sou u die kloksnelheid van die SVE nie kon verander of die snelheid en tipe daarvan kon verander nie! Dus is verbinding die basis van alles! Dit is soos 'EERSTE KONTAK', soos u in die Spielberg -films sien. As u hierin slaag, kan u altyd die kloksnelheid van u MCU verhoog deur die siklusse dienooreenkomstig te programmeer en later 'n hoër snelheid te gebruik om aan te sluit.

Gaan dus deur die kiekies van die hardeware -instellings wat hier verskaf word, en stel dan ook die tipe toestel in (die chip wat u probeer programmeer, die modelnommer daarvan).

Stap 2: Stel u toesteltipe in

Stel jou toesteltipe in
Stel jou toesteltipe in
Stel jou toesteltipe in
Stel jou toesteltipe in
Stel jou toesteltipe in
Stel jou toesteltipe in

sien die skermkiekie, foto 1, ons het 'ATTINY44A' gestel. Dit is 'n 14 -pins mikrobeheerder sonder UART. Ek gebruik dit onlangs, die SSU -weergawe. As u die weergawe van Extreme -brander geïnstalleer het, sal u Attiny44A nie in die keuselys vir toestelle sien nie, sal u 'n Attiny44 sien wat ons vir alle doeleindes kan gebruik om Attiny44A ook te programmeer, om 'n toestel bekend te stel wat nie in hierdie aftreklys verskyn nie, lees my ander instruksionele "Hacking eXtreme Burner".

Ek het Atmega88PA-AU ook met eXtreme Burner gebruik, maar in hierdie instruksies noem ons oral "Attiny44A". Hoe maak u nou 'n broodbordweergawe van die klein 7mm vierkantige SMD -chip en toets dit met u programme? (sien die foto's wat die skyfgrootte aandui). Sien hiervoor my ander instruksies, waar ek demonstreer hoe om 'n Breadboard-geskikte insteekmodule te maak met behulp van Attiny44A-SSU en ATmega88PA-AU

Sodra u hierdie tegniek geleer het, kan u na elke chip kyk wat u nuuskierig is, of dit nou die SMD- of DIL -pakket is. Ek het byvoorbeeld selfs 'n SMD-chip gebruik wat in 'n 32-pins 0.8mm pin-pitch Quad-pakket (Atmega88A) kom, op soortgelyke wyse!

. Of u kan net die 28pin DIL -weergawe van die Attiny44A gebruik vir hierdie Instructable of watter AVR u ook al gebruik om eXtreme Burner vir AVR -programmering te probeer.

Stap 3: Gee 'n LEES ALLE of LEES FLITS

Gee 'n LEES ALLE of LEES FLITS
Gee 'n LEES ALLE of LEES FLITS
Gee 'n LEES ALLE of LEES FLITS
Gee 'n LEES ALLE of LEES FLITS

Koppel u USBasp aan die USB -poort van u skootrekenaar, ek neem aan dat u reeds die regte bestuurders wat by u programmeerder was, gelaai het en dat dit korrek opgespoor is. Dit moet verskyn onder 'Toestelle en drukkers' in die Windows -menu as dit sou wees sodra dit in die USB -poort gekoppel is! Koppel u doelskyfie op die bord met u USBasp (relevante SDI // ISP -penne met 'n 6 -pins of 10 -pins kabel moet tussen die twee verbind word, naamlik die penne: MOSI, RESET, MISO, SCK, Vcc, Ground).

Gee 'n LEES ALLES uit die spyskaart van Xtreme Burner. Sien foto's en boodskappe wat ons gekry het. Aanvanklik het u skerm 'FF' vir ROM in die eerste TAB van die brander getoon, nadat dit alles gelees is, sal dit die werklike ROM -inhoud op die chip wys. As u 'n fabrieks vars chip of 'n uitgevee chip gebruik het, sou u FF in die inhoud sien na 'Lees alles'. 'N Ongeprogrammeerde chip sal' FF 'in sy geheue wys, so ook 'n EEPROM (tweede oortjie in die programmeerder), die laaste oortjie wys die SIKRINGS.

Na 'n LEES AL die drie oortjies sou die korrekte inligting in die skyfie verskyn. Voordat dit nie sou gebeur nie, gee dus eers 'n Lees alles uit sodra u alles verbind het.

Stap 4: Skryf na Flash (u hex -lêer flits in ROM op die chip)

Skryf na Flash (u Hex -lêer flits in die ROM op die chip)
Skryf na Flash (u Hex -lêer flits in die ROM op die chip)
Skryf na Flash (u Hex -lêer flits in die ROM op die chip)
Skryf na Flash (u Hex -lêer flits in die ROM op die chip)
Skryf na Flash (u Hex -lêer flits in die ROM op die chip)
Skryf na Flash (u Hex -lêer flits in die ROM op die chip)

Kies 'n lêer met behulp van die blaai -dialoog wat oopmaak wanneer u op die eerste ikoon in die menubalk hierbo klik. Ons het een lêer gekies soos u op die foto sien. Nadat u die hex -lêer (intel hex -formaat) gekies het, verander die menubalk wat wys dat "geen lêer gelaai is nie" na die lêernaam wat u gelaai het.

Gee nou 'n skryfflits uit die menu van die sagteware. Die boodskappe wys jou wat gebeur. sien die foto's.

Na 'n suksesvolle skryfwerk, sou u die 'FF' sien wat 'n nuwe of gewiste ROM aandui, verander na wat u program of hex -lêer bevat. Die grootte of aantal grepe wat u lêer in die ROM beslaan, is ook aan u bekend deur na hierdie skerm te kyk, wat u die werklike ROM -inhoud van u doelskyfie wys wat u nou geflits het.

Die verifikasiestap word ook uitgevoer deur die chip te lees, volgens die INSTELLINGS wat ons in die eerste stap gedoen het. Dit word gesien in die boodskappe dat die verifikasie ook suksesvol was.

Stap 5: SIKRINGS: Hoe om dit in 'n ekstreme brander in te stel

SIKRINGS: Hoe om dit in 'n ekstreme brander in te stel
SIKRINGS: Hoe om dit in 'n ekstreme brander in te stel

Toe u 'n LEES uitgereik het, is die sekuriteite van die chip gelees. Dit is die eerste foto wat fuses-j.webp

Miskien moet u dit na iets anders verander. Die sekeringe bestaan uit 4 bokse in die laaste TAB op u eXtreme Burner -skerm. Naamlik LOW FUSE BYTE, HIGH FUSE BYTE, EXTENDED FUSE BYTE, LOCK FUSE BYTE en CALIBRATION BYTE. in die volgorde word dit getoon.

U kan eenvoudig 'n ONLINE lontrekenaar gebruik en dit invul

eleccelerator.com/fusecalc/fusecalc.php?

Of u kan eXtreme -brander gebruik om dit vir u te doen. vanlyn homself te eniger tyd: kies uit die aftreklys wat verskyn as u op die DETAILS -knoppie klik wat onder elke lontbyte is. Dubbelklik net op enige reël in die DETAILS -skerm en kyk hoe dit verander van SET na CLEARED en verander die toestand met u muisklik op elke reël. Die Fuse Byte in die boks hierbo sou dienooreenkomstig verander.

As u wonder: "wat is die lont" en "wat doen hulle"? Lees hierdie uitstekende skrywe:

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

Stap 6: Stel sekuriteite in met behulp van EXtreme Burner Fuse Sakrekenaar

Stel sekuriteite op met behulp van EXTREM Burner Fuse Sakrekenaar
Stel sekuriteite op met behulp van EXTREM Burner Fuse Sakrekenaar
Stel sekuriteite op met behulp van EXtreme Burner lontrekenaar
Stel sekuriteite op met behulp van EXtreme Burner lontrekenaar
Stel sekuriteite op met behulp van EXTREM Burner Fuse Sakrekenaar
Stel sekuriteite op met behulp van EXTREM Burner Fuse Sakrekenaar

U kan die detailskerm sien wat vir elk van die lontgitse verskyn (LOW, HIGH, EXTENDED, LOCK en Calibration). Die kalibrasie -byte moet onveranderd gelaat word, aangesien dit die kalibrasie -data -byte in die AVR toon wat van toepassing is op die interne RC -ossillator. Die LOCK -greep is gewoonlik slegs FF (nie bespreek in die foto's hierbo nie), aangesien u nie die Flash of EEPROM sou sluit terwyl u in die leerstadium was nie. U verander slegs die LOW, HIGH en EXTENDED grepe. Wees versigtig !

As u SPIEN -bit verander na 1 (ongeprogrammeerde toestand is 1 in AVR -mikrobeheerders), kan u nie met u chip kommunikeer met behulp van USBASP of enige programmeerder nie! Die standaardtoestand word ook op u skerm getoon vir elke lontbit. Dit waarsku u dat die standaard SPIEN altyd 0 (geprogrammeerde toestand) is, sodat u die SPI -modus kan gebruik vir ISP -programmering. Ontfoutingsdraad of DW-bit word altyd 1 gelaat (ongeprogrammeer) as SPIEN op 0. Dit is ook die standaardtoestand. Ook in uitgebreide lontbits moet 'Self Programming Enable' '1' wees (ongeprogrammeer) as u u USB-ASP gebruik om u doelskyfie te programmeer (sonder om selflaaiprogram soos in ARDUINO te gebruik).

U kan die CLOCK -stukkies (3 in getal) verander om interne RC of eksterne kristal te kies. Ek laat dit gewoonlik vir interne RC, wat u toelaat om 2 ekstra penne te kry wat die eksterne kristal bevry, wat u as PORT -penne vir u AVR -projekte kan gebruik. Gewoonlik is eksterne kristal nodig as u 'n hoë akkuraatheidstyd in u projek benodig. Vir leerders is interne RC genoeg.

Gewoonlik verander u dit nie, as u eers op 'n sekere lontkombinasie besluit het. Dit sou eenmalig wees. U flits slegs die ROM of soms die EEPROM ook. Vir die flits word die EEPROM -aparte.eep -lêer deur u WINAVR / ATMEL -ateljee gegenereer as u program die EEPROM gebruik om data te stoor. Anders word die EEPROM ongebruik gelaat, gevul met die 'FF' -data wat' NO DATA state 'van EEPROM aandui.

Stap 7: Finale waarde van lontbits

Finale waarde van lontbits
Finale waarde van lontbits

Nadat u al die lontstukkies ingestel het en die DETAILS -bokse wat u gebruik het gesluit, kan u die waarde van die lontstukke sien soos bereken deur die program (sien prent). Al wat oorgebly het, is om 'n "Skryfversekerings" met behulp van die spyskaart uit te reik, en kyk na die boodskappe wat 'n suksesvolle skrywe rapporteer. Later kan u ook 'n LEES ALLE uit die spyskaart uitreik en kyk of die sekuriteite in die laaste TAB op die branderskerm saamval met wat u aan die chip wou skryf. (Sekeringsverifikasie).

U sou opmerk dat aan die begin van hierdie instruksies, toe ons 'n LEESSEKERING gedoen het, dieselfde skerm die waarde van die SIKRING toon wat ons hier sien! Dit is omdat dit die sekeringe is wat ek gereeld gebruik en dit selde verander sodra ek dit in my MCU geplaas het, tensy ek die frekwensie van 1 Mhz na 4Mhz verander vir sommige projekte. Die AVR kan ingestel word op maksimum 20Mhz (sommige skyfies slegs tot 16Mhz). Die frekwensie wat u vir F_cpu stel, hang ook af van die spanning waarmee u die skyfie voorsien! As u chip byvoorbeeld werk van 1.8V Vcc tot 5.5V Vcc (datablad verwys), sou u nie verwag dat u chip op 20 mhz sou werk as u slegs 1.8V daaraan voorsien het nie! jy verwag te veel daarvan! 'N Tabel in die gegewensblad dui aan teen watter spanning die frekwensie eindig teen watter syfer. Hoe hoër die frekwensie van u chip, hoe meer hitte en meer krag wat dit verbruik. Dink aan die frekwensie soos die hartklop van 'n dier. 'N Kolibrie met 'n hoë hartklop het 'n hoër energieverbruik per minuut as 'n walvis of olifant met 'n baie laer hartklop! Maar dan kan dit in 'n korter tyd baie meer doen. Die MCU is net so.

Stap 8: Voltooi

Nadat u al die stappe in die eXtreme -brander voltooi het, het u die ROM van 'n chip gelees, 'n HEX -lêer oopgemaak en dit na die chip geblits en geverifieer dat die flits goed is; u het ook geleer hoe om die sekeringe in te stel en dit na die chip te laat flits.

As u enige vrae het, sal ek die tutoriaal graag beantwoord of verander om dit duideliker te maak.

Vir sommige skyfies kan die opname ontbreek in die aftrekkieslys in die spyskaart. Of u kan skryffoute ondervind en foute verifieer. Lees in sulke gevalle my ander instruksionele 'Hacking eXtreme Burner' om die probleem op te los.

Gelukkige programmering.

Aanbeveel: