Mavzu: Codevision AVR dasturlash muhiti. Kompyuterga o’rnatish Codevision AVR dasturlash muhiti
CodeVisionAVR - uchun, integratsiya, dasturiy ta'minot ishlab chiqish, atrof-muhit Microcontrollers oila AVR firmasi Atmel
CodeVisionAVR quyidagi komponentlarni o'z ichiga oladi:
AVR uchun C-ga o'xshash til kompilyatori ;
AVR uchun yig'ish tili kompilyatori ;
periferik qurilmalarni ishga tushirish imkonini beruvchi dasturning dastlabki kodining generatori;
STK-500 disk raskadrovka paneli bilan o'zaro ishlash moduli;
dasturchi bilan o'zaro aloqa qilish moduli ;
sintaksis ta'kidlangan manba kodi muharriri ;
Terminal.
CodeVisionAVR chiqish fayllari:
Dasturchi yordamida mikrokontrollerga yuklash uchun HEX, BIN yoki ROM fayli;
COFF - tuzatuvchi uchun ma'lumotni o'z ichiga olgan fayl;
OBJ - bu ob'ekt kodi deb ataladigan oraliq kompilyatsiya kodini saqlaydigan fayl.
CodeVisionAVR - bu tijorat dasturi. Cheklangan miqdordagi xususiyatlarga ega bo'lgan bepul sinov versiyasi mavjud, xususan, dastur kodining hajmi 4 kilobayt bilan cheklangan va bir qancha kutubxonalar kiritilmagan.
2021-yil 6-iyul holatiga ko‘ra, oxirgi versiya 3.45 [1] edi .
CodeVisionAVR tarkibiga kiruvchi C kompilyatori AVR-GCC ( WinAVR ) dan bir qancha farqlarga ega , shu jumladan o'z sintaksisi, qo'llab-quvvatlanadigan mikrokontrolderlar to'plami (oxirgi versiyalar ATXMega seriyasini ham qo'llab-quvvatlaydi ), shuningdek, chiqish tezligi (kod) , CodeVisionAVR kompilyatori tomonidan yaratilgan o'rtacha 15-25% tezroq va AVR-GCC tomonidan yaratilgan koddan 25-35% kamroq joy egallaydi).
Yangi RISC yadrosini ishlab chiqish g'oyasi Norvegiyaning Trondxaym shahridan Norvegiya Fan va Texnologiya Universitetining (NTNU) ikki talabasi - Alf-Egil Bogen va Vegard Vollenga tegishli. 1995 yilda Bogen va Vollen Flash xotira chiplari bilan mashhur bo'lgan Amerikaning Atmel korporatsiyasiga yangi 8-bitli RISC mikrokontrolerini chiqarishni va uni hisoblash yadrosi bitta chipdagi dasturlar uchun Flash xotira bilan jihozlashni taklif qilishga qaror qilishdi .
Bu g'oya Atmel korporatsiyasi tomonidan ma'qullangan va darhol bu rivojlanishga sarmoya kiritishga qaror qilingan. 1996 yil oxirida eksperimental AT90S1200 mikrokontrolleri chiqarildi va 1997 yilning ikkinchi yarmida Atmel korporatsiyasi mikrokontrollerlarning yangi oilasini ommaviy ishlab chiqarishni va ularni reklama va texnik qo'llab-quvvatlashni boshladi.
Yangi yadro patentlangan va AVR deb nomlangan . Ushbu qisqartmaning bir nechta talqinlari mavjud. Bu ekanligini Kimdir da'volar A dvanced V irtual R ISC, boshqalar u holda emas edi, deb ishonaman
AVR mikrokontrollerlari Garvard arxitekturasiga ega (dastur va ma'lumotlar har xil manzillar oralig'ida) va RISC mafkurasiga yaqin bo'lgan ko'rsatma tizimiga ega . AVR protsessor 32 ega umumiy maqsadi 8-bit reestrini bir Ro'yxatdan o'tish faylga birlashtirilgan. "Ideal" RISC dan farqli o'laroq, registrlar to'liq ortogonal emas:
Ba'zi buyruqlar faqat r16… r31 registrlari bilan ishlaydi. Bularga to'g'ridan-to'g'ri operand bilan ishlaydigan buyruqlar kiradi: ANDI / CBR, ORI / SBR, CPI, LDI, LDS (16-bit), STS (16-bit), SUBI, SBCI, shuningdek SER va MULS;
Bevosita operand (ADIW, SBIW) bilan 16 bitli qiymatni (ular mavjud bo'lgan modellarda) oshirish va kamaytirish bo'yicha ko'rsatmalar faqat r25: r24, r27: r26 (X), r29: r28 (Y) juftliklaridan biri bilan ishlaydi. ), yoki r31: r30 (Z);
Bir juft registrlarni nusxalash buyrug'i (mavjud modellarda) faqat toq bilan boshlangan qo'shni registrlar bilan ishlaydi (r1: r0, r3: r2,…, r31: r30);
Ko'paytirish natijasi (ko'paytirish moduli mavjud bo'lgan modellarda) har doim r1: r0 ga joylashtiriladi. Bundan tashqari, faqat bu juftlik o'z-o'zini dasturlash bo'yicha ko'rsatma operandlari sifatida ishlatiladi (agar mavjud bo'lsa);
Ko'paytirish ko'rsatmalarining ba'zi variantlari argument sifatida faqat r16… r23 (FMUL, FMULS, FMULSU, MULSU) diapazonidagi registrlarni qabul qiladi.
AVR mikrokontroller ko'rsatmalar to'plami yuqori darajada ishlab chiqilgan va turli modellarda 90 dan 135 [1] gacha turli ko'rsatmalarga ega .
Ko'pgina buyruqlar faqat 1 ta xotira joyini egallaydi (16 bit).
Ko'p buyruqlar 1 soat tsiklida bajariladi .
AVR mikrokontrollerlari uchun barcha buyruqlar to'plamini bir necha guruhga bo'lish mumkin:
mantiqiy operatsiyalar buyruqlari;
arifmetik buyruqlar va siljish buyruqlari;
bit operatsiyalari buyruqlari;
ma'lumotlarni uzatish buyruqlari;
uzatish buyruqlarini boshqarish;
tizimni boshqarish buyruqlari.
Periferik qurilmalar ma'lumotlar manzil maydoni orqali boshqariladi. Qulaylik uchun IN / OUT "yorliqlari" mavjud.
Standart oilalar:
tinyAVR ( ATtiny xxx):
16 Kbaytgacha flesh xotira ; SRAM 512B gacha; EEPROM 512 B gacha;
4-18 kirish-chiqish liniyalari soni (6-32 pinlarning umumiy soni);
Cheklangan tashqi qurilmalar to'plami .
megaAVR ( ATmega xxx):
256 KB gacha flesh xotira; 16 KB gacha bo'lgan SRAM; 4 KB gacha bo'lgan EEPROM;
Kirish-chiqish liniyalari soni 23-86 (jami chiqishlar soni 28-100);
Uskunani ko'paytirish;
Kengaytirilgan buyruq tizimi va tashqi qurilmalar.
XMEGA AVR ( ATxmega xxx):
384 KB gacha flesh xotira; SRAM - 32 KB gacha; 4 KB gacha bo'lgan EEPROM;
To'rt kanalli DMA tekshiruvi;
Hodisalarni boshqarishning innovatsion tizimi.
MC AVR atrof-muhitni ishlab chiqdi:
8-bitli kirish-chiqish portlariga birlashtirilgan 86 ta ko'p funktsiyali, ikki tomonlama GPIO kirish-chiqish liniyalari . Registrlarning dasturiy ta`minlangan konfiguratsiyasiga qarab, ular mustaqil ravishda "kuchli" haydovchi rejimida ishlashi mumkin, yoki LED indikatorlarini ulash uchun etarli bo'lgan 40 mA gacha tokni chiqaradi yoki qabul qiladi (erga) . Har qanday port pinlari bo'sh holatda yoki o'rnatilgan tortishish (ijobiy) rezistor yordamida "kirish" uchun sozlanishi mumkin.
3 tagacha tashqi uzilish manbalari (qirrada, kesish yoki sathda) va kirishda daraja o'zgarishida 32 tagacha.
Soat manbasini tanlash mumkin:
seramika yoki kvarts rezonatori (barcha modellar uchun emas);
tashqi soat signallari;
kalibrlangan ichki RC -generatori (chastota 1, 2, 4, 8 MGts, shuningdek, ba'zi ATtiny modellari uchun - 4,8, 6,4, 9,6 MGts va 128 kHz).
256 KB gacha bo'lgan buyruqlarning ichki flesh xotirasi (kamida 10 000 qayta yozish tsikli).
Dasturlarni disk raskadrovka qilish JTAG yoki debugWIRE interfeyslari yordamida amalga oshiriladi :
JTAG signallari (TMS, TDI, TDO va TCK) I / U portiga ko'paytiriladi. Ishlash rejimi - JTAG yoki port - sigortalar registridagi tegishli bit bilan o'rnatiladi. AVR MCU'lari JTAG interfeysi yoqilgan holda yuboriladi.
4 KB (ATmega / ATxmega) / 512 bayt (ATtiny) gacha bo'lgan EEPROM ichki ma'lumotlar xotirasi (100000 qayta yozish tsikligacha).
32KB (ATxmega) / 16KB (ATmega) / 1KB (ATtiny) gacha bo'lgan ichki SRAM , 2 soatlik kirish vaqti bilan.
64 KB gacha tashqi xotira (ATmega8515, ATmega162, ATmega640, ATmega641, ATmega1280, ATmega1281, ATmega2560, ATmega256).
8, 16 bit sig'imli taymerlar.
PWM modulyatori (PWM) 8-, 9-, 10-, 16-bit.
Analog taqqoslagichlar.
Differensial kirishlarga ega ADC (ADC), 8 (ATtiny) / 10 (ATtiny / ATmega) / 12 (ATxmega) bit:
ADC 1, 10 va 200 dan oldin dasturlashtiriladigan daromad (differensial rejimda);
mos yozuvlar zo'riqishida quyidagilar bo'lishi mumkin: besleme zo'riqishi, tashqi kuchlanish yoki taxminan 2,56 V ichki kalibrlanmagan mos yozuvlar zo'riqishi (2,7 V va undan yuqori kuchlanishli modellar uchun ) yoki 1,1 V (minimal besleme zo'riqishida 1, 8 B) ).
Turli seriyali interfeyslar, jumladan:
ikki simli TWI , I²C mos ;
universal sinxron / asenkron UART / USART qabul qiluvchi ;
Seriyali periferik interfeys (SPI) sinxron ketma -ket port .
USB seriyasi AT90USBxxxx.
AT90CANxxx CAN seriyasi.
LCD seriyali ATmega169 va ATmega329 .
ATtiny25 , ATtiny45 , ATtiny85 harorat sensorlari .
Deyarli barchasi (maxsus qayta dasturlash interfeysiga ega bo'lgan ba'zi dastlabki ATtiny modellari bundan mustasno ) SPI seriyali interfeysi orqali elektron dasturlashni (ISP) qo'llab - quvvatlaydi . Ko'pgina mikrokontrollerlar, agar sug'urta registrlari oddiy dasturlashdan voz kechadigan qilib sozlangan bo'lsa, yuqori voltli muqobil ketma -ket yoki parallel dasturlashni qo'llab -quvvatlaydi.
O'z-o'zini dasturlashni qo'llab-quvvatlash, bunda asosiy dastur o'z kodining bir qismini o'zgartirishi mumkin.
Qayta yoziladigan himoyalangan dastur (bootloader) yordamida asosiy dasturni yuklashni qo'llab -quvvatlash. Asosiy dastur kodi odatda standart protokollardan biri yordamida mikrokontroller portlaridan biri orqali qabul qilinadi.
Kam quvvatli rejimlar to'plami.
Do'stlaringiz bilan baham: |