Talaan ng mga Nilalaman:

PAGGAMIT ng Extreme Burner para sa AVR Microcontroller Programming: 8 Hakbang
PAGGAMIT ng Extreme Burner para sa AVR Microcontroller Programming: 8 Hakbang

Video: PAGGAMIT ng Extreme Burner para sa AVR Microcontroller Programming: 8 Hakbang

Video: PAGGAMIT ng Extreme Burner para sa AVR Microcontroller Programming: 8 Hakbang
Video: Part 3 - Around the World in 80 Days Audiobook by Jules Verne (Chs 26-37) 2024, Nobyembre
Anonim
PAGGAMIT ng Extreme Burner para sa AVR Microcontroller Programming
PAGGAMIT ng Extreme Burner para sa AVR Microcontroller Programming

Lahat kayong AVR user fraternity diyan, at iyong mga papasok lamang sa stream, Ang ilan sa inyo ay nagsimula sa mga PIC microcontroller at ang ilan ay nagsimula sa mga ATMEL AVR, nakasulat ito para sa iyo!

Kaya bumili ka ng isang USBASP dahil ang mura at epektibo upang i-flash ang ROM sa iyong aparato ng Atmega, o marahil ang saklaw na ATTINY. Maaari itong makuha nang wala pang 5 $, bilang mga clone ng chine ng Open source USB-ASP! Ang AVRdude ay ang software upang mai-program ang mga ito.

Walang alinlangan na alam mo kung paano bumuo ng isang Hex file gamit ang Atmel Studio (Gumagamit pa rin ako ng AVR Studio v4.19 sa halip na ang pinakabagong v7 dahil ang snappier at mas mabilis sa aking light solong core CPU laptop) / Netbook at WINAVR i-install kung binabasa mo ito. Ang anumang nakasulat sa DotNet ay nagpapatakbo ng Mabagal! at ang mga susunod na bersyon ay idinisenyo upang mapatakbo ang iyong laptop tulad ng isang pagong! Maaari mong gamitin ang Studio v4.19 ang pinakadakilang bersyon ng Studio mula sa ATMEL para sa mga AVR microcontroller, na lumilipat sa bersyon 7 kapag talagang kailangan mo ito para sa mga susunod na chips, at gawing mas mabunga ang iyong oras sa laptop, nagtatrabaho sa halip na maghintay! Ito ang inirerekumenda ko.

Ang isang tipikal na linya ng utos ng dude na AVR upang mag-program ng isang Atmega na may Hex file, ay tumatakbo tulad nito:

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

narito ang pwmeg1.hex ay ang Intel hex file upang "masunog" o "mai-flash" sa "target MCU" sa microcontroller Lingo

Iyon ay isang bibig upang matandaan! Maaari kang magsulat ng isang file ng pangkat at patakbuhin ito sa linya ng utos sa mga bintana, na pinangalanan itong write_flash.bat. Katulad din para sa pagbabasa ng mga piyus, isa pang bukana ng isang linya na dapat tandaan! Nakakapagod.

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

Ang solusyon ay ang paggamit ng isa sa mga madaling gamitin na tool ng GUI na front-end na tool sa AVRdude tulad ng Bitburner, Khazama programmer, na halos magkatulad sa merito. eXtreme Burner. Ginamit ko ang libreng gamit na tool: eXtreme Burner ng maraming, maraming nalalaman, maaasahan, at ang tutorial na ito ay tungkol doon. Hindi lamang nito mai-flash ang iyong hex file / program sa MPU, gamit ang mga utos na inisyu sa AVRdude sa likuran, maaari ka ring matulungan na itakda ang FUSES na isang komplikadong paksa na madalas na nakalilito sa mga nagsisimula sa AVR program. Narito ang isang link sa isang mahusay na tutorial sa paksa ng FUSES na maaari mong dumaan o magsipilyo. Isang salita ng pag-iingat: Gumagamit ang ATMEL ng '1' estado ng isang maliit na Fuse upang ipahiwatig ang estado na 'default' (hindi naka-set o hindi naka-program na estado) at '0' upang ipahiwatig ang naka-program o naitakda o na-activate na estado! Ito ay kabaligtaran lamang ng kung ano ang gagawin mo sa mga fuse bit sa isang PIC microcontroller. Mag-ingat kapag binago mo ang mga orasan ng piyus ng orasan tulad ng paggawa ng panloob na relo ng RC sa panlabas na kristal dahil lilikha ito ng mga problema sa pagkonekta sa maliit na tilad nang walang isang panlabas na pag-set up ng kristal. Gayundin maging maingat kapag binago mo ang estado ng mga kritikal na piyus ng piyus tulad ng SPIEN at RESET DISABLE (dapat itong laging itakda sa SPIEN = 0 at RESET DISABLE = 1 kung nais mong ipagpatuloy ang pakikipag-ugnay sa MCU sa iyong USB-ASP sa ISP / SPI mode Kung botch mo ito kakailanganin mo ang isang High Voltage programmer upang 'i-unbrick' ang iyong AVR.

Kung nagtataka ka "ano ba ang mga piyus" at "ano ang ginagawa nila"? Basahin ang mahusay na pagsulat na ito:

Ang isa pang nauugnay na paksa ay kung paano itakda ang bilis ng Orasan ng iyong AVR MPU na may kakayahang bilis mula sa 1Mhz hanggang 16 o 20Mhz. Mayroon ding isang espesyal na kapangyarihan na may mababang dalas na pagpipilian ng kristal na 31.25kHz na kung maayos na idinisenyo ay maaaring mapatakbo ang iyong AVR mula sa mga baterya ng AA sa loob ng 3 buwan!

Parehong mga ito, Clock Fuse bits (parehong dalas at Uri ng orasan na panloob na RC / panlabas na kristal, at iba pang mga piyus ng Fuse) ay maaaring maitakda sa pamamagitan ng tab na FUSES sa eXtreme Burner. Ipapakita namin sa iyo muna na basahin ang ROM, at pagkatapos kung paano i-flash ang hex file gamit ang eXtreme Burner. Siyempre, maaari mo ring gamitin ang mga online AVR fuse website din, ngunit ang opsyong ipinapaliwanag ko ay maaaring magamit kapag naka-offline ka rin, saanman.

Hakbang 1: Mga Setting na Gagawin:

Mga setting na Gagawin
Mga setting na Gagawin
Mga setting na Gagawin
Mga setting na Gagawin
Mga setting na Gagawin
Mga setting na Gagawin
Mga setting na Gagawin
Mga setting na Gagawin

Ipinapakita ng mga larawan ang mga SETTING na dapat gawin bago mo simulan ang iyong trabaho. (isang beses lamang ito). Sa ilalim ng item na 'Mga setting ng hardware' na sub-menu, pipiliin namin ang 375Hz dahil ang karamihan sa MCU mula sa pabrika ng ATMEL ay nakatakda sa Mga default na setting ng 1 Mhz CPU na orasan sa panloob na RC oscillator. Ang bilis ng ISP ay isang Quarter ng F_cpu. Nagbibigay iyon sa amin ng 375 Khz na pinakamalapit na bilis, maaari kang pumunta sa isang mas mababang bilis din, hindi ito magkakaroon ng malaking pagkakaiba. Maaari mong subukang ikonekta ang pag-iwan dito sa default nito, at maglabas ng isang 'basahin lahat', kung nabigo ito ay maaari kang lumapit dito at baguhin ang bilis, gawing mas mababa ito.

Dahil kung hindi mo makakonekta (ang mensahe ay ibibigay sa window ng programmer na "hindi makikipag-usap sa maliit na tilad, hindi kaya ang SCK" nangangahulugang ang signal ng orasan mula sa iyong PC ay hindi makakasabay sa iyong chip na sinusubukan mong basahin o programa)., hindi mo mababago ang bilis ng Orasan ng CPU o baguhin ang bilis at uri nito! Kaya't ang pagkonekta ay ang batayan ng lahat! Ito ay tulad ng "UNANG CONTACT" tulad ng nakikita mo sa mga pelikulang Spielberg. Kung magtagumpay ka dito, palagi mong madaragdagan ang bilis ng orasan ng iyong MCU sa pamamagitan ng pag-program ng mga piyus nang naaayon, at sa paglaon ay gumamit ng isang mas mataas na bilis upang kumonekta.

Kaya dumaan sa mga snapshot ng mga setting ng hardware na ibinigay dito, pagkatapos ay itakda din ang uri ng aparato (ang chip na sinusubukan mong i-program, ang numero ng modelo nito).

Hakbang 2: Pagtatakda ng Iyong Uri ng Device

Pagtatakda ng Iyong Uri ng Device
Pagtatakda ng Iyong Uri ng Device
Pagtatakda ng Iyong Uri ng Device
Pagtatakda ng Iyong Uri ng Device
Pagtatakda ng Iyong Uri ng Device
Pagtatakda ng Iyong Uri ng Device

tingnan ang screenshot, Pic 1, itinakda namin ang "ATTINY44A". Ito ay isang 14 pin Microcontroller sans UART. Ginamit ko ito kamakailan, ang bersyon ng SSU. Kung na-install mo ang bersyon ng stock ng Extreme burner hindi mo makikita ang Attiny44A sa listahan ng drop down na pagpipilian ng aparato, makakakita ka ng isang Attiny44 na para sa lahat ng mga layunin maaari naming magamit upang mai-program din ang Attiny44A, upang ipakilala ang anumang aparato na hindi nakalista sa drop down list na ito, basahin ang aking iba pang itinuturo na "Hacking eXtreme Burner".

Gumagamit ako ng Atmega88PA-AU din sa eXtreme Burner ngunit sa Instructable na ito binabanggit namin ang "Attiny44A" saanman. Ngayon paano ka makagawa ng isang bersyon ng breadboard ng maliit na maliit na 7mm square SMD chip at subukan ito sa iyong mga programa? (tingnan ang mga larawan na tumutukoy sa laki ng maliit na tilad), Para sa mga ito, tingnan ang aking iba pang itinuturo kung saan ipinapakita ko kung paano gumawa ng angkop na Mga Module ng Plug-in sa Breadboard gamit ang Attiny44A-SSU at ATmega88PA-AU

Kapag natutunan mo ang diskarteng ito maaari mong suriin ang anumang maliit na tilad na gusto mong magtipid, kung ang SMD o DIL na pakete ba. Halimbawa, gumamit pa ako ng isang SMD chip na darating sa isang 32-pin 0.8mm pin pitch na Quad package (Atmega88A) sa katulad na pamamaraan!

. O maaari mo lamang gamitin ang bersyon na 28pin DIL ng Attiny44A para sa Instructable na ito o anumang AVR na iyong ginagamit sa ngayon upang subukan ang eXtreme Burner para sa AVR program..

Hakbang 3: Mag-isyu ng isang BASAHIN ANG LAHAT o BASAHIN ANG FLASH

Mag-isyu ng isang BASAHIN LAHAT o BASAHIN ANG FLASH
Mag-isyu ng isang BASAHIN LAHAT o BASAHIN ANG FLASH
Mag-isyu ng isang BASAHIN LAHAT o BASAHIN ANG FLASH
Mag-isyu ng isang BASAHIN LAHAT o BASAHIN ANG FLASH

Ikonekta ang iyong USBasp sa USB port ng iyong laptop, ipinapalagay ko na na-load mo na ang mga tamang driver na kasama ng iyong programmer at na tama itong napansin. Dapat itong lumitaw sa ilalim ng 'Mga Device at Printer' sa windows start menu kung ito, sa sandaling naka-plug ito sa USB port! Ikonekta ang iyong target chip sa board nito gamit ang iyong USBasp (kaugnay na mga SDI // ISP pin na gumagamit ng 6 pin o 10 pin cable ay dapat na konektado sa pagitan ng dalawa, katulad ng mga pin: MOSI, RESET, MISO, SCK, Vcc, Ground).

Mag-isyu ng isang BASAHIN LAHAT mula sa MENU ng Xtreme Burner. Tingnan ang mga litrato at mensahe na nakuha namin. Sa una ipinakita ng iyong screen ang 'FF' para sa ROM sa First TAB ng burner, pagkatapos basahin ang lahat ay ipapakita nito ang aktwal na mga nilalaman ng ROM sa maliit na tilad. Kung gumamit ka ng isang fresh chip ng pabrika o isang nabura na chip makikita mo ang FF sa mga nilalaman pagkatapos ng isang "Basahin Lahat". Ang isang walang programa na chip ay magpapakita ng 'FF' sa memorya nito, gayundin ang isang EEPROM (pangalawang tab sa programmer), ipinapakita ng huling tab ang FUSES.

Matapos ang isang BASAHIN ANG LAHAT ng 3 mga tab ay magpapakita ng tamang impormasyon na nilalaman sa maliit na tilad. Bago ito ay hindi, kaya maglabas muna ng Basahin ang lahat sa sandaling ikonekta mo ang lahat.

Hakbang 4: Sumulat sa Flash (ang iyong Hex File Flashing Sa ROM sa Chip)

Sumulat sa Flash (ang iyong Hex File Flashing Sa ROM sa Chip)
Sumulat sa Flash (ang iyong Hex File Flashing Sa ROM sa Chip)
Sumulat sa Flash (ang iyong Hex File Flashing Sa ROM sa Chip)
Sumulat sa Flash (ang iyong Hex File Flashing Sa ROM sa Chip)
Sumulat sa Flash (ang iyong Hex File Flashing Sa ROM sa Chip)
Sumulat sa Flash (ang iyong Hex File Flashing Sa ROM sa Chip)

Pumili ng isang file gamit ang dialog ng Browse na magbubukas kapag nag-click sa unang icon sa MENU bar sa itaas. Pinili namin ang isang file tulad ng nakikita mo sa pic. Kapag pinili mo ang hex file (format na intel hex) ang Menu bar na ipinakita na "walang file na na-load" ay binago sa pangalan ng file na iyong na-load.

Ngayon Mag-isyu ng isang Sumulat ng Flash mula sa Menu ng software. Ipapakita sa iyo ng mga mensahe kung ano ang nangyayari. tingnan ang mga larawan.

Matapos ang isang matagumpay na pagsulat, makikita mo ang 'FF' na markahan ang isang sariwa o nabura na pagbabago ng ROM sa kung ano ang nilalaman ng iyong programa o hex file. Ang laki o bilang ng mga byte na sinasakop ng iyong file sa ROM ay kilala mo rin sa pamamagitan ng pagtingin sa screen na ito, na nagpapakita sa iyo ng aktwal na mga nilalaman ng ROM ng iyong target na chip na na-flash mo ngayon lang.

Ang hakbang sa pag-verify ay ginagawa rin sa pamamagitan ng pagbabasa ng maliit na tilad, ayon sa mga setting na ginawa namin sa unang hakbang. Makikita ito sa mga mensahe na matagumpay din ang pag-verify.

Hakbang 5: FUSES: Paano Itakda ang mga ito sa Extreme Burner

FUSES: Paano Itakda ang mga ito sa Extreme Burner
FUSES: Paano Itakda ang mga ito sa Extreme Burner

Kapag nag-isyu ka ng BASAHIN ANG LAHAT ng mga piyus ay nabasa mula sa maliit na tilad. Iyon ang UNANG larawan na ipinakita mga piyus.jpg.

Ngayon marahil kailangan mong baguhin ang mga ito sa iba pa. Ang mga piyus ay binubuo ng 4 na kahon sa huling TAB sa iyong eXtreme Burner screen. Namely LOW Fuse BYTE, HIGH FUSE BYTE, EXTENDED Fuse BYTE, LOCK FUSE BYTE at CALIBRATION BYTE. sa pagkakasunud-sunod na iyon ay ipinakita.

Maaari mo lamang gamitin ang isang ONLINE fuse calculator at punan ang mga ito tulad ng sa at

eleccelerator.com/fusecalc/fusecalc.php?

O maaari mong gamitin ang eXtreme burner upang gawin ito para sa iyo. offline mismo anumang oras: Pumili mula sa drop down list na lilitaw kapag nag-click sa pindutan ng DETAILS na naroon sa ibaba ng bawat uri ng byte ng fuse. I-double click lamang sa anumang linya sa screen ng Mga DETALYE at panoorin itong nagbabago mula sa I-SET sa MALINAW at i-toggle ang estado nito gamit ang iyong pag-click sa mouse sa bawat linya. Ang Fuse Byte sa kahon sa itaas ay magbabago nang naaayon.

Kung nagtataka ka "ano ba ang mga piyus" at "ano ang ginagawa nila"? Basahin ang mahusay na pagsulat na ito:

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

Hakbang 6: Pagtatakda ng mga piyus Gamit ang Extreme Burner Fuse Calculator

Pagtatakda ng mga piyus Gamit ang Extreme Burner Fuse Calculator
Pagtatakda ng mga piyus Gamit ang Extreme Burner Fuse Calculator
Pagtatakda ng mga piyus Gamit ang Extreme Burner Fuse Calculator
Pagtatakda ng mga piyus Gamit ang Extreme Burner Fuse Calculator
Pagtatakda ng mga piyus Gamit ang Extreme Burner Fuse Calculator
Pagtatakda ng mga piyus Gamit ang Extreme Burner Fuse Calculator

Maaari mong makita ang Screen ng Mga Detalye na lilitaw para sa bawat isa sa mga byte ng fuse (LOW, HIGH, EXTENDED, LOCK, at Calibration). Ang byte ng Calibration ay dapat iwanang hindi nagbabago dahil ipinapakita nito ang byte ng data ng pagkakalibrate sa AVR na nalalapat sa panloob na oscillator ng RC. Ang LOCK byte ay karaniwang FF lamang, (hindi tinalakay sa mga larawan sa itaas) dahil hindi mo ma-lock ang Flash o EEPROM habang nasa yugto ng pag-aaral. Babaguhin mo lang ang mga Mababaan, Mataas at SINABANG na byte. Mag-ingat ka !

Kung binago mo ang SPIEN bit sa 1 (ang hindi naka-program na estado ay 1 sa mga AVR microcontroller) hindi mo makikipag-usap sa iyong chip gamit ang USBASP o anumang programmer! Ang default na estado ay ipinapakita din sa iyong screen para sa bawat piyus. Binalaan ka nito na ang SPIEN default ay palaging 0 (na-program na estado) upang payagan kang gumamit ng SPI mode para sa ISP na programa. Ang debug-wire o DW bit ay laging naiwan 1 (hindi naka-program) kapag ang SPIEN ay nakatakda sa 0. Ito rin ang default na estado nito. Gayundin, sa Extended Fuse bits na 'Self Programming Enable ay dapat na' 1 '(hindi naka-program) kung ginagamit mo ang iyong USB-ASP upang mai-program ang iyong target chip (hindi gumagamit ng bootloader ROM tulad ng sa ARDUINO).

Maaari mong baguhin ang mga CLOCK bits (3 sa bilang) upang mapili ang panloob na RC o panlabas na kristal. Karaniwan kong iniiwan ito para sa panloob na RC na nagbibigay-daan sa iyo upang makakuha ng 2 dagdag na mga pin na nagpapalaya sa panlabas na kristal na kinakailangan upang magamit bilang mga PORT na pin para sa iyong mga proyekto sa AVR. Karaniwan ang panlabas na kristal ay kinakailangan kapag kailangan mo ng mataas na tiyempo ng kawastuhan sa iyong proyekto. Para sa mga nag-aaral ang panloob na RC ay sapat na.

Karaniwan sa sandaling tumira ka sa ilang kumbinasyon ng piyus hindi mo ito binabago. Ito ay magiging isang beses. Gusto mo lamang flashing ang ROM o kung minsan ang EEPROM din. Para sa Flashing ang EEPROM na hiwalay na.eep file ay nabuo ng iyong WINAVR / ATMEL studio kung sa iyong programa ay ginagamit ang EEPROM upang mag-imbak ng data. Kung hindi man ang EEPROM ay naiwan na hindi nagamit, puno ng data na 'FF' na nagpapakita ng 'WALANG estado ng DATA' ng EEPROM.

Hakbang 7: Pangwakas na Halaga ng Mga Fuse Bits

Pangwakas na Halaga ng Mga Fuse Bits
Pangwakas na Halaga ng Mga Fuse Bits

Matapos itakda ang lahat ng mga piyus ng Fuse, at isara ang mga kahon ng DETAILS na ginamit mo, maaari mong makita ang halaga ng mga Fuse bits na kinakalkula ng programa (tingnan ang larawan). Ang natitira lamang ay ang maglabas ng isang "Sumulat ng mga piyus" gamit ang menu. At tingnan ang mga mensahe na nag-uulat ng isang matagumpay na pagsulat. Sa paglaon, maaari ka ring maglabas ng isang BASAHIN ANG LAHAT mula sa menu at suriin kung ang mga piyus na nabasa sa huling TAB ng burner screen ay tumutugma sa kung ano ang nais mong isulat sa maliit na tilad. (Pag-verify ng piyus).

Mapapansin mo na sa simula ng Instructable na ito nang gumawa kami ng READ FUSES, ipinapakita ng screen ang parehong mga halaga ng Fuse na nakikita namin dito! Iyon ay dahil ito ang mga piyus na madalas kong ginagamit at bihirang baguhin ang mga ito sa sandaling itinakda ko ang mga ito sa aking MCU, maliban kung babaguhin ko ang dalas mula 1 Mhz hanggang 4Mhz para sa ilang mga proyekto. Ang AVR ay maaaring itakda sa maximum na 20Mhz (ang ilang mga chips hanggang 16Mhz lamang). Ang dalas na itinakda mo para sa F_cpu ay nakasalalay din sa Boltahe na ibinibigay mo sa chip! Halimbawa kung ang iyong maliit na tilad ay nagpapatakbo mula sa 1.8V ng Vcc hanggang sa 5.5V ng Vcc (data sheet refer) hindi mo aasahan na patakbuhin ang iyong Chip sa 20 mhz kung 1.8.8 lamang ang iyong ibinigay dito! masyado kang umaasa mula dito! Sinasabi sa iyo ng isang talahanayan sa sheet ng data sa kung anong boltahe ang tumaas ng freq sa aling pigura. Kung mas mataas ang dalas ng pagpapatakbo ng maliit na tilad, mas maraming init at mas maraming lakas na kinokonsumo nito. Isipin ang Kadalas tulad ng Heartbeat ng isang hayop. Ang isang Hummingbird na may mataas na rate ng hearbeat ay magkakaroon ng mas mataas na burn ng enerhiya bawat minuto kumpara sa isang Whale o elepante na may isang mas mababang tibok ng puso! Ngunit pagkatapos ay marami pa itong magagawa sa isang mas maikling panahon. Ganun lang ang MCU.

Hakbang 8: Tapusin

Ngayon ay nakumpleto mo na ang lahat ng mga hakbang sa eXtreme burner, nabasa mo ang ROM ng isang chip, binuksan mo ang isang HEX File at na-flash ito sa chip at napatunayan na ang flash ay OK, natutunan mo rin kung paano itakda ang mga piyus at i-flash ito sa maliit na tilad.

Kung mayroon kang anumang mga katanungan, matutuwa akong sagutin o baguhin ang tutorial upang gawing mas malinaw ito.

Para sa ilang mga chips maaari mong makita ang entry nito ay nawawala sa listahan ng dropdown na pagpipilian ng chip sa menu. O maaari kang harapin ang mga error sa pagsulat at i-verify ang mga error. Sa mga ganitong kaso mangyaring basahin ang aking iba pang Makatuturo na "Hacking eXtreme Burner" upang malutas ang isyu.

Maligayang programa.

Inirerekumendang: