Orodha ya maudhui:

KUTUMIA Burner ya Juu kwa Programu ya Microcontroller ya AVR: Hatua 8
KUTUMIA Burner ya Juu kwa Programu ya Microcontroller ya AVR: Hatua 8

Video: KUTUMIA Burner ya Juu kwa Programu ya Microcontroller ya AVR: Hatua 8

Video: KUTUMIA Burner ya Juu kwa Programu ya Microcontroller ya AVR: Hatua 8
Video: JINSI YA KUFUNGA BURNER NA KUWEKA MAFIGA KWENYE MTUNGI MDOGO WA GESI 2024, Julai
Anonim
KUTUMIA Burner ya Juu kwa Programu ya Microcontroller ya AVR
KUTUMIA Burner ya Juu kwa Programu ya Microcontroller ya AVR

Ndugu nyote za watumiaji wa AVR huko nje, na wale wanaoingia tu kwenye mkondo, Wengine wenu walianza na wadhibiti wa PIC na wengine walianza na ATMEL AVRs, hii imeandikwa kwako!

Kwa hivyo umenunua USBASP kwa sababu ni ya bei rahisi na nzuri kuangazia ROM kwenye kifaa chako cha Atmega, au labda anuwai ya ATTINY. Hizi zinaweza kupatikana kwa chini ya $ 5, kama viini vya Kichina vya chanzo wazi cha USB-ASP! AVRdude ni programu ya kuzipanga.

Bila shaka unajua jinsi ya kutengeneza faili ya Hex ukitumia Studio ya Atmel (bado ninatumia AVR Studio v4.19 badala ya v7 ya hivi karibuni kwa sababu snappier yake na kwa kasi kwenye kompyuta yangu ndogo ya msingi ya CPU) / Netbook na WINAVR funga ikiwa unasoma hii Chochote kilichoandikwa katika DotNet kinaendesha polepole! na matoleo ya baadaye yameundwa kufanya kompyuta yako ndogo iendeshe kama kobe! Unaweza kutumia Studio v4.19 toleo kubwa zaidi la Studio kutoka kwa ATMEL kwa watawala wadhibiti wa AVR, ukibadilisha hadi toleo la 7 wakati unahitaji kweli kwa chipu za baadaye, na ufanye wakati wako kwenye kompyuta ndogo uwe na tija zaidi, ukifanya kazi badala ya kusubiri! Hii ndio ninayopendekeza.

Mstari wa amri wa dude wa kawaida wa mpango wa Atmega na faili ya Hex, inaendesha kama hii:

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

hapa pwmeg1.hex ni faili ya Intel hex ya "kuchomwa moto" au "kuangaza" kwenye "lengo la MCU" katika microcontroller Lingo

Hiyo ni mdomo kukumbuka! Unaweza kuandika faili ya batch na kuiendesha kwenye laini ya amri kwenye windows, ukipa jina write_flash.bat. Vivyo hivyo kwa kusoma fuse, kinywa kingine cha laini ya kukumbuka! Inachosha.

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

Suluhisho ni kutumia mojawapo ya zana za mwisho-mwisho za GUI za mtumiaji kwa AVRdude kama Bitburner, programu ya Khazama, ambayo ni sawa sawa katika sifa. Burner ya juu. Nimetumia zana ya kutumia bure: eXtreme Burner sana, inayofaa, ya kuaminika, na mafunzo haya ni juu ya hilo. Haiwezi tu kuwasha hex / programu yako ya hex kwa MPU, kwa kutumia maagizo yaliyotolewa kwa AVRdude kwa nyuma, inaweza pia kukusaidia kuweka FUSES ambayo ni somo gumu ambalo mara nyingi huwachanganya Kompyuta kwenye programu ya AVR. Hapa kuna kiunga cha mafunzo bora juu ya somo la FUSES ambazo unaweza kupitia au kusugua. Onyo: ATMEL hutumia hali ya '1' ya FUSE kidogo kuonyesha hali yake ya "chaguo-msingi" (hali isiyowekwa au isiyopangwa) na '0' kuonyesha hali yake iliyowekwa au iliyowekwa au iliyowekwa! Hii ni kinyume tu na kile unachofanya na bits FUSE kwenye microcontroller ya PIC. Kuwa mwangalifu wakati unabadilisha fuse za saa kama kufanya saa ya ndani ya RC ibadilike kuwa glasi ya nje kwa sababu hii itasababisha shida katika kuunganisha chip bila usanidi wa kioo wa nje. Vivyo hivyo kuwa mwangalifu unapobadilisha hali ya fyuzi muhimu kama SPIEN na Rudisha Ulemavu (hizi zinapaswa kuwekwa kila siku kuwa SPIEN = 0 na KUWEKA KULEZEA = 1 ikiwa unataka kuendelea kuwasiliana na MCU na USB-ASP yako katika hali ya ISP / SPI Ukibadilisha hii utahitaji programu ya High Voltage ili 'usumbue' AVR yako.

Ikiwa unashangaa "nini heks ni fuses" na "wanafanya nini"? Soma maandishi haya bora:

Mada nyingine inayohusiana ni jinsi ya kuweka kasi ya Saa ya AVR MPU yako ambayo ina uwezo wa kasi kutoka 1Mhz upto 16 au 20Mhz. Kuna pia chaguo maalum la nguvu ya chini ya nguvu 31.25kHz ambayo ikiwa imeundwa vizuri inaweza kufanya AVR yako ikimbie betri za AA kwa miezi 3!

Zote hizi, bits Fuse Clock (frequency na Aina ya saa ndani RC / kioo nje, na bits Fuse) zinaweza kuwekwa kupitia kichupo cha FUSES kwenye eXtreme Burner. Kwanza tutakuonyesha usome ROM, na kisha jinsi ya kuangaza faili ya hex ukitumia Burner ya Mkazo. Kwa kweli, unaweza kutumia tovuti za fyuzi za AVR mkondoni pia, lakini chaguo ninaloelezea linaweza kutumika ukiwa nje ya mtandao pia, mahali popote.

Hatua ya 1: Mipangilio ya Kufanywa:

Mipangilio ya Kufanywa
Mipangilio ya Kufanywa
Mipangilio ya Kufanywa
Mipangilio ya Kufanywa
Mipangilio ya Kufanywa
Mipangilio ya Kufanywa
Mipangilio ya Kufanywa
Mipangilio ya Kufanywa

Picha zinaonyesha MIPANGO ya kufanywa kabla ya kuanza kazi yako. (ni mara moja tu). Chini ya kipengee cha menyu ya 'Mipangilio ya vifaa', tunachagua 375Hz kwa sababu MCU nyingi kutoka kiwanda cha ATMEL zimewekwa kwa mipangilio ya Default ya saa 1 Mhz CPU kwenye oscillator ya ndani ya RC. Kasi ya ISP ni Robo ya F_cpu. Hiyo inatupa 375 Khz kasi ya karibu, unaweza kwenda kwa kasi ya chini pia, haitaleta tofauti kubwa. Unaweza kujaribu kuunganisha ukiacha hii kwa msingi wake, na utoe 'soma yote', ikiwa inashindwa basi unaweza kuja hapa na kubadilisha kasi, na kuifanya iwe chini.

Kwa sababu ikiwa huwezi kuunganisha (ujumbe ungetolewa kwenye kidirisha cha programu "hauwezi kuwasiliana na chip, haiwezi SCK" inamaanisha ishara ya saa kutoka kwa PC yako haikuweza kusawazisha na chip yako unayojaribu kusoma au hautaweza kubadilisha kasi ya Saa ya CPU au kubadilisha kasi na aina! Kwa hivyo kuunganisha ni msingi wa kila kitu! Ni kama "MAWASILIANO YA KWANZA" kama unavyoona kwenye sinema za Spielberg. Ukifanikiwa katika hili, unaweza kuongeza kasi ya saa ya MCU yako kwa kusanikisha fyuzi ipasavyo, na baadaye utumie kasi ya juu kuungana.

Kwa hivyo pitia picha za mipangilio ya vifaa iliyotolewa hapa, kisha weka aina ya kifaa pia (chip unayojaribu kupanga, nambari yake ya mfano).

Hatua ya 2: Kuweka Aina ya Kifaa chako

Kuweka Aina ya Kifaa chako
Kuweka Aina ya Kifaa chako
Kuweka Aina ya Kifaa chako
Kuweka Aina ya Kifaa chako
Kuweka Aina ya Kifaa chako
Kuweka Aina ya Kifaa chako

tazama picha ya skrini, Pic 1, tumeweka "ATTINY44A". Hii ni pini 14 ya Microcontroller bila UART. Nimekuwa nikitumia hii hivi karibuni, toleo la SSU. Ikiwa umeweka toleo la hisa la burner uliokithiri hautaona Attiny44A katika orodha ya kushuka kwa uteuzi wa kifaa, utaona Attiny44 ambayo kwa madhumuni yote tunaweza kutumia kuandaa Attiny44A pia, kuanzisha kifaa chochote ambacho hakijaorodheshwa kwenye orodha hii ya kushuka, soma kitabu changu kingine cha "Hacking eXtreme Burner".

Nimekuwa nikitumia Atmega88PA-AU pia na eXtreme Burner lakini katika hii Inayoweza kufundishwa tunataja "Attiny44A" kila mahali. Sasa unawezaje kutengeneza toleo la ubao wa mkate wa kipande kidogo cha mraba 7mm cha SMD na ujaribu na programu zako? (tazama picha zinazoonyesha saizi ya chip), Kwa hili, angalia mafundisho yangu mengine ambapo ninaonyesha jinsi ya kutengeneza Bodi ya mkate inayofaa Moduli za Programu-jalizi kwa kutumia Attiny44A-SSU na ATmega88PA-AU

Mara tu utakapojifunza mbinu hii utaweza kuangalia chip yoyote unayotamani kuichunguza, iwe ni kifurushi chake cha SMD au DIL. Kwa mfano, nimetumia hata chip ya SMD inayokuja kwa kifurushi cha pini 32-0.8mm pin lami ya Quad (Atmega88A) vivyo hivyo!

. Au unaweza kutumia tu toleo la 28pin DIL la Attiny44A kwa hii inayoweza kufundishwa au AVR yoyote unayotumia wakati huu kujaribu Burner ya juu kwa programu ya AVR..

Hatua ya 3: Toa SOMA ZOTE au SOMA FLASH

Toa SOMA ZOTE au SOMA FLASH
Toa SOMA ZOTE au SOMA FLASH
Toa SOMA ZOTE au SOMA FLASH
Toa SOMA ZOTE au SOMA FLASH

Unganisha USBasp yako kwenye bandari ya USB ya kompyuta yako ndogo, nadhani tayari umeshapakia madereva sahihi ambayo yalikuja na programu yako na ambayo imegunduliwa kwa usahihi. Inapaswa kuonekana chini ya 'Vifaa na Printers' kwenye menyu ya kuanza windows ikiwa ingekuwa, mara tu ilipowekwa kwenye bandari ya USB! Unganisha kifaa chako cha kulenga kwenye ubao wake na USBasp yako (pini za SDI // ISP zinazofaa kutumia pini 6 au kebo ya pini 10 lazima iunganishwe kati ya hizo mbili, ambazo ni pini: MOSI, SETA, MISO, SCK, Vcc, Ground).

Toa SOMA YOTE kutoka kwa MENU ya Xtreme Burner. Tazama picha na ujumbe tuliopata. Hapo awali skrini yako ilionyesha 'FF' kwa ROM katika TAB ya Kwanza ya kichomaji, baada ya kusoma yote itaonyesha yaliyomo halisi ya ROM kwenye chip. Ikiwa unatumia chip safi ya kiwanda au chip iliyofutwa ungeona FF katika yaliyomo baada ya "Soma Zote". Chip isiyopangwa itaonyesha 'FF' kwenye kumbukumbu yake, na hivyo EEPROM (kichupo cha pili katika programu), kichupo cha mwisho kinaonyesha FUSES.

Baada ya SOMA vichupo vyote 3 vitaonyesha habari sahihi iliyomo kwenye chip. Kabla ya hapo isingekuwa, kwa hivyo toa Soma kwanza kabisa mara tu utakapounganisha kila kitu.

Hatua ya 4: Andika kwa Flash (Faili yako ya Hex imeangaza ndani ya ROM kwenye Chip)

Andika kwa Flash (Faili yako ya Hex imeangaza ndani ya ROM kwenye Chip)
Andika kwa Flash (Faili yako ya Hex imeangaza ndani ya ROM kwenye Chip)
Andika kwa Flash (Faili yako ya Hex imeangaza ndani ya ROM kwenye Chip)
Andika kwa Flash (Faili yako ya Hex imeangaza ndani ya ROM kwenye Chip)
Andika kwa Flash (Faili yako ya Hex imeangaza ndani ya ROM kwenye Chip)
Andika kwa Flash (Faili yako ya Hex imeangaza ndani ya ROM kwenye Chip)

Chagua faili ukitumia mazungumzo ya Vinjari ambayo hufungua unapobofya ikoni ya kwanza kwenye upau wa MENU hapo juu. Tulichagua faili moja kama unavyoona kwenye picha. Mara tu unapochagua faili ya hex (fomati ya Intel hex) Menyu ya menyu ambayo ilionyesha "hakuna faili iliyobeba" ilibadilishwa kuwa jina la faili uliyopakia.

Sasa Toa Kiwango cha Kuandika kutoka kwenye Menyu ya programu. Ujumbe utakuonyesha kile kinachotokea. tazama picha.

Baada ya kuandika kwa mafanikio, utaona 'FF' inayoashiria mabadiliko ya ROM mpya au kufutwa kwa kile mpango wako au faili ya hex ina. Ukubwa au idadi ya ka ambazo faili yako inachukua katika ROM pia inajulikana kwako kwa kutazama skrini hii, ambayo inakuonyesha yaliyomo halisi ya ROM ya chip chako cha lengo uliyoangaza sasa hivi.

Hatua ya uthibitishaji pia inafanywa kwa kusoma chip, kulingana na SETTINGS tuliyofanya katika hatua ya kwanza. Hii inaonekana katika ujumbe kwamba uthibitishaji pia ulifanikiwa.

Hatua ya 5: FUSES: Jinsi ya Kuziweka kwenye Burner ya Juu

FUSES: Jinsi ya Kuziweka kwenye Burner ya Juu
FUSES: Jinsi ya Kuziweka kwenye Burner ya Juu

Wakati ulitoa SOMA fuse ZOTE zilisomwa kutoka kwenye chip. Hiyo ni picha ya KWANZA iliyoonyeshwa fuses.jpg.

Sasa labda unahitaji kuibadilisha iwe kitu kingine. Fuses zinajumuisha sanduku 4 kwenye TAB ya mwisho kwenye skrini yako ya eXtreme Burner. Yaani LTE YA FUSI YA CHINI, BURE YA JUU YA FUSI, BURE YA FUSE ILIYOONGEZEKA, FUNGUA FITI YA FUSE na KAWILI YA KAWAIDA. kwa utaratibu huo zinaonyeshwa.

Unaweza tu kutumia kikokotoo cha fyuzi ya MTANDAONI na kuzijaza kama ile

eleccelerator.com/fusecalc/fusecalc.php?

Au unaweza kutumia burner kubwa kukufanyia. nje ya mtandao wakati wowote: Chagua kutoka orodha kunjuzi inayoonekana unapobofya kitufe cha MAELEZO ambacho kiko chini ya kila aina ya fyuzi. Bonyeza mara mbili tu kwenye laini yoyote kwenye skrini ya MAELEZO na uiangalie ikibadilika kutoka SET hadi ILIYOFUNGWA na ubadilishe hali yake na bonyeza mouse yako kwenye kila mstari. Fuse Byte kwenye kisanduku hapo juu itabadilika ipasavyo.

Ikiwa unashangaa "nini heks ni fuses" na "wanafanya nini"? Soma maandishi haya bora:

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

Hatua ya 6: Kuweka Fuses Kutumia Kikokotozi cha Fuse ya Burner

Kuweka Fuses Kutumia Calculator Fuse ya Burner ya Burner
Kuweka Fuses Kutumia Calculator Fuse ya Burner ya Burner
Kuweka Fuses Kutumia Calculator Fuse ya Burner ya Burner
Kuweka Fuses Kutumia Calculator Fuse ya Burner ya Burner
Kuweka Fuses Kutumia Calculator Fuse ya Burner ya Burner
Kuweka Fuses Kutumia Calculator Fuse ya Burner ya Burner

Unaweza kuona Skrini ya Maelezo inayoonekana kwa kila baiti za fuse (LOW, HIGH, EXTENDED, LOCK, na Calibration). Baiti ya calibration inapaswa kuachwa bila kubadilika kwani inaonyesha data ya hesabu katika AVR ambayo inatumika kwa oscillator ya ndani ya RC. Kawaida ya LOCK byte kawaida ni FF tu, (haijajadiliwa kwenye picha hapo juu) kwani haungekuwa ukifunga Flash au EEPROM ukiwa katika hatua ya kujifunza. Ungekuwa ukibadilisha tu kaa YA CHINI, YA JUU na ILIYOongezwa. Kuwa mwangalifu !

Ikiwa utabadilisha SPIEN kidogo kuwa 1 (hali isiyopangwa ni 1 katika wadhibiti wa AVR) hautaweza kuwasiliana na chip yako kwa kutumia USBASP au programu yoyote! Hali chaguomsingi pia inaonyeshwa kwenye skrini yako kwa kila fuse. Hii inakuarifu kuwa chaguomsingi ya SPIEN daima ni 0 (hali iliyowekwa) kukuruhusu kutumia hali ya SPI kwa programu ya ISP. Waya wa utatuzi au DW kidogo huachwa 1 (bila mpango) wakati SPIEN imewekwa kuwa 0. Hii ni hali yake chaguomsingi pia. Pia, katika Vipengee vya Fuse Iliyowezeshwa 'Wezesha Programu' Wezesha inapaswa kuwa '1' (isiyopangwa) ikiwa unatumia USB-ASP yako kupanga chip yako ya lengo (bila kutumia ROM ya bootloader kama katika ARDUINO).

Unaweza kubadilisha BITI za saa (3 kwa idadi) kuchagua RC ya ndani au glasi ya nje. Kawaida mimi huiachia RC ya ndani ambayo hukuruhusu kupata pini 2 za ziada ambazo kufungua glasi ya nje inajumuisha kutumia kama pini za PORT kwa miradi yako ya AVR. Kawaida kioo cha nje kinahitajika wakati unahitaji usahihi wa hali ya juu katika mradi wako. Kwa wanafunzi wa ndani RC inatosha.

Kawaida mara tu unapokaa kwenye mchanganyiko wa fuse ungekuwa hauibadilishi. Ingekuwa wakati mmoja. Ungekuwa ukiangaza tu ROM au wakati mwingine EEPROM pia. Kwa Flashing faili tofauti ya EEPROM imetengenezwa na studio yako ya WINAVR / ATMEL ikiwa programu yako yote inatumia EEPROM kuhifadhi data. Vinginevyo EEPROM imesalia bila kutumiwa, imejazwa na data ya 'FF' ambayo inaonyesha 'NO DATA state' ya EEPROM.

Hatua ya 7: Thamani ya Mwisho ya Fiti Bits

Thamani ya Mwisho ya Fiti Bits
Thamani ya Mwisho ya Fiti Bits

Baada ya kuweka bits zote za Fuse, na kufunga sanduku za MAELEZO ulizotumia, unaweza kuona thamani ya bits Fuse kama ilivyohesabiwa na mpango (angalia picha). Kilichobaki ni kutoa "Andika Fuses" ukitumia menyu. Na angalia ujumbe ambao unaripoti kuandika kwa mafanikio. Baadaye, unaweza pia kutoa SOMA YOTE kutoka kwenye menyu na uangalie ikiwa fyuzi zilizosomwa katika TAB ya mwisho ya skrini ya burner sanjari na kile unachotaka kuandika kwa chip. (Uthibitishaji wa Fuse).

Utagundua kuwa mwanzoni mwa Maagizo haya wakati tulifanya FUSES ZA SOMA, skrini inaonyesha maadili sawa ya FUSE ambayo tunaona hapa! Hiyo ni kwa sababu hizi ni fyuzi ambazo mimi hutumia mara nyingi na huwa hazibadiliki mara tu ninapoweka kwenye MCU yangu, isipokuwa nibadilishe masafa kutoka 1 Mhz hadi 4Mhz kwa miradi mingine. AVR inaweza kuweka kiwango cha juu cha 20Mhz (baadhi ya chips tu hadi 16Mhz). Mzunguko ulioweka kwa F_cpu pia inategemea Voltage unayosambaza chip na! Kwa mfano ikiwa chip yako inafanya kazi kutoka 1.8V ya Vcc upto 5.5V ya Vcc (data sheet rejea) hautarajii kuendesha Chip yako kwa mhz 20 ikiwa unatoa 1.8V tu kwake! unatarajia mengi kutoka kwake! Jedwali kwenye karatasi ya data linakuambia kwa voltage gani freq inajitokeza kwa takwimu gani. Kadiri mzunguko wako wa operesheni ya chip unavyoongezeka, ndivyo joto na nguvu inavyotumia zaidi. Fikiria Mzunguko kama Mapigo ya Moyo ya mnyama. Hummingbird aliye na kiwango cha juu cha kusikia angeweza kuchoma nishati kwa dakika ikilinganishwa na Nyangumi au tembo aliye na mapigo ya moyo chini! Lakini basi inaweza kufanya mengi zaidi kwa muda mfupi. MCU iko kama hiyo.

Hatua ya 8: Maliza

Sasa umekamilisha hatua zote kwenye eXtreme burner, umesoma ROM ya chip, au umefungua faili ya HEX na kuangaza kwa chip na uhakikishe kuwa flash ilikuwa sawa, pia umejifunza jinsi ya kuweka fuses na kuziwasha kwenye chip.

Ikiwa una maswali yoyote, nitafurahi kujibu au kurekebisha mafunzo ili kuifanya iwe wazi.

Kwa chips zingine unaweza kupata kuingia kwake kukosekana kwenye orodha ya kushuka kwa uteuzi wa chip kwenye menyu. Au unaweza kukabiliwa na makosa ya kuandika na uthibitishe makosa. Katika hali kama hizi tafadhali soma nyingine yangu inayoweza kuagizwa "Hacking eXtreme Burner" ili kutatua suala hilo.

Programu ya furaha.

Ilipendekeza: