Mundarija:

AVR mikrokontrollerini dasturlash uchun EXTREMEM Burnerdan foydalanish: 8 qadam
AVR mikrokontrollerini dasturlash uchun EXTREMEM Burnerdan foydalanish: 8 qadam

Video: AVR mikrokontrollerini dasturlash uchun EXTREMEM Burnerdan foydalanish: 8 qadam

Video: AVR mikrokontrollerini dasturlash uchun EXTREMEM Burnerdan foydalanish: 8 qadam
Video: 🤑 Ko'p pul to'lanadigan dasturlash sohalari! 2024, Iyul
Anonim
AVR mikrokontroller dasturlash uchun EXTREME Burnerdan foydalanish
AVR mikrokontroller dasturlash uchun EXTREME Burnerdan foydalanish

Hamma sizning AVR birodarligingiz va bu oqimga endigina kirayotganlar, sizlardan ba'zilari PIC mikrokontrolerlaridan, ba'zilari ATMEL AVR -laridan boshladilar, bu siz uchun yozilgan!

Shunday qilib, siz USBASP -ni sotib oldingiz, chunki u Atmega qurilmangizdagi ROMni, yoki ATTINY diapazonini o'chirish uchun arzon va samarali. Ularni 5 $ dan past narxda olish mumkin, chunki Xitoyning ochiq manbali USB-ASP klonlari! AVRdude - ularni dasturlash dasturi.

Siz, shubhasiz, Atmel Studio yordamida Hex faylini qanday yaratishni bilasiz (men oxirgi v7 o'rniga AVR Studio v4.19 dan hali ham foydalanaman, chunki u mening yagona yadroli protsessorli noutbukda tezroq va tezroq ishlaydi)/ Netbook va WINAVR ni o'qiyotgan bo'lsangiz. DotNet -da yozilgan hamma narsa sekin ishlaydi! va keyingi versiyalar noutbukni toshbaqa kabi ishlashiga mo'ljallangan! Siz Studio v4.19 -dan AVR mikrokontrolderlari uchun ATMEL -dan Studio -ning eng katta versiyasini ishlatishingiz mumkin, 7 -versiyaga o'tishingiz kerak, keyinroq chiplar uchun kerak bo'lganda va noutbukda vaqtingizni unumli o'tkazing, kutish o'rniga! Bu men tavsiya qiladigan narsa.

Hex fayli bilan Atmega dasturlash uchun odatiy AVR dude buyruq qatori quyidagicha ishlaydi:

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

bu erda pwmeg1.hex - bu Lingo mikrokontrolleridagi "maqsadli MCU" ga "yoqish" yoki "yonib o'chirish" uchun mo'ljallangan Intel hex fayli

Buni eslab qolish kerak! Siz ommaviy faylni yozishingiz va uni buyruq satrida ishga tushirishingiz mumkin, uni write_flash.bat deb nomlashingiz mumkin. Xuddi sigortalarni o'qish uchun, yana bir og'iz chiziqni eslab qolish kerak! Bu zerikarli bo'ladi.

o'qish uchun flesh + eeprom: AVRdude -s -c avrisp -p t44 -P usb -U "flesh: r: D: / ARDUINO / pwmeg1.hex: i" -U "eeprom: r:: i"

Yechim-AVRdude-ga o'xshash, GAZ interfeysi uchun qulay vositalardan biri, Bitburner, Khazama dasturchisi, deyarli o'xshash. eXtreme Burner. Men bepul foydalanish vositasidan foydalandim: eXtreme Burner ko'p, uning ko'p qirrali, ishonchli va bu darslik shu haqida. Bu sizning olti burchakli faylingizni / dasturingizni AVRdude -ga orqa fonda berilgan buyruqlar yordamida o'chirib qo'yishi mumkin emas, shuningdek, yangi boshlanuvchilarni AVR dasturlash bilan chalkashtirib yuboradigan murakkab mavzu bo'lgan FUSES -ni o'rnatishga yordam beradi. Bu erda siz FUSES mavzusidagi eng yaxshi o'quv qo'llanmasiga havola qilishingiz mumkin, uni siz o'tishingiz yoki davom ettirishingiz mumkin. Ogohlantirish: ATMEL FUSE bitining "1" holatini "standart" holatini (o'rnatilmagan yoki dasturlanmagan holatini) va "0" ni dasturlashtirilgan yoki o'rnatilgan yoki faollashtirilgan holatini ko'rsatish uchun ishlatadi! Bu PIC mikrokontrolleridagi FUSE bitlari bilan qilayotgan ishingizning aksi. Ichki RC soatini tashqi kristallga o'zgartirish kabi, sug'urta sigortalarini o'zgartirganda ehtiyot bo'ling, chunki bu chipga tashqi kristall o'rnatilmagan holda ulanishda muammo tug'diradi. Xuddi shunday, SPIEN va RESET DISABLE kabi muhim sug'urta bitlarining holatini o'zgartirganda ehtiyot bo'ling (agar siz ISP / SPI rejimida USB-ASP bilan MCU bilan aloqani davom ettirmoqchi bo'lsangiz, ular har doim SPIEN = 0 va RESET DISABLE = 1 ga o'rnatilishi kerak. ! Agar siz buni o'chirib qo'ysangiz, sizga AVR -ni "ochish" uchun yuqori voltli dasturchi kerak bo'ladi.

Agar siz "sigortalar nima" va "ular nima qilishadi" deb qiziqsangiz? Bu ajoyib yozuvni o'qing:

Yana bir mavzu - AVR MPU -ning soat tezligini 1 MGts dan 16 yoki 20 MGts gacha tezligini sozlash. Bundan tashqari, 31,25 kHz chastotali maxsus quvvatli past chastotali kristalli variant mavjud, agar u to'g'ri ishlab chiqilgan bo'lsa, siz AVR -ni AA batareyalarini 3 oyga o'chirib qo'yishingiz mumkin!

Bu ikkalasini ham, soat sug'urta bitlarini (chastotasi ham, turi ham ichki RC/tashqi kristall, ham boshqa sug'urta bitlari) eXtreme Burner -dagi FUSES yorlig'i orqali sozlash mumkin. Birinchidan, biz sizga ROMni o'qishni, so'ngra eXtreme Burner yordamida olti burchakli faylni qanday o'chirishni ko'rsatamiz. Albatta, siz onlayn AVR sug'urta veb -saytlaridan ham foydalanishingiz mumkin, lekin men tushuntirgan variantni siz oflayn rejimda ham, istalgan joyda ishlatish mumkin.

1 -qadam: Sozlamalar:

O'rnatiladigan sozlamalar
O'rnatiladigan sozlamalar
O'rnatiladigan sozlamalar
O'rnatiladigan sozlamalar
O'rnatiladigan sozlamalar
O'rnatiladigan sozlamalar
O'rnatiladigan sozlamalar
O'rnatiladigan sozlamalar

Rasmlar ishga kirishdan oldin bajariladigan Sozlamalarni ko'rsatadi. (faqat bir marta). "Uskuna sozlamalari" pastki menyusida biz 375 gigagertsni tanlaymiz, chunki ATMEL fabrikasidagi MCU ning ko'p qismi ichki RC osilatoridagi 1 MGts chastotali CPU soatining standart sozlamalariga o'rnatiladi. ISP tezligi F_cpu chorakidir. Bu bizga 375 KGs eng yaqin tezlikni beradi, siz ham past tezlikka o'tishingiz mumkin, bu katta farq qilmaydi. Siz uni odatdagidek qoldirib ulanishga urinib ko'rishingiz va "hammasini o'qish" ni chiqarishingiz mumkin, agar bu bajarilmasa, siz bu erga kelib tezlikni o'zgartirishingiz mumkin.

Agar siz ulana olmasangiz (dasturchi oynasida "chip bilan aloqa qila olmaysiz, SCK mumkin emas" degan xabar beriladi), bu sizning kompyuteringizdagi soat signalining siz o'qiyotgan chip bilan sinxronlashtirilmasligini anglatadi. dastur)., siz CPU soat tezligini o'zgartira olmaysiz yoki uning tezligi va turini o'zgartira olmaysiz! Shunday qilib, ulanish hamma narsaning asosidir! Spilberg filmlarida ko'rganingizdek, "BIRINCHI Aloqa" ga o'xshaydi. Agar siz bunga muvaffaq bo'lsangiz, sigortalarni mos ravishda dasturlash orqali MCU soat tezligini oshirishingiz mumkin, keyin esa ulanish uchun yuqori tezlikdan foydalanishingiz mumkin.

Shunday qilib, bu erda taqdim etilgan apparat sozlamalari rasmlarini ko'rib chiqing, keyin qurilma turini ham belgilang (siz dasturlamoqchi bo'lgan chip, uning model raqami).

2 -qadam: Qurilma turini sozlash

Qurilma turini sozlash
Qurilma turini sozlash
Qurilma turini sozlash
Qurilma turini sozlash
Qurilma turini sozlash
Qurilma turini sozlash

ekran tasvirini ko'ring, 1 -rasm, biz "ATTINY44A" ni o'rnatdik. Bu UARTdan tashqari 14 pinli mikrokontroller. Men buni yaqinda SSU versiyasidan foydalanganman. Agar siz "Extreme burner stock" versiyasini o'rnatgan bo'lsangiz, siz ochiladigan ro'yxatda "Attiny44A" ni ko'rmaysiz, siz "Attiny44A" ni ko'rasiz, uni biz hamma maqsadlar uchun Attiny44A dasturlashimiz mumkin, bu ro'yxatda bo'lmagan har qanday qurilmani tanitishimiz mumkin., mening boshqa ko'rsatmali "Hacking eXtreme Burner" ni o'qing.

Men Atmega88PA-AU-ni eXtreme Burner-da ishlatganman, lekin bu ko'rsatmada biz hamma joyda "Attiny44A" ni eslatib o'tamiz. Endi siz qanday qilib 7 mm kvadrat kichik SMD chipining taxtali versiyasini yasaysiz va uni dasturlaringiz bilan sinab ko'rasiz? (Chip hajmini ko'rsatadigan rasmlarga qarang), Buning uchun boshqa ko'rsatmalarni ko'ring, bu erda men Attiny44A-SSU va ATmega88PA-AU yordamida Breadboard mos keladigan plagin modullarini qanday qilishni ko'rsataman.

Ushbu texnikani o'rganganingizdan so'ng, siz qiziqtirgan har qanday chipni, uning SMD yoki DIL paketini tekshirishingiz mumkin bo'ladi. Masalan, men ham xuddi shunday 32-pinli 0,8 mm pinli pog'onali Quad paketida (Atmega88A) keladigan SMD chipini ishlatganman!

. Yoki siz bu ko'rsatma uchun Attiny44A -ning 28pinli DIL versiyasini yoki AVR dasturlash uchun eXtreme Burner -ni sinab ko'rish uchun hozirda ishlatayotgan AVR -dan foydalanishingiz mumkin.

3 -qadam: Hammasini o'qing yoki o'qing

Hammasini o'qing yoki o'qing
Hammasini o'qing yoki o'qing
Hammasini o'qing yoki o'qing
Hammasini o'qing yoki o'qing

USBasp -ni noutbukning USB portiga ulang, menimcha, siz dasturchi bilan birga kelgan va to'g'ri aniqlangan to'g'ri drayverlarni yuklagansiz. Agar u USB portiga ulangan bo'lsa, u oyna boshlanish menyusida "Qurilmalar va printerlar" ostida paydo bo'lishi kerak! Maqsadli chipni o'z bortiga USBasp -ga ulang (6 -pinli yoki 10 -pinli simi yordamida tegishli SDI // ISP pinlari ikkalasi o'rtasida, ya'ni pinlar: MOSI, RESET, MISO, SCK, Vcc, Ground) ulanishi kerak.

Xtreme Burner menyusidan HAMMA O'QING. Biz olgan rasmlar va xabarlarni ko'ring. Dastlab sizning ekraningizda burnerning birinchi tabida ROM uchun "FF" ko'rsatildi, hammasini o'qib bo'lgach, chipdagi haqiqiy ROM tarkibini ko'rsatadi. Agar siz zavodning yangi chipi yoki o'chirilgan chipidan foydalansangiz, "Hammasini o'qish" dan keyin tarkibda FFni ko'rasiz. Dasturlanmagan chip o'z xotirasida "FF" ni ko'rsatadi, shuningdek EEPROM (dasturchining ikkinchi yorlig'i), oxirgi varaqda FUSES ko'rsatiladi.

Hammasini o'qiganingizdan so'ng, 3 ta yorliqda chipdagi to'g'ri ma'lumotlar ko'rsatiladi. Undan oldin bunday bo'lmaydi, shuning uchun hamma narsani ulangandan so'ng, avval "Hammasini o'qing" ni chiqaring.

4 -qadam: Flash -ga yozing (sizning hex faylingiz chipdagi ROMga tushdi)

Flash -ga yozing (sizning hex faylingiz chipdagi ROMga tushdi)
Flash -ga yozing (sizning hex faylingiz chipdagi ROMga tushdi)
Flash -ga yozing (sizning hex faylingiz chipdagi ROMga tushdi)
Flash -ga yozing (sizning hex faylingiz chipdagi ROMga tushdi)
Flash -ga yozing (sizning Hex faylingiz chipdagi ROMga tushdi)
Flash -ga yozing (sizning Hex faylingiz chipdagi ROMga tushdi)

Yuqoridagi MENU satridagi birinchi belgini bosganingizda ochiladigan Browse dialogi yordamida faylni tanlang. Rasmda ko'rib turganingizdek, biz bitta faylni tanladik. Olti burchakli faylni (intel hex format) tanlagandan so'ng, "yuklanmagan fayl" ko'rsatiladigan menyu satri siz yuklagan fayl nomiga o'zgartirildi.

Endi dasturiy ta'minot menyusidan yozish chirog'ini chiqaring. Xabarlar sizga nima bo'layotganini ko'rsatadi. rasmlarga qarang.

Muvaffaqiyatli yozilgandan so'ng, siz "FF" ni ko'rasiz, bu ROMning yangi yoki o'chirilganligini o'zgartiradi, bu sizning dasturingiz yoki o'n oltilik faylingiz tarkibiga kiradi. Faylingiz ROM -da egallagan baytlarning kattaligi yoki sonini sizga ekran tasviri orqali ham bilish mumkin.

Tasdiqlash bosqichi, biz birinchi qadamda SETTINGS ga muvofiq, chipni o'qish orqali ham amalga oshiriladi. Buni tekshirish muvaffaqiyatli bo'lganligi haqidagi xabarlarda ko'rish mumkin.

5 -qadam: FUSES: ularni qanday qilib extereme burnerda sozlash mumkin

FUSES: Ularni Extra Burner -ga qanday o'rnatish kerak
FUSES: Ularni Extra Burner -ga qanday o'rnatish kerak

Hammasini o'qiganingizda sigortalar chipdan o'qilgan. Bu birinchi rasm fuses-j.webp

Endi, ehtimol, ularni boshqa narsaga o'zgartirish kerak. Sigortalar sizning eXtreme Burner ekraningizdagi oxirgi TABdagi 4 ta qutidan iborat. Ya'ni past sigortali bayt, yuqori sug'urta bayti, kengaytirilgan sug'urta bayti, qulflash sigortasi va kalibrlash bayti. shu tartibda ular ko'rsatiladi.

Siz ONLINE sug'urta kalkulyatoridan foydalanishingiz va ularni xuddi shu kabi to'ldirishingiz mumkin

eleccelerator.com/fusecalc/fusecalc.php?

Yoki siz buni amalga oshirish uchun eXtreme burnerdan foydalanishingiz mumkin. istalgan vaqtda oflayn rejimda: har bir sug'urta baytining ostida joylashgan DETAILS tugmachasini bosganingizda paydo bo'ladigan ochiladigan ro'yxatdan tanlang. DETAILS ekranidagi istalgan satrni ikki marta bosing va uning SETdan CLEAREDga o'zgarishini kuzatib turing va sichqoncha bilan har bir satrni bosib uning holatini o'zgartiring. Yuqoridagi qutidagi sug'urta bayti shunga mos ravishda o'zgaradi.

Agar siz "sigortalar nima" va "ular nima qilishadi" deb qiziqsangiz? Bu ajoyib yozuvni o'qing:

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

6 -qadam: Ekstremal burner sug'urta kalkulyatori yordamida sigortalar o'rnatish

Qattiq sigortali kalkulyator yordamida sigortalar o'rnatish
Qattiq sigortali kalkulyator yordamida sigortalar o'rnatish
Qattiq sigortali kalkulyator yordamida sigortalar o'rnatish
Qattiq sigortali kalkulyator yordamida sigortalar o'rnatish
Qattiq sigortali kalkulyator yordamida sigortalar o'rnatish
Qattiq sigortali kalkulyator yordamida sigortalar o'rnatish

Siz har bir sug'urta baytida (LOW, HIGH, EXTENDED, LOCK va Calibration) paydo bo'ladigan Tafsilotlar ekranini ko'rishingiz mumkin. Kalibrlash bayti o'zgarishsiz qoldirilishi kerak, chunki u AVRda ichki RC osilatoriga tegishli kalibrlash ma'lumotlari baytini ko'rsatadi. LOCK bayti odatda faqat FF (yuqoridagi rasmlarda muhokama qilinmagan), chunki siz o'qish bosqichida Flash yoki EEPROMni qulflamaysiz. Siz faqat LOW, HIGH va EXTENDED baytlarini o'zgartirgan bo'lar edingiz. Ehtiyot bo'ling !

Agar siz SPIEN bitini 1 ga o'zgartirsangiz (dasturlashtirilmagan holat AVR mikrokontrollerlarida 1), siz USBASP yoki boshqa dasturchi yordamida chipingiz bilan aloqa qila olmaysiz! Har bir sug'urta biti uchun standart holat ekranda ham ko'rsatiladi. Bu sizga SPIEN standarti har doim 0 (dasturlashtirilgan holat) bo'lib, sizga ISP dasturlash uchun SPI rejimidan foydalanish imkonini beradi. Nosozliklarni tuzatish yoki DW biti SPIEN 0 ga o'rnatilganda har doim 1 (dasturlashtirilmagan) bo'lib qoladi. Bu uning standart holati. Bundan tashqari, agar siz USB-ASP-dan maqsadli chipni dasturlash uchun foydalanayotgan bo'lsangiz (ARDUINO-dagi kabi bootloader ROM-dan foydalanmagan bo'lsangiz), Kengaytirilgan sug'urta bitlarida "O'z-o'zini dasturlashni yoqish" "1" bo'lishi kerak (dasturlanmagan).

Ichki RC yoki tashqi kristalni tanlash uchun siz CLOCK bitlarini o'zgartirishingiz mumkin (soni 3 ta). Men odatda uni ichki RC uchun qoldiraman, bu sizga tashqi kristalni bo'shatish AVR loyihalaringiz uchun PORT pinlari sifatida ishlatishni talab qiladigan 2 ta qo'shimcha pinni olish imkonini beradi. Odatda sizning loyihangizda yuqori aniqlikdagi vaqt kerak bo'lganda tashqi kristal kerak bo'ladi. O'rganuvchilar uchun ichki RC etarli.

Odatda, siz sug'urta kombinatsiyasini tanlaganingizda, siz uni o'zgartirmaysiz. Bu bir martalik bo'lardi. Siz faqat ROMni yoki ba'zan EEPROMni yondirasiz. EEPROM -ni o'chirish uchun alohida.eep faylini WINAVR / ATMEL studiyasi yaratadi, agar sizning dasturingiz ma'lumotlarni saqlash uchun EEPROMdan foydalansa. Aks holda, EEPROM ishlatilmay qoladi va EEPROMning "DATA YO'Q" holatini ko'rsatuvchi "FF" ma'lumotlari bilan to'ldiriladi.

7 -qadam: sug'urta bitlarining yakuniy qiymati

Sigortalar bitlarining yakuniy qiymati
Sigortalar bitlarining yakuniy qiymati

Barcha sug'urta bitlarini o'rnatganingizdan va siz ishlatgan DETAILS qutilarini yopganingizdan so'ng, dastur tomonidan hisoblangan sug'urta bitlarining qiymatini ko'rishingiz mumkin (rasmga qarang). Menyudan foydalanib, "Yozish sug'urtalari" ni chiqarish qoladi va muvaffaqiyatli yozish haqida xabar beradigan xabarlarga qarang. Keyinchalik menyudan REAL ALL o'qing va yondirgich ekranining oxirgi tabida o'qilgan sigortalar chipga yozmoqchi bo'lgan narsangizga mos keladimi -yo'qligini tekshirishingiz mumkin. (Sug'urta tekshiruvi).

Siz o'qiy boshlaganingizda, biz o'qiyotganimizda, ekranda biz ko'rgan FUSE qiymatlari ko'rsatiladi! Buning sababi shundaki, men tez -tez ishlatadigan sigortalar va ularni loyiha uchun 1 MGts dan 4 MGts gacha o'zgartirmasam, ularni MCU -ga o'rnatganimdan keyin kamdan -kam hollarda o'zgartiraman. AVR maksimal 20 MGts ga o'rnatilishi mumkin (ba'zi chiplar faqat 16 MGts gacha). Siz F_cpu uchun o'rnatgan chastota, shuningdek, chipni etkazib beradigan kuchlanishga bog'liq! Misol uchun, agar sizning chipingiz 1,8 V dan 5,5 V gacha Vccgacha ishlasa (ma'lumotlar varag'i havolasi), agar siz unga faqat 1,8 V etkazib bergan bo'lsangiz, Chipingizni 20 MGts da ishlatishni kutmaysiz! siz undan juda ko'p narsani kutmoqdasiz! Ma'lumotlar varag'idagi jadval sizga chastotaning qaysi kuchlanishdan yuqori ekanligini ko'rsatadi. Chipning ishlash chastotasi qanchalik baland bo'lsa, issiqlik va quvvat shunchalik ko'p bo'ladi. Chastotani hayvonning yurak urishi kabi o'ylab ko'ring. Eshitish tezligi yuqori bo'lgan qushqo'nmas, yurak urishi ancha past bo'lgan kit yoki filga qaraganda, bir daqiqada ko'proq energiya yoqadi! Ammo keyin u qisqa vaqt ichida ko'p narsani qila oladi. MCU xuddi shunday.

8 -qadam: tugatish

Endi siz eXtreme burner -dagi barcha qadamlarni bajardingiz, siz chipning ROMini o'qidingiz, HEX faylini ochdingiz va uni chipga qo'ydingiz va flesh yaxshi ekanligini tekshirdingiz, shuningdek siz sigortalarni qanday o'rnatishni va ularni chipga qanday o'chirishni o'rgandingiz..

Agar sizda biron bir savol bo'lsa, men tushunarli bo'lishi uchun o'quv qo'llanmasiga javob berishdan yoki o'zgartirishdan xursand bo'laman.

Ba'zi mikrosxemalar uchun menyudagi chip tanlash ro'yxatida uning yozuvi yo'qolgan bo'lishi mumkin. Yoki siz xatolar yozishingiz va xatolarni tekshirishingiz mumkin. Bunday hollarda, muammoni hal qilish uchun, iltimos, mening boshqa ko'rsatmali "Hacking eXtreme Burner" ni o'qing.

Baxtli dasturlash.

Tavsiya: