Mikrokontroller eskirganmi? O'rnatilgan tizimlar va ular uchun operatsion tizimlar Mikrokontrollerlar uchun real vaqtda operatsion tizimlar

Men 10 dan ortiq elektron qurilmalarni ishlab chiqdim va ularning operatsion tizimsiz past darajadagi ishlashidan butunlay voz kechdim. Vaziyat keyingi qurilmaning funksionalligi keskin kengayganda o'zgardi. Bundan tashqari, ma'lum vaqt oralig'ida chaqiriladigan vazifaga ehtiyoj bor va qo'ng'iroqning aniqligi natijaga ta'sir qiladi. Belgilangan vaqtda barcha dasturiy ta'minotni yozish mumkin emasligi va keyinchalik yaratilishi aniq bo'ldi. Biroz o'ylab, men loyihaga real vaqtda operatsion tizimni (RTOS yoki RTOS) kiritish kerakligini tushundim.

Kompyuterdan farqli o'laroq, OS ko'proq tizim resurslari bilan ishlash uchun mo'ljallangan, RTOS mikrokontroller uchun bu birinchi navbatda vazifalarni rejalashtiruvchi bo'lib, u "real vaqtda" asosiy rolni o'ynaydi. Hozirgi vaqtda men uchun "psevdo-parallel" deb nomlangan vazifani bajarishni ta'minlash muhim. Ya'ni, bir xil vazifaga ega bo'lgan bir nechta vazifalar mavjud va ularni belgilangan tartibda belgilangan vaqt oralig'ida chaqirish muhim.

Quyidagi misol aniq: Eurobot 2011 loyihasida tizimda 18 ta periferik qurilma mavjud edi. Funktsionallik nuqtai nazaridan ikkita elektron platani bittaga birlashtirish mumkin. Ularning narxi kamayadi, ishonchliligi oshadi (tizimdagi komponentlar soni kamayadi) va bu holda bo'sh joy miqdori oshadi. Vaziyat murakkablashadi, chunki vazifalar soni mutanosib ravishda oshadi va bu erda siz OSsiz ishlay olmaysiz. RTOS shuningdek, protsessor ishlamay qolishining oldini olishga yordam beradi, masalan, ADC -ni konvertatsiya qilish paytida siz bu vazifani blokirovka qilishingiz va boshqalarni bajarishingiz, shu bilan qurilmaning ishini to'g'ri taqsimlashingiz mumkin. Shuningdek, hozirda vazifa bajarilmagani uchun qurilma qulab tushmasligi muhim; uning o'rniga qisman ishlashni saqlab qolish mumkin (garchi bu oldindan aytib bo'lmaydigan natijalarga olib kelishi mumkin bo'lsa ham). Bu ko'rsatkichlarning o'sishini qanday ta'minlaymiz? Aslida, biz MKdan mumkin bo'lgan hamma narsani siqib chiqaramiz, uning hisoblash imkoniyatlaridan samarali foydalanamiz.

Qisqa qidiruvdan so'ng, tanlov freeRTOS -ga tushdi. Ushbu RTOS C manbasida tarqatiladi va 27 ta arxitekturaga ko'chiriladi. Oxirgi holat men uchun hal qiluvchi ahamiyatga ega. Bu boshqa ishlab chiqaruvchilarning MCUlari bilan ishlashda mehnat xarajatlarini kamaytiradi. Endi meni AVR porti ko'proq qiziqtiradi.

Loyihada RTOS freeRTOS ning mavjudligi taxminan 9,8 KB dastur xotirasini va 1,8 KB RAMni yeydi. Masalan, ATmega32 va WinAVR kompilyatori uchun bu mos ravishda 60% va 85% ni tashkil qiladi. Bu model uchun allaqachon katta funksionallikka ega qurilmani yaratish qiyin - xotira etarli bo'lmaydi. Ammo bu muammo yangi AVR modellari bilan yo'qoladi. Bu 256KB dastur xotirasi va 8KB tezkor xotira bilan Mega2560 uchun bu umuman ahamiyatsiz. Bo'lajak MClarning tendentsiyasi faqat RTOS muvaffaqiyatiga hamroh bo'ladi.

Runetdan o'tib, rus tilida OS hujjatlari yo'qligini ko'rib hayron bo'ldim. Bu nima! Dastlabki hujjatlar qo'shimcha haq evaziga tarqatiladi. Vaziyat Andrey Kurnitsning maqolasi bilan soddalashtirilgan. [elektron pochta himoyalangan]) "Komponentlar va texnologiyalar" jurnalidan. Muallifning roziligi bilan men maqola materiallarini qayta ko'rib chiqilgan versiyada ishlataman. Uning maqolasi rus tilida hujjat sifatida xizmat qilishi mumkin. Ammo asl nusxasi bosma shaklda mavjud emas, jurnalning sayti yolg'ondir, shuning uchun materialni biroz qayta ishlashga to'g'ri keladi. Umuman olganda, muallif juda yaxshi maqola yozgan va nazariyani qayta ko'rib chiqishning ma'nosi yo'q, u bu erda to'liq nashr etiladi. Maqolaning asl nusxasi nashr oxirida ilova qilinadi. Bundan tashqari, foydalanuvchilar RTOS -ni kompilyatsiya qilishda qiynalayotganini payqadim. Buning sababi, papkalarga yo'llarni o'z ichiga olgan tashqi makefile ishlatiladi. Shuning uchun men tugagan loyihani AVR Studio va AVR Eclipse uchun shablon sifatida biriktiraman. Afsuski, mahalliy makefile operativ xotira va dastur xotirasidan foydalanish kabi disk raskadrovka ma'lumotlarini chiqarmaydi, buni tegishli standart qo'ng'iroqni qo'shib tuzatish kerak edi.

Shunday qilib, kerak bo'lsa, loyihangizda RTOS -dan foydalanish tavsiya etiladi:

Ko'p vazifali va muqobil vazifalarni tashkil qiling

Vazifaning aniq belgilangan vaqt oralig'ida ishga tushirilishini ta'minlang

Ma'lumotni bir vazifadan ikkinchisiga o'tkazish

Agar kerak bo'lsa, yangi vazifalarni qo'shing

RTOSning M ga nisbatan afzalliklari Kimga:

  1. Ko'p vazifa. RTOS dasturchiga tayyor, tuzatilgan ko'p vazifali mexanizmni taqdim etadi. Oddiy holatda, har bir vazifani alohida dasturlash mumkin, barcha ishlarni jamoaning bir necha a'zolariga bo'lish mumkin. Vazifalarni almashtirish haqida xavotirlanishga hojat yo'q, rejalashtiruvchi buni qiladi.
  2. Vaqt bazasi. Vaqt oralig'ini o'lchash kerak. RTOS -da ushbu vosita bo'lishi kerak. Bu sizga aniq belgilangan vaqt oralig'ida harakatlarni bajarishga imkon beradi.
  3. Vazifalar o'rtasida ma'lumotlar almashinuvi. Buning uchun RTOS navbatdan foydalanadi.
  4. Sinxronizatsiya. Agar turli xil vazifalar ketma -ket port kabi bir xil resursdan foydalansa, u holda mutexlar va muhim bo'limlardan foydalanish mumkin. Agar siz vazifalarni qat'iy ketma -ketlikda bajarishingiz kerak bo'lsa yoki ma'lum bir voqea sodir bo'lsa, siz vazifalarni sinxronlashtirish uchun semaforalar yoki signallardan foydalanishingiz mumkin.

RTOS -ning kamchiliklari:

1. Yadroni amalga oshirish uchun kerakli dastur xotirasining keskin oshishi

2. Har bir topshiriq, semaforalar, navbatlar, mutexlar va tizim yadrosining boshqa ob'ektlarini saqlash uchun kerakli RAMni ko'paytirish.

3. Kontekstni saqlash uchun vazifalarni almashtirishda kechikishlar.

TavsifbepulRTOS:

FreeRTOS-bu ochiq manbali, real vaqt rejimida ishlaydigan bepul operatsion tizim. Ko'pincha C tilida yozilgan, lekin montajchi qo'shimchalar mavjud. U Real Time Engineers ltd tomonidan maxsus o'rnatilgan tizimlar uchun ishlab chiqilgan. Yaqinda SafeRTOS loyihasi ishlab chiqila boshladi - IEC 61508 xavfsizlik standartiga muvofiq FreeRTOSning o'zgartirilgan, hujjatlashtirilgan, sinovdan o'tgan va sertifikatlangan versiyasi. Bu loyiha nemis kompaniyasi tomonidan amalga oshirildi va hozirda safeRTOS aerokosmik sanoati va tibbiyot texnologiyasida qo'llaniladi. Bundan tashqari, openRTOS loyihasi - ishlab chiqaruvchining kafolati bilan tijorat versiyasi mavjud.

FreeRTOS -ning asosiy xususiyatlari:

1. Rejalashtiruvchi 3 turdagi ko'p vazifalarni qo'llab -quvvatlaydi:

Ko'chirish

Kooperativ

Gibrid

2. Yadro hajmi AVR uchun tuzilgan 9,8 KB. (WINAVR)

3. Yadro bazasi - 4 ta fayl C da.

4. Vazifalar va korutinlarni qo'llab -quvvatlaydi. Koroutinlar kichik hajmli operativ xotiraga ega MCUlar uchun maxsus ishlab chiqilgan.

5. Boy kuzatuv qobiliyatlari.

6. Stack overflow -ni kuzatish mumkin.

7. Bir vaqtning o'zida bajariladigan vazifalar soniga dasturiy ta'minot cheklovlari yo'q.

8. Vazifalar ustuvorligi soniga cheklov yo'q.

9. Bir nechta vazifalarga bir xil ustuvorlik berilishi mumkin

10. "Vazifa-topshiriq" va "vazifani uzish" sinxronlashtirishning ilg'or vositalari:

Navbatlar

Ikkilik semaforlar

Semaforalarni hisoblash

Rekursiv semaforlar

Mutexes

11. Birinchi o'ringa ega bo'lgan mutekslar.

12. Cortex-M3 uchun xotirani himoya qilish modulini qo'llab-quvvatlash

13. Turli platformalar va kompilyatorlar uchun demo -loyihalar bilan tuzatilgan shaklda taqdim etiladi.

14. Bepul. Kengaytirilgan GPL litsenziyasi ostida manba kodini oshkor qilmasdan loyihalarda foydalanish mumkin.

15. Hujjatlar to'lanadi, lekin bu erda onlayn mavjud.

16. 16 MGts kvarts kristalli AVR uchun kontekstni almashtirish vaqti atigi 20,8 mks. Ma'lumotlarni vazifalar to'plamiga saqlash va keyingisiga qo'ng'iroq qilish uchun aynan shu narsa kerak bo'ladi. (Qiziqarli eslatma, agar siz buni PIC18xxx bilan taqqoslasangiz, AVR tekshirgichi uni 4 barobar tezroq qiladi !!!, ehtimol bu kompilyator sifatiga bog'liq)

Oldindan bajariladigan ko'p vazifalar, past darajadagi ustuvor vazifani bajarilgan vazifa ustuvorligi yuqori bo'lgan holda bajarilishini anglatadi. Vazifalar o'rtasida almashish bir xil vaqt oralig'ida sodir bo'ladi. Shuning uchun, ustuvor vazifani bajarishni boshlashdan oldin, past darajadagi ustuvor vazifani bajaradigan vaqt oralig'i tugashi kerak.

Shunday qilib, FreeRTOSning tashqi hodisalarga ko'p vazifali rejimda reaktsiya vaqti sozlamalarda o'rnatilishi mumkin bo'lgan rejalashtiruvchining bir martalik qismidan oshmaydi. Odatiy bo'lib, bu 1 ms.

Agar bir xil ustuvorlikka ega bo'lgan bir nechta vazifalar bajarishga tayyor bo'lsa, u holda rejalashtiruvchi ularning har biriga bitta bo'lak ajratadi, shundan so'ng nazorat bir xil ustuvorlikka ega bo'lgan navbatdagi topshiriq tomonidan qabul qilinadi va hokazo.

Kooperativ ko'p vazifali, oldindan rejalashtirilgan ko'p vazifalardan farqi shundaki, rejalashtiruvchining o'zi joriy vazifani, hatto bajarishga tayyor bo'lgan ustuvor vazifani ham to'xtata olmaydi. Har bir vazifa nazoratni rejalashtiruvchiga mustaqil ravishda topshirishi kerak. Shunday qilib, ustuvor vazifa past darajadagi vazifa o'z ishining tugashini kutadi va nazoratni rejalashtiruvchiga qaytaradi. Tizimning tashqi hodisaga javob berish vaqti aniqlanmaydi va boshqaruv topshirilgunga qadar joriy vazifa qancha vaqt bajarilishiga bog'liq. Kooperativ ko'p vazifalar Windows 3.x operatsion tizimlar oilasida ishlatilgan.

Prefektiv va kooperativ ko'p vazifali kontseptsiyalar gibrid ko'p vazifalarda birlashadi, bu erda rejalashtiruvchi har safar bo'lak deb ataladi, lekin oldindan bajariladigan ko'p vazifadan farqli o'laroq, dasturchi buni majburiy ravishda majburiy bajarishga qodir. Bu rejim, ayniqsa, tizimning uzilishiga javob berish vaqtini qisqartirish zarur bo'lganda foydalidir. Faraz qilaylik, hozirda past darajadagi vazifa bajarilmoqda va yuqori darajadagi vazifa biroz uzilishlar bo'lishini kutmoqda. Keyinchalik, uzilish sodir bo'ladi, lekin uzilish ishlovchisi oxirida bajarilish hozirgi past darajadagi vazifaga qaytadi va ustuvor vazifa joriy vaqt tugaguncha kutadi. Ammo, agar uzilish ishlovchisi bajarilgandan so'ng, nazorat rejalashtiruvchiga o'tkazilsa, u nazoratni yuqori darajadagi vazifaga o'tkazadi, bu esa tashqi hodisa bilan bog'liq tizimning javob vaqtini qisqartirishi mumkin.

Nima uchun?yoqilgansuhbatb?

FreeRTOS bilan ishlaydigan mikrokontroller qurilmasini uning so'nggi versiyasini yuklab olish orqali ishlab chiqishni boshlashingiz mumkin.

FreeRTOS tarqatilishi oddiy yoki o'z-o'zidan ochiladigan ZIP arxivi sifatida mavjud. Tarqatish yadro kodining o'zi (bir nechta sarlavha va manba fayllari ko'rinishida) va demo -loyihalarni (har bir port uchun har bir ishlab chiqish muhiti uchun bitta loyihani) o'z ichiga oladi. Keyinchalik, arxivni ishlab chiqarish stantsiyasidagi istalgan joyga ochishingiz kerak.

Arxivdagi fayllar ko'pligiga qaramay, katalog tuzilishi aslida juda oddiy. Agar siz 1-2 ta ishlab chiqarish muhitida 2-3 arxitektura bo'yicha qurilmalarni loyihalashni rejalashtirmoqchi bo'lsangiz, demo-loyihalar va turli xil ishlab chiqish muhitlari bilan bog'liq fayllarning ko'piga ehtiyoj qolmaydi.

Batafsil katalog tuzilishi diagrammada ko'rsatilgan.

Barcha yadro manbalari / Source katalogida joylashgan.

Tarkibi:

1. vazifalar.c- vazifa mexanizmini amalga oshirish, rejalashtiruvchi

2. navbat. c- navbatlarni amalga oshirish

3. ro'yxat c- rejalashtiruvchining ichki ehtiyojlari, lekin funktsiyalarni amaliy dasturlarda ham ishlatish mumkin.

4. croutine.c- korutinlarni amalga oshirish (agar korutinlar ishlatilmasa, yo'q bo'lishi mumkin).

Katalogdagi sarlavha fayllari manba / o'z ichiga oladi

1.vazifalar.h, navbat.h, tist.h, croutine.h- kod bilan bir xil nomdagi fayllar uchun mos ravishda sarlavha fayllari.

2. FreeRTOS.h-kompilyatsiyani sozlash uchun oldingi protsessor ko'rsatmalari mavjud.

3. mpu_wrappers.h- xotirani muhofaza qilish modulini (MPU) qo'llab -quvvatlash uchun FreeRTOS dasturlash interfeysi (API) funktsiyalarini bekor qilishni o'z ichiga oladi.

4. portativ.h-platformaga bog'liq sozlamalar.

5. projdefs.h-ba'zi tizim ta'riflari

6. semfr.h- semaforalar bilan ishlash uchun API funktsiyalarini belgilaydi, ular navbatlar asosida amalga oshiriladi.

7. StackMacros.h- stack overflow -ni boshqarish uchun makrolar mavjud. Har bir apparat platformasi FreeRTOS -ning ushbu platforma bilan ishlashini ta'minlaydigan yadro kodining kichik qismini talab qiladi. Platformaga tegishli barcha kodlar pastki katalogda joylashgan / Manba / Portativ, bu erda u rivojlanish muhitlari (IAR, GCC va boshqalar) va apparat platformalari (masalan, AtmelSAM7S64, MSP430F449) bo'yicha tasniflanadi. Masalan, pastki katalog / Manba / Portativ / GCC / ATMega323 Port.c va portmacro.h fayllarini o'z ichiga oladi, ular vazifalar kontekstini saqlash / qayta tiklash, vaqt bazasini yaratish uchun taymerni ishga tushirish, har bir topshiriq to'plamini ishga tushirish va mega AVR va mikrokontrollerlar uchun uskunaga bog'liq boshqa funktsiyalarni o'z ichiga oladi. WinAVR kompilyatori (GCC).

Alohida, siz pastki katalogni ajratib ko'rsatishingiz kerak / Manba / Portativ / MemMang qaysi fayllarni o'z ichiga oladi heap_l.c, heap_2.c, heap_3.c FreeRTOS ehtiyojlari uchun xotira ajratishning 3 xil mexanizmini amalga oshiradi, ular keyinroq batafsil tasvirlanadi.

/ Demo katalogi demo-loyihalarni tuzishga tayyor. Barcha demo -loyihalar uchun kodning umumiy qismi pastki katalogda ajratilgan / Demo / Commo n

Loyihangizda FreeRTOS -dan foydalanish uchun siz yadro manba fayllari va tegishli sarlavha fayllarini kiritishingiz kerak. Ularni o'zgartirish yoki ularning bajarilishini tushunish shart emas.

Masalan, agar siz MSP430 mikrokontrolderlari va GCC kompilyatori uchun portdan foydalanishni rejalashtirmoqchi bo'lsangiz, noldan loyiha yaratish uchun "sizga pastki kataloglar kerak bo'ladi. / Manba / Portativ / GCC / MSP430_GCC va / Manba / Portativ / MemMang... / Source / Portable katalogidagi boshqa barcha kataloglar keraksiz va ularni olib tashlash mumkin.

Agar siz mavjud demo -loyihani o'zgartirishni rejalashtirmoqchi bo'lsangiz (aslida, buni FreeRTOS tadqiqotining boshida qilish tavsiya etiladi), unda sizga qo'shimcha kataloglar kerak bo'ladi. / Demo / msp430_GCC va / Demo / Umumiy... Qolgan / Demo pastki kataloglari keraksiz va o'chirilishi mumkin.

Ilovani yaratishda undan foydalanish tavsiya etiladi makefile(yoki ishlab chiqish muhiti loyihasi fayli) tegishli demo -loyihadan boshlang'ich nuqtasi sifatida. O'rnatish (qurish) fayllarini / Demo katalogidan chiqarib tashlash tavsiya etiladi, ularni o'zingizniki bilan almashtiring va / Source katalogidagi fayllar buzilmagan. Sarlavha fayli ham ko'rsatilishi kerak FreeRTOSConfig.h Bu har bir demo -loyihada. FreeRTOSConfig.h FreeRTOS yadrosini sozlash imkonini beruvchi ta'riflarni (#define) o'z ichiga oladi:

1. Tizim funktsiyalari to'plami.

2. Korutinlardan foydalanish.

3. Vazifalar va korutinlarning ustuvorliklari soni

4. Xotiraning o'lchamlari (stek va uyum).

5. MKning soat chastotasi.

6. Har bir bajariladigan vazifaga ajratilgan vaqtni rejalashtiruvchi davri, odatda 1 ms. Tizimning ba'zi funktsiyalarini o'chiring va ustuvorliklar sonini kamaytiring (xotira sarfini kamaytiradi).

FreeRTOS tarqatish, shuningdek, rejalashtiruvchidan olingan iz ma'lumotlarini matn shakliga (katalogga) o'zgartirish vositalarini o'z ichiga oladi / TgaseCon) va litsenziya matni (katalog / Litsenziya).

xulosalar

Seriyadagi birinchi maqola yordamida o'quvchi FreeRTOS mikrokontrollerlari uchun operatsion tizim bilan tanishdi. Ishning xususiyatlari ko'rsatilgan. FreeRTOS tarqatish tarkibini ta'riflab bering. FreeRTOS bilan ishlaydigan qurilmani ishlab chiqarishni boshlashning asosiy bosqichlari berilgan.

Kelgusi nashrlarda ko'p vazifali mexanizmga, ya'ni vazifalar va korutinlarga e'tibor qaratiladi. Atmel AVR mikrokontrollerlari va WinAVR kompilyatori (GCC) yordamida rejalashtiruvchining namunasi ko'rsatiladi.

RTOS MAX ko'p agentli kogerentli tizimlar uchun bepul rus tilidagi real vaqtda operatsion tizim.

MAKS ushbu turdagi operatsion tizimlarning klassik funksionalligini o'zida mujassam etgan va mikrokontrollerlar asosida yangi qurilmalar yaratishda ko'milgan dasturiy ta'minotni ishlab chiqishni sezilarli darajada tezlashtiradigan bir qator afzalliklarga ega. Yangi OSning afzalliklari, ayniqsa, ko'plab qurilmalarning o'zaro ta'sirini tashkil etish masalalarida yaqqol namoyon bo'ladi.


RTOS MAX quyidagilarni o'z ichiga oladi:
  • To'liq ishlaydigan RTOS yadrosi.
  • Manba kodlarining to'liq to'plami.
  • Hujjatlar.
  • Demo ilovalar.
Github-da loyihani ko'rib chiqing: https://github.com/AstroSoft-MIR/macs-rtos

Yoki Eclipse-ga asoslangan MACS Master ishlab chiqish muhitining bir qismi sifatida barqaror versiyani yuklab oling


STMicroelectronics tomonidan ishlab chiqarilgan (shu jumladan STM32F429I-DISCO disk raskadrovka to'plami uchun tayyor loyihalar).

Rivojlanish vositalarini qo'llab -quvvatlash


Tutilish + GCC.

RTOS MAX - bu:

Rejalashtiruvchi:

  • vazifalarni dinamik yaratish va o'chirish,
  • oldindan bajariladigan va kooperativ ko'p vazifali rejimlarni qo'llab -quvvatlash;
  • vazifani bajarish rejimini tanlash - imtiyozli yoki imtiyozsiz.
Sinxronizatsiya ob'ektlari:
  • ikkilik va hisoblash semaforalari,
  • ustuvor merosni qo'llab-quvvatlaydigan rekursiv va rekursiv bo'lmagan mutekslar,
  • o'zgarishlar,
  • xabarlar navbatlari.
Uskuna xotira himoyasidan foydalanish:
  • jarayonlar to'plamini toshib ketishdan himoya qilish uchun,
  • xotirani nol manzilda himoya qilish uchun,
  • periferik portlarni imtiyozsiz kirishdan himoya qilish.
Foydalanuvchilarning vazifalarini uzib qo'yish:
  • qo'shimcha konfiguratsiyani talab qilmaydigan oldindan belgilangan universal uzilish ishlovchisidan maxsus ishlov beruvchining vazifalarini faollashtirish,
  • bitta uzilish uchun bir nechta ishlovchilar vazifalarini belgilash qobiliyati;
  • qayta ishlash vazifalarining ustuvorliklari orqali qayta ishlash ketma -ketligini nazorat qilish.
Profillash:
  • kod bo'limlarining bajarilish vaqtini nuqtadan nuqtaga yoki avtomatik o'zgaruvchi doirasida o'lchash,
  • avtomatik sozlash imkoniyati (o'z ishining kechikishini hisoblash orqali o'lchov aniqligini oshirish),
  • bo'limlarni bo'limlar bo'yicha guruhlash bilan o'lchovlar statistikasini shakllantirish (joylashtirilgan va bo'lmagan barcha bo'limlarning bajarilishining umumiy vaqti, kesmaning minimal / o'rtacha / maksimal bajarilish vaqti, standart og'ish).
Qurilma darajasida umumiy xotira mexanizmi:
  • qurilmalar orasidagi vazifalar kontekstini sinxronlashtirish,
  • qurilmalar guruhi ichida xabarlar almashish.

Mikrokontroller tomonidan boshqariladigan qurilmalar keng ko'lamli vazifalarni hal qilish uchun ishlatiladi. RTOS MAKS - o'rnatilgan ilovalarni ishlab chiqish uchun universal platforma bo'lib, uning ko'lami ma'lum bir vazifada mikrokontrollerlardan foydalanish maqsadga muvofiqligi bilan bog'liq.


Robototexnika, samolyot
  • Boshqaruv tizimi

    Boshqaruv elektronikasi to'g'ridan -to'g'ri robotning o'ziga o'rnatiladi va unga berilgan vazifani hal qilishga imkon beradigan algoritmlarni amalga oshiradi.

  • Telemetriya tizimi

    Robot va masofaviy terminal o'rtasida aloqani ta'minlaydi, operatorga robotning holati to'g'risida ma'lumot olish va buyruqlar yuborish imkoniyatini beradi.


  • Joylashtirish tizimi

    Qo'shimcha tashqi qurilmalar robotlarga uy ichida va tashqarisida harakatlanish, o'z manziliga va tayanch stantsiyalariga yo'l topish imkonini beradi.

Aqlli uy tizimlari
  • Quvvat va yorug'likni boshqarish

    Binoga uzluksiz elektr ta'minotini ta'minlash, energiya sarfini nazorat qilish, xonada odamlar borligiga qarab yoritishni avtomatik ravishda yoqish / o'chirish va yorug'lik darajasini nazorat qilish (kunning turli vaqtlarida yorug'lik yorqinligini sozlash).


  • Iqlim nazorati

    Qulay ichki iqlimni saqlash (harorat va namlikni nazorat qilish, ventilyatsiya va havoni tozalash) foydalanuvchining xohishiga, xonada odamlarning borligiga, shuningdek tashqi omillarga (ob -havo, kun vaqti) qarab amalga oshiriladi.


  • Monitoring va xavfsizlik tizimlari

    Videokuzatuv va binolarga kirishni nazorat qilish, uyning xavfsizligiga tahdid soladigan hodisalarni kuzatish (o'g'rilik, yong'in, suv oqishi) va ular haqida egalari va tegishli xizmatlarga (xavfsizlik, o't o'chirish xizmati) avtomatik xabar berish.

Maishiy texnika va maishiy texnika


Texnologiyaning rivojlanishi bilan maishiy texnika yanada funksional bo'lib, ulardan foydalanish osonlashmoqda. Masalan, bugungi kunda xaridor alohida masofadan boshqarish pultlari o'rniga smartfon yoki planshetdan markazlashtirilgan tarzda boshqariladigan uskunalarga ega. "Aqlli" texnologiya odamdan kamroq e'tibor talab qiladi, bu esa foydalanuvchiga vaqt va pulni sezilarli darajada tejash imkonini beradi (robot changyutgichlar tozalashni o'zlari bajaradi, kechiktirilgan ishga tushirish va avtomatik o'chirish funktsiyalari ish vaqtini boshqaradi). va shu bilan energiya sarfini optimallashtirish). Narsalar Internetining (IoT) tez rivojlanayotgan texnologiyalari qurilmalarning to'liq avtonomligini bildiradi, bu ularni dasturiy ta'minotni to'ldirish uchun yuqori talablar tug'diradi va ushbu qurilmalarni ishlab chiqaruvchilar tomonidan "qutisidan tashqarida" xizmat ko'rsatadigan OSga qiziqish ortib bormoqda. va bu muxtoriyatni ta'minlashga imkon beruvchi o'zaro ta'sir protokollari.


IoT texnologiyalari qurilmalarning to'liq avtonomligini anglatadi. Bu ularning dasturiy ta'minotini to'ldirish uchun yuqori talablarni keltirib chiqaradi. Ushbu qurilmalarni ishlab chiquvchilar tomonidan, bu avtonomiyani ta'minlash uchun allaqachon mavjud bo'lmagan xizmatlar va o'zaro aloqa protokollarini taqdim etadigan OSga qiziqish ortib bormoqda.


Meshni qo'llab -quvvatlash
  • Tarmoqning ishonchliligi va chidamliligi

    Tarmoq tugunlari bir -biri bilan bog'lanib, ko'p sonli havolalarni hosil qiladi. Tugunlar o'rtasida bir nechta trafik yo'nalishlari shakllanishi mumkin. Agar ortiqcha yo'nalishlar bo'lsa, oraliq tugunlardan birining ishdan chiqishi butun tarmoqning ishini buzmaydi. Ma'lumot dinamik ravishda boshqa yo'nalishga yo'naltiriladi.


  • O'z-o'zini tashkil qilish

    Tarmoqlar avtomatik ravishda tuziladi, chunki tugunlar ulanadi / uziladi. Agar kerak bo'lsa, har bir tugun mustaqil ravishda maqsadli tugunning mavjudligi to'g'risida ma'lumot olishi va ma'lumot almashish uchun maqbul yo'lni qurishi mumkin.


  • Aloqa diapazonining kengayishi

    Har bir qurilma qisqa aloqa diapazoniga ega bo'lishi mumkin. Biroq, bir -biriga ulangan ko'plab qurilmalarning hududiy taqsimoti ancha keng qamrovli bo'lishga imkon beradi.

IoT texnologiyalarini qo'llab -quvvatlash
  • Tarqatilgan tizimning optimal konfiguratsiyasi

    Tizimdagi har bir qurilmaning apparat resurslari uning funktsional maqsadiga qarab tanlanadi. Ob'ektlarni aniqlash yoki tashqi muhit parametrlarini o'lchash kabi oddiy vazifalarni hal qilish uchun kuchli kompyuterlarga ehtiyoj yo'q. Bu funktsiyalarni kichik, yakka tartibdagi modullarda bajarish mumkin, bu esa tarqatilgan tizim narxini pasaytiradi.


  • Tizimning avtonom ishlashi

    Qurilmalar bir -biri bilan o'zaro aloqada bo'lib, qaror qabul qilishlari va odamlarning aralashuvisiz vazifalarni bajarishlari mumkin, bu esa tizimni saqlash xarajatlarini kamaytiradi.


  • Miqyoslilik

      Qurilmalarni tarmoqdan kiritish va chiqarish og'riqsiz va avtomatik. Tarmoq qaysi qurilma paydo bo'lganini va uni qanday ishlatishni "o'zi hal qiladi".

Ilovalar
  • Sensorlar, sensorlar, transduserlar
  • Aqlli uy va aqlli shahar tizimlari
  • Internet -narsalar (IoT)
  • Sanoat avtomatizatsiyasi, boshqarish
  • Robototexnika
  • Tibbiy asbob -uskunalar
  • Temir yo'l transporti
  • Maishiy elektronika
  • Aloqa tizimlari

Salom, Xabr!
Bugun men real vaqtda operatsion tizim (RTOS) kabi qiziqarli narsa haqida gaplashaman. Ishonchim komilki, bu tajribali dasturchilar uchun qiziqarli bo'ladimi, lekin menimcha, bu yangi boshlanuvchilarga yoqadi.

RTOS nima?

Agar Vikipediyaga nazar tashlasak, 4 ta ta'rifni ko'ramiz.
Qisqacha aytganda, RTOS - bu ma'lum vaqt ichida tashqi hodisalarga ta'sir ko'rsatadigan operatsion tizim. Shunday qilib, biz RTOSning asosiy maqsadini tushunishimiz mumkin - bu hodisalarga tezkor reaktsiya zarur bo'lgan qurilmalar (lekin hech qanday holatda RTOS operatsiyasini uzilishlar bilan aralashtirib yubormang).

Nega bizga kerak?

Buning bir qancha sabablari bor.
Birinchidan, RTOS ko'p vazifalarni, jarayonning ustuvorliklarini, semaforalarni va boshqalarni qo'llab -quvvatlaydi.
Ikkinchidan, u juda yengil va deyarli hech qanday resurs talab qilmaydi.
Uchinchidan, biz yuqorida aytilganlarning barchasini deyarli har qanday uskuna orqali olishimiz mumkin (masalan, FreeRTOS 8-bitli AtMega-da ham ishlaydi).
To'rtinchidan: shunchaki o'ynang va dam oling.

3 ta taniqli RTOS-ni ko'rib chiqish.

Diqqat: bu mening shaxsiy fikrim.
FreeRTOS
Bugungi kunda eng mashhur RTOSlardan biri. Katta miqdordagi temirga ko'chirildi. Rasmiy sayt.
tarozilar
1) bepul
2) Katta miqdordagi temirga o'tkaziladi
3) kuchli funksionallik
4) Har xil kutubxonalar mavjud: grafik, internet va boshqalar.
5) yaxshi hujjatlar.
Kamchiliklari
1) Yangi uskunalarga ko'chirishning juda murakkab jarayoni.

Xulosa: bu yaxshi hujjatli professional RTOS. Agar uning apparatida port bo'lsa, bu yangi boshlanuvchilar uchun yaxshi bo'ladi.

KeilRTX
Yaqin vaqtgacha bu RTOS tijorat edi, lekin yaqinda ochiq edi. Faqat qo'l arxitekturasi ustida ishlaydi. Rasmiy sayt.
tarozilar
1) bepul
2) osonlikcha yangi uskunalarga ko'chiriladi (qo'l arxitekturasida).
3) Har xil kutubxonalar mavjud: grafik, internet va boshqalar.
Kamchiliklari
1) Keyl bilan u bilan ishlash deyarli mumkin emas
2) ozgina funktsional imkoniyatlar
3) Faqat qo'l qo'llab -quvvatlanadi.
4) (shaxsiy tajribadan) Ko'p RTOS tezlikda yo'qotadi.
Xulosa: yangi boshlanuvchilar va kichik loyihalar uchun ideal.
uc / os
Kuchli tijorat RTOS. Sayt.
tarozilar
1) Ko'p sonli funktsiyalar va kutubxonalar.
2) Ko'p temirni qo'llab -quvvatlaydi
Kamchiliklari
1) tijorat.
2) foydalanish qiyin.

Xulosa: uni yangi boshlanuvchilar uchun RTOS deb atash juda qiyin.

Boshqa qiziqarli RTOS

RTLinux Oddiy Linuxga asoslangan RTOS.
Unix -ga asoslangan QNX RTOS.

RTOS yordamida rivojlanish xususiyatlari

Xo'sh, birinchi navbatda, siz quyidagilarni tushunishingiz kerak: RTOS Windows emas. Uni o'rnatib bo'lmaydi. Bu tizim shunchaki sizning dasturingiz bilan tuzilgan.
RTOS bilan dasturlarni yozishda odatiy ma'noda funktsiyalar ishlatilmaydi. Funktsiyalar o'rniga jarayonlar (yoki vazifalar) ishlatiladi. Farqi shundaki, jarayonlar, funktsiyalardan farqli o'laroq, cheksiz halqadir va hech qachon tugamaydi (agar kimdir yoki uning o'zi uni o'ldirmasa - ya'ni xotiradan yuklamasa).
Agar bir nechta jarayonlar yoqilgan bo'lsa, RTOS ularni o'zgartiradi va o'z navbatida mashina vaqti va resurslarini ko'rsatadi. Bu erda jarayonning ustuvorligi kontseptsiyasi paydo bo'ladi - agar ikkita jarayon bir vaqtning o'zida mashina vaqtini talab qilsa, RTOS uni yuqori ustuvorlikka beradi.
RTOS -da maxsus kechiktirish funktsiyalari mavjud - shuning uchun bitta jarayon kechiktirilganda vaqt behuda ketmaydi, ikkinchisi bajariladi.
Keling, semafora kabi narsa haqida gapiraylik - bu jarayonning dastur resurslariga kirishini boshqaradigan narsa. Har bir resurs uchun marker mavjud - jarayonga resurs kerak bo'lganda, u uni oladi va mana shu resursdan foydalanadi. Agar marker bo'lmasa, jarayon qaytarilishini kutish kerak bo'ladi. Men misol keltiraman: turli jarayonlar bitta UARTda ma'lumot yuboradi. Agar semafora bo'lmaganida, ular baytlarni birma -bir yuborib, tartibsizlik bo'lardi. Shunday qilib, birinchi jarayon UART markerini oldi, xabar yubordi va uni ikkinchisiga berdi (va hokazo - ad infinitum).

Qo'shimcha RTOS kutubxonalari.

RTOS ko'pincha ishlash uchun turli kutubxonalarni taklif qiladi, masalan, grafik, Internet va hk. Ular haqiqatan ham qulay va ulardan foydalanishdan tortinmaslik kerak. Ammo, esda tutingki, ular yozilgan RTOSsiz ular ishlamaydi.
Bu erda ba'zi misollar:
RTX uchun

O'rnatilgan tizim, o'rnatilgan tizim O'rnatilgan tizim - bu maxsus kompyuter tizimi, unda odatda kompyuter o'zi boshqaradigan qurilmaga joylashtirilgan.

Xususiyatlari:

  • Juda kam quvvat sarfi, 0,5 dan ~ 20 vattgacha
  • Kichik o'lcham
  • Katta issiqlik chiqarish (sovutish) tizimlarining yo'qligi. Ko'pincha CPU umuman sovimaydi yoki kichik sovutgich ishlatiladi.
  • CPU va tizim mantig'i, shuningdek boshqa ba'zi IClar, odatda, bitta kristalda birlashtiriladi (System On Crystal = SOC)

O'rnatilgan tizimlarni qurish uchun asos bitta taxtali yoki bitta chipli bo'lishi mumkin mikrokontrollerlar, maxsus yoki umumiy maqsadli CPU, FPGA. O'rnatilgan tizimlarning ayrim turlarining qiziqarli xususiyati-x86 oilasining ancha eskirgan protsessorlari (masalan, i386, i486, Pentium) va ularning klonlari kam quvvat sarfi va arzonligi (taxminan 1-5 dollar) tufayli. Bundan tashqari, o'rnatilgan tizimlarning ko'p turlari ARM arxitektura protsessorlaridan foydalanadi.

Hozirgi vaqtda juda ko'p sonli kompaniyalar (shu jumladan Rossiyada ham) RISC arxitekturasiga ega bo'lgan mikrokontrollerlar va protsessorlar asosida bitta taxtali kompyuterlar ishlab chiqaradilar. Ular orasida Advantech, AAEON, Advanced Micro Periferial (AMP), Ampro Computers, Diamond Systems, iBASE, InnoDisk, Fastwel (Rossiya), Lippert, Octagon Systems, RTD Embedded Technologies, Tri -M Systems - Engineering, SanDisk, STEC. O'rnatilgan tizimlarga bankomatlar, avionika, PDA, telekommunikatsiya uskunalari va boshqalarni misol qilish mumkin.

Ba'zi o'rnatilgan tizimlar ommaviy ishlatiladi (masalan, RFID qurilmalari). O'rnatilgan tizimlar zararli kod yaratuvchilari uchun jozibali nishondir, chunki ular hamma joyda va nisbatan himoyasizdir. O'rnatilgan tizimlar uchun zararli kod asta -sekin paydo bo'ladi (Cabir, RFID virusi); Yaxshiyamki, bu jarayonga ko'milgan qurilmalarning xilma -xilligi, dominant dasturiy ta'minotning yo'qligi va ayrim turdagi qurilmalarning cheklangan funksionalligi haligacha to'sqinlik qilmoqda. Boshqa tomondan, antivirus kompaniyalari va kompyuter xavfsizligi tadqiqotchilarining vazifasi ham shu holatlar, shuningdek, keng tarqalgan antivirus dasturlaridan foydalanishga ruxsat bermaydigan o'rnatilgan tizimlarning kam quvvati bilan murakkablashadi.

O'rnatilgan tizimlar uchun protsessorlarning asosiy ishlab chiqaruvchilari VIA texnologiyalari, Transmeta korporatsiyasi, Infineon Technologies.

O'rnatilgan tizimlar uchun operatsion tizimlar

O'rnatilgan tizimlar taxminan ishlatadi real vaqtda operatsion tizimlar (RT OS).

Haqiqiy vaqtda operatsion tizim OS-bu oldindan aytib bo'lmaydigan tashqi hodisalarga oldindan aytib bo'ladigan vaqtda javob beradigan OS. Ba'zida RTOS doimiy tayyorlikning interaktiv tizimlari deb ataladi. Ular marketing sabablari bo'yicha RTOS toifasiga kiradi va agar interaktiv dastur "real vaqtda ishlaydi" deb nomlansa, bu faqat foydalanuvchidan so'rovlar odamlarga ko'rinmaydigan kechikish bilan bajarilishini bildiradi. Ba'zida real vaqtda tizim kontseptsiyasi "tezkor tizim" ga tenglashtiriladi, lekin bu har doim ham to'g'ri emas, chunki RTOS javobining kechikish vaqti muhim emas, lekin bu vaqt dastur uchun etarli. savol va bu kafolatlangan.

Ba'zida tizimlar ajralib turadi Qattiq va yumshoq real vaqt... "Qattiq" real vaqtda OT ba'zi harakatlarning ma'lum vaqt oralig'ida bajarilishini kafolatlaydi, "yumshoq" real vaqtda OT, qoida tariqasida, ma'lum vaqt ichida amallarni bajarishga muvaffaq bo'ladi, lekin bunga to'liq kafolat bermaydi. . Dasturiy ta'minotning aksariyati real vaqt rejimiga asoslangan.

Bunday tizimlar quyidagilar bilan tavsiflanadi:

  • tashqi hodisalarga kafolatlangan javob vaqti (uskunadan uzilishlar);
  • jarayonlarni rejalashtirishning qattiq quyi tizimi (ba'zi bir istisnolardan tashqari, ustuvor vazifalar past darajadagi vazifalar bilan almashtirilmasligi kerak);
  • tashqi hodisalarga yoki reaktivlikka javob vaqtiga qo'yiladigan talablarning oshishi (uzilish ishlovchisini chaqirishda kechikish o'nlab mikrosaniyalardan oshmaydi, vazifalarni almashtirishda kechikish yuzlab mikrosaniyalardan oshmaydi)

RTOS -ni talab qiladigan vazifaning klassik namunasi - bu konveyer tasmasidan bir qismini olib tashlaydigan robotni boshqarish. Qism harakatlanmoqda va robot uni olish uchun ozgina vaqtga ega. Agar u kechiksa, u holda qism endi konveyerning kerakli qismida bo'lmaydi va shuning uchun robot to'g'ri joyida bo'lishiga qaramay, ish bajarilmaydi. Agar u oldinroq joylashtirilgan bo'lsa, u holda qismning haydashga hali vaqti bo'lmaydi va u o'z yo'lini to'sib qo'yadi.
Windows CE (aka WinCE) bu qo'lda ishlaydigan kompyuterlar, mobil telefonlar va o'rnatilgan tizimlar uchun Microsoft Windows operatsion tizimining bir variantidir. Windows CE-bu ish stoli uchun Windows-ning "o'chirilgan" versiyasi emas va u butunlay boshqa yadroga asoslangan. Tizimning asosiy kamchiliklari kerakli dasturiy ilovalarning to'liq yo'qligini o'z ichiga oladi. X86, MIPS, ARM arxitekturasi va Hitachi SuperH protsessorlarini qo'llab -quvvatlaydi.

WinCE -ning asosiy raqobatchilari VxWorks, eCos, OSE, QNX, LynxOS, Symbian OS, OS-9 shuningdek, Linuxning turli xil hosilalari (masalan. uClinux ) va eng mashhuri PalmOS ... Ba'zi qurilma ishlab chiqaruvchilari ham o'z tizimini ishlab chiqaradilar.

Windows CE minimal xotirali qurilmalar uchun optimallashtirilgan: Windows CE yadrosi 32KB xotirada ishlashi mumkin. Grafik interfeys (GWES) yordamida Windows CE ni ishga tushirish uchun kamida 5 MB kerak bo'ladi. Qurilmalarda ko'pincha disk xotirasi yo'q va ularni "yopiq" qurilmalar sifatida ishlab chiqish mumkin, bunda foydalanuvchi kengaytirilishi mumkin emas (masalan, operatsion tizimni ROMga "qattiq kodlash" mumkin). Windows CE real vaqtda operatsion tizim ta'rifiga javob beradi.

Ko'pgina platformalar Windows CE -ga asoslangan bo'lib, ularda Handheld PC, Pocket PC, Pocket PC 2002, Pocket PC 2003, Pocket PC 2003 SE, Smartphone 2002, Smartphone 2003, Windows Mobile, shuningdek ko'plab sanoat qurilmalari va o'rnatilgan tizimlar mavjud. Sega Dreamcast Windows CE -ni qo'llab -quvvatladi. Windows CE o'zi dastlabki etkazib berishga kiritilmagan, lekin u kompakt-diskda pristavkada ishlashi mumkin edi. Ba'zi o'yinlar ushbu xususiyatdan foydalangan.

Windows CE, Windows Mobile, Pocket PC nomlari ko'pincha bir -birining o'rnida ishlatiladi. Bu mutlaqo to'g'ri emas. Windows CE 3.0 - bu modulli operatsion tizim bo'lib, u bir nechta qurilma sinflari uchun asos bo'lib xizmat qiladi. Har qanday ishlab chiquvchi o'z platformasini yaratish uchun ushbu komponentlar va dasturlarni o'z ichiga olgan Platform Builder sotib olishi mumkin. Biroq, Word Mobile / Pocket Word kabi ilovalar ushbu asboblar to'plamiga kirmaydi.

Windows Mobile - bu Windows CE ga asoslangan platformalar to'plami deb o'ylash yaxshiroqdir. Hozirgi vaqtda ushbu to'plamga platformalar kiradi: Pocket PC, SmartPhone va Portable Media Center. Har bir platformada Windows CE komponentlarining boshqa to'plami, shuningdek, tegishli funktsiyalar va ilovalarning boshqa to'plami ishlatiladi.

Windows CE .net Windows CE 4.2 versiyasining kod nomi.

Windows o'rnatilgan CE 6.0(kod nomi "Yamazaki") - Windows o'rnatilgan operatsion tizimining oltinchi versiyasi bo'lib, sanoat nazoratchilari va maishiy elektronika kompaniyalariga mo'ljallangan. Windows Embedded CE 6.0 to'liq qayta ishlangan yadroga ega, u 32000 dan ortiq jarayonlarni qo'llab -quvvatlaydi, bu oldingi versiyalarda 32 ta. Jarayonlar uchun ajratilgan virtual manzillar maydoni 32 MB dan 2 Gbgacha oshdi.

Windows Embedded CE 6.0 2006 yil 1 -noyabrda chiqarilgan.
Windows CE 6.0 R2 2007 yil 15 -noyabrda chiqarilgan.
Windows Embedded CE 6.0 ham Windows Mobile 7 (kod nomi "Foton") uchun asosdir.

QNX bu asosan o'rnatilgan tizimlar uchun mo'ljallangan real vaqtda POSIX-ga mos keladigan tijorat operatsion tizimi. Bu mikrokernel operatsion tizimlari kontseptsiyasining eng yaxshi tadbiqlaridan biri hisoblanadi.

Qanaqasiga mikrokernel operatsion tizimi QNX uning tarkibiy qismlarining ko'pchiligi xizmatlar deb nomlangan kichik vazifalar sifatida ishlaydi degan fikrga asoslanadi. Bu uni an'anaviy monolitik yadrolardan ajratib turadi, bunda operatsion tizim yadrosi bitta katta dastur bo'lib, har biri o'ziga xos xususiyatlarga ega bo'lgan ko'plab "qismlardan" iborat. QNX -da mikro yadrodan foydalanish foydalanuvchilarga (ishlab chiquvchilarga) yadroni o'zgartirmasdan, kerak bo'lmagan funktsiyalarni o'chirib qo'yishga imkon beradi. Buning o'rniga, siz ma'lum bir jarayonni boshlay olmaysiz.

Tizim minimal konfiguratsiyadagi bitta floppi -ga mos keladigan darajada kichik, lekin ayni paytda u juda tez va to'g'ri "tugallangan" (amalda xatolarsiz) hisoblanadi.

QNX Neutrino 2001 yilda chiqarilgan ko'plab platformalarga ko'chirildi va hozirda o'rnatilgan bozorda ishlatiladigan deyarli har qanday zamonaviy protsessor bilan ishlashga qodir. Bu platformalar orasida oilalar ham bor x86, MIPS, PowerPC, shuningdek SH-4, ARM, StrongARM va xScale kabi maxsus protsessor oilalari.

Ishlab chiqaruvchining veb-saytida notijorat versiyani yuklab olish mumkin.

LynxOS-Unix-ga o'xshash real vaqt rejimida o'rnatilgan tizimlar uchun mo'ljallangan, POSIX standartlariga mos keladi va yaqinda GNU / Linux operatsion tizimi. LynxOS asosan aviatsiya, sanoat jarayonlarini boshqarish tizimlari va telekommunikatsiyalarda ishlatiladi.

ChorusOS bu o'rnatilgan tizimlar uchun mo'ljallangan, real vaqtda mikrokernel operatsion tizimi. 1997 yilda Sun Microsystems ChorusOS kompaniyasi ortida joylashgan Chorus tizimlarini sotib oldi. 2002 yil avgust oyida Chorus Systems asoschilari yangi VirtualLogix kompaniyasini tuzdilar va Linux va ChorusOS yordamida o'rnatilgan tizimlarni ishlab chiqa boshladilar.

Yadro bu Mentor Graphics-ning o'rnatilgan tizimlar bo'linmasi bo'lgan Accelerated Systems tomonidan har xil protsessor platformalari uchun yaratilgan real vaqtda operatsion tizim. Televizor dekoderlarida, mobil telefonlarda va boshqa ko'chma va portativ qurilmalarda keng tarqalgan. Nucleus Garmin International tomonidan fuqaro aviatsiyasi uchun GPS modulida ishlatiladi.

OS-9 Microware Systems Corporation tomonidan ishlab chiqilgan, ko'p vazifali, ko'p foydalanuvchilarli real vaqtda operatsion tizim.
Interaktiv va o'rnatilgan tizimlar uchun ishlatiladi. Bugungi kunda OS-9 Oregon shtatida (AQSh) joylashgan RadiSys korporatsiyasiga tegishli.

VxWorks- Wind River Systems (AQSh) tomonidan ishlab chiqilgan real vaqtda operatsion tizim (RTOS).
Boshqa RTOS -lar singari, VxWorks -da tezkor uzilishlar, protsesslararo aloqa va sinxronizatsiya, fayl tizimi va tarmoq quyi tizimi (TCP / IP protokoli to'plami) bo'lgan oldindan rejalashtirilgan yadro mavjud. To'plamga o'zaro kompilyatsiya, ishlash monitoringi (WindView), masofaviy ramziy disk raskadrovka va turli protsessorlarni taqlid qilish vositalari kiradi. Bundan tashqari, Wind River System -dan ham, uchinchi shaxslardan ham juda ko'p sonli protokollar to'plamlari, grafik quyi tizimlari va boshqalar ta'minlanadi. VxWorks tomonidan qo'llab -quvvatlanadigan ko'plab o'rnatilgan platformalar RTOS -ning eng keng tarqalgan platformalaridan biridir.

Wind River Workbench IDE -ning so'nggi versiyasi (VxWorks 6.x va 5.x bilan birga keladi) Eclipse tizimiga asoslanadi. Avvalgi mulkiy rivojlanish muhiti Tornado deb nomlangan.

Foydalanish:

  • Mars orbitasida Marsni qayta o'rganish orbitasi (VxWorks tizimidan foydalangan holda)
  • Ruh va imkoniyat zondlari, shuningdek, Marsni qidirish orbitasi, POWER platformasida VxWorks -dan foydalanadi. Tizim boshqa kosmik missiyalarda ham qo'llaniladi, masalan, Deep Impact.
  • Oxirgi samolyotlarda foydalanish rejalashtirilgan Boeing 787.
  • Ko'pgina kompaniyalarning aloqa uskunalari (masalan, Nortel, 3COM, Alcatel va boshqalar).
  • Linksys WRT54G (5,6, ...), NetGear WGR614 (5,6,7 -versiya)
  • Ba'zi PostScript printerlari.
  • Siemens AG -dan tibbiy asbob -uskunalar (xususan, magnit -rezonans tomografiya apparatlari).
  • Eng yangi BMW iDrive interfeys tizimlari

OS2000- MIPS va Intel mikroprotsessorlari uchun RF Mudofaa vazirligi buyurtmasi bo'yicha NIISI RAS tomonidan ishlab chiqilgan real vaqtda operatsion tizim (RT OS).
Ushbu RT OS real vaqtda ishlaydigan tizimlar uchun dasturiy ta'minot (dasturiy va apparat tizimlari) ni ishlab chiqish uchun mo'ljallangan.
Qurilmani qo'llab -quvvatlash:

  • Ethernet tarmoq qurilmalari (NFS, FTP, Telnet protokollari), Intel versiyasi uchun qo'llab -quvvatlash Realtek, NE2000 mos keladigan kartalari ISA va PCI kartalari bilan cheklangan.
  • saqlash qurilmalari - floppi va qattiq disklar (vfat va tar fayl tizimlari)

Unix tizimlarida ishlatiladigan X-Window System, mijoz-server grafik tizimi qo'llab-quvvatlanadi.

RTOS ishlab chiquvchiga tizim elementlari tuzilgan va tartibga solingan ramka beradi. Darhaqiqat, imtiyozlar real vaqt rejimidan ancha kattaroqdir - hatto kerak bo'lmagan tizimlar uchun ham, chunki dastur RTOS -ga asoslangan bo'lsa, dasturni ancha yaxshi tashkil qilish mumkin.


RTOS integratsiyasi sizga amaliy dastur bilan yuzaga kelishi mumkin bo'lgan ko'p muammolarni hal qilishga imkon beradi, chunki u ko'p vazifalarni bajarishga imkon beradi va dasturni kichikroq qismlarga (vazifalarga) ajratishga imkon beradi. Har bir vazifa o'z ahamiyatiga qarab o'z ustuvorligini oladi va imtiyozli rejalashtirish mikrokontroller ishga tayyor bo'lgan vazifalar orasida eng ustuvor vazifani bajarishini ta'minlaydi. Ko'pgina hollarda, past darajadagi vazifani qo'shish tizimning yuqori darajadagi vazifalarga javob berishiga ta'sir qilmaydi.


Hozirgi vaqtda ARM va Cortex asosidagi mikrokontrollerlar 8 yoki 16 bitli mikrokontrollerlar bilan bir xil narxda sotiladi. Ular taqdim etadigan qo'shimcha ish qobiliyati shuni anglatadiki, ixtisoslashtirilgan tizim RTOS ishini mukammal darajada bajara oladi. Bundan tashqari, zamonaviy ilovalarning murakkabligi RTOS loyihalaridan foyda oladi. Biroq, RTOS -ni muvaffaqiyatli ishlatish uchun mikrokontrollerda kamida 16 dan 32 KB gacha flesh yoki dastur xotirasi bo'lishi kerak.

RTOS -ni tanlang

RTOS to'liq rivojlanish ekotizimining faqat bitta komponentidir. Mahsulotlarning keng assortimenti bilan bog'liq bo'lgan bu murakkablik yangi savollar tug'diradi. Dizayner qaysi RTOS dastur uchun ideal va qaysi RTOS mikrokontrolder uchun ideal ekanligini hal qilishi kerak. Umid qilamanki, bu ikkala holatda ham bir xil. Bundan tashqari, ishlab chiquvchi tanlangan RTOS ostida yaxshi ishlaydigan dasturlash va disk raskadrovka vositalarini tanlashi kerak. Yaxshiyamki, bugungi kunda ishlab chiquvchilar yuqorida aytib o'tilgan savollarga javob berishga yordam beradigan ob'ektiv ma'lumot manbalari mavjud.

Oliy ustuvorlik / past darajali

Haqiqiy vaqt tizimidagi asosiy muammo-bu uzilishga javob berish va uzilishni qayta ishlash uchun maxsus kodni (vazifalarni) ishga tushirish vaqti. RTOS bo'lmagan tizimlar old / orqa fon sifatida tanilgan va 1-rasmda ko'rsatilgandek ishlaydi. Ilova kerakli operatsiyalarni bajarish uchun modullarni chaqiradi: past darajali modullar ketma-ket asosiy dastur tsiklida bajariladi va uzilishlar yuqori ustuvor asinxron hodisalarni boshqaradi. Odatiy ilovalar ko'p so'rov o'tkazadi va dastur o'sib borishi bilan dastur buziladi. RTOS bo'lmasa, siz ko'plab davlat mashinalari bilan dasturni ishga tushirish uchun zarur bo'lgan vaqtni kechiktirish va taymerlar kabi foydali xizmatlarni o'zingiz bajarishingiz kerak bo'ladi.

rasm 1

KO'P VAZIFALI

Ko'p vazifa - bu protsessorni protsessorni ulashadigan bir nechta vazifalar o'rtasida rejalashtirish va almashtirish jarayoni. Ko'p vazifani bajarishning eng muhim jihatlaridan biri shundaki, u dasturchi dasturiga zamonaviy ilovalarga xos bo'lgan murakkablikni boshqarishga imkon beradi. RTOS vazifalarni boshqarish va ular o'rtasida ma'lumot uzatish orqali amaliy dasturlarni loyihalash va saqlashni osonlashtirishi mumkin.

Tizim muhimroq hodisa tufayli boshqa vazifani boshlashi kerak bo'lganda, protsessor registrlarining joriy tarkibi joriy vazifaning bir qismi sifatida saqlanadi. Yangi (muhimroq) vazifaning konteksti uning kodini bajarishdan oldin oldingi holatiga qaytariladi. Ushbu protsedura kontekstni almashtirish yoki vazifalarni almashtirish vositasi yordamida amalga oshiriladi. Har bir vazifa uchun to'plamning hozirgi ustki qismi, boshqa ma'lumotlar bilan bir qatorda, RTOS tomonidan boshqariladigan Vazifalarni boshqarish bloki deb nomlangan ma'lumotlar tuzilmasida saqlanadi.

Rejalashtirish

Vazifalarni bajarish tartibi rejalashtiruvchi yoki dispetcher tomonidan belgilanadi. Rejalashtirishning ikki turi mavjud: kooperativ (oldindan bo'lmagan) va oldindan (oldindan).


Birgalikda rejalashtirishda vazifalar protsessorni boshqarish uchun bir -biri bilan o'zaro ta'sir qiladi (hamkorlik qiladi): vazifa protsessorni bo'shatganda, yadro keyingi eng muhim vazifaning kodini bajarishga tayyor holda bajaradi. Asinxron hodisalarga haligacha uzilish ishlovchilari xizmat ko'rsatadilar, bu esa ustuvor vazifani bajarishga tayyor holga keltirishi mumkin, lekin uzilish ishlovchisi har doim uzilgan vazifaga qaytadi. Yuqori vazifaga ega bo'lgan yangi vazifa faqat 2 -rasmda ko'rsatilganidek, joriy vazifa protsessorni ixtiyoriy ravishda qo'yib yuborganida protsessorga kira oladi.

rasm 2

Qachonki, 3 -rasmda ko'rsatilgandek, oldindan rejalashtirgichda, voqea yoki uzilish ishlovchisi yuqori darajadagi ustuvor vazifani bajarishga tayyor qilib qo'ysa, joriy vazifa darhol to'xtatiladi va yuqori darajadagi vazifa protsessorga kira oladi. Ko'pgina real vaqtda tizimlar oldindan rejalashtiruvchilardan foydalanadilar, chunki ular kooperativ yadrolarga qaraganda tezroq javob beradi.

rasm 3

Resurslar

RTOS -dan foydalanishning aniq afzalligi shundaki, u ko'p protsessor resurslarini iste'mol qilmasdan ishlab chiqarishni soddalashtirish orqali bozorga chiqish vaqtini qisqartiradi. Masalan, Micrium-ning uC / OS-II dasturida ARM qurilmalarida atigi 6 dan 24 KB gacha dastur xotirasi va 1 dan 8 KB gacha ma'lumot xotirasi ishlatiladi. Kichik 8 yoki 16 bitli platformalarda xarajatlar bundan ham past- atigi 4 dan 16 KB gacha dastur xotirasi.


RTOS, qoida tariqasida, deterministik xususiyatga ega, ya'ni berilgan muhim vazifalar to'plami belgilangan muddatgacha to'liq bajarilishi mumkin. Voqealar sodir bo'lganda vazifalarni bajarish orqali so'rovdan qochish mumkin. Voqealarni kutayotgan vazifalar protsessor davrlarini iste'mol qilmaydi.

OSRV ning tijorat afzalliklari

Ba'zi kompaniyalar o'zlarining RTOS -laridan foydalanadilar, lekin ularning tizimlari hujjatlar etishmasligi va keng ko'lamli sinovlardan aziyat chekishi mumkin. Mahalliy RTOS odatda boshqa protsessorlarga o'tkazilmaydi va ularning kodi ko'pincha nomukammal bo'ladi. Eng yomoni, agar ularni yaratgan dizayner kompaniyani tark etsa, tizimni saqlab qolish imkonsiz bo'lishi mumkin.


Tijorat RTOS yuzlab, minglab loyihalarda ishlatiladi va uning ishlashini ta'minlash uchun tasdiqlangan kodga asoslangan. Micrium-ning uC / OS-II FAA / FDA / IEC sertifikatiga ega bo'lib, uni aviatsiya elektronikasi, tibbiyot va boshqa turdagi xavfsizlikni ta'minlovchi dasturlarda ishlatishga yaroqli qiladi. Agar qurilma Aviation Electronics uchun sertifikatlangan RTOS -ning ishonchliligiga muhtoj bo'lmasa ham, RTOS keng ko'lamli sinovlardan o'tganini bilish juda yoqimli. uC / OS-II ham juda mobil va 45 dan ortiq turli xil protsessorlarda ishlashi mumkin. Dastur kodini 8-bitdan 32-bitli arxitekturaga va hatto DSP-ga osongina ko'chirish (ko'chirish) mumkin. Foydalanuvchi to'liq qo'llab -quvvatlash va hujjatlar bilan ta'minlanadi.


Ilovaga kerak bo'lishi mumkin bo'lgan xizmatlarning aksariyati allaqachon RTOS -ga o'rnatilgan. Ular orasida:

Vaqtni boshqarish - vaqtni kechiktirish va taymerlar
- Vazifalarni boshqarish - yaratish, o'chirish, to'xtatib turish, davom etish
- O'zaro istisnolar
- Xabarlar
- signal uzatish

RTOS -dan foydalanishning afzalliklari dasturiy ta'minot komponentlarining to'liq portfeli (dasturiy ta'minot), shuningdek TCP / IP stack, USB stack, CANbus stack, UART, fayl tizimlari va foydalanuvchi grafik interfeysi, jumladan, o'rta dasturlarning mavjudligi bilan belgilanadi. Albatta, ba'zi komponentlar past protsessorlarga qaraganda tezroq ishlashni talab qilishi mumkin.

Tijorat RTOS sanoatining ikkita ustuni ishga kirishni yanada osonlashtiradi. Ko'p RTOS-lar, shu jumladan uC / OS-II, royaltisiz sotiladi, bu esa doimiy royalti to'lovlarini talab qiladigan RTOS-lardan ko'ra ancha foydali. Ko'pincha, RTOS, litsenziya sotib olingan taqdirda, ko'plab boshlang'ich to'plamlarga (MCU boshlang'ich to'plamlari) kiradi.

XULOSA

RTOS-bu juda ko'p o'rnatilgan ilovalarni ishlab chiqishni soddalashtiradigan-real vaqtda yoki yo'q-bu dasturiy ta'minotga katta o'zgarishlarni talab qilmasdan yangi funksiyalarni qo'shishga imkon beradigan bebaho vosita. Tizimning yuqori xarajatlari hisobga olinsa, hozirda RTOS-dan foydalanish ko'pgina 8 va 16-bitli kichik tizimlarda, shuningdek 32-bitli va undan kuchli protsessorli tizimlarda oqlanadi.
Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: