Mikrokontroller - bet 3

|
Mikrokontroller
|
bet | 3/5 | Sana | 31.01.2024 | Hajmi | 434,94 Kb. | | #149521 |
Bog'liq Zamonaviy mikrokontrollerlarni dasturlashEdge virtualizatsiyasi . Masalan, sizning kontrolleringizda ikkita mustaqil hodisani o'rnatish mumkin bo'lgan faqat bitta real vaqt soati (RTC) taymer mavjud - va shu bilan birga, jiddiy dasturda taymerni muntazam ravishda ishlatadigan besh yoki oltita funktsiya osongina bo'lishi mumkin ( vazifalarni davriy bajarish uchun) yoki bir martalik (masalan, kechikishni hisoblash uchun) va boshqa taymerlar ularga mos kelmaydi. Bunday vaziyatda sizga bitta mavjud taymer bilan barcha ushbu protseduralarning bir vaqtning o'zida ishlashini tashkil etadigan menejer funktsiyasi kerak bo'ladi.
Ko'p vazifali . Har qanday etarlicha murakkab tizim tezda turli vaqt oralig'ida yoki turli hodisalar uchun ishga tushirilishi kerak bo'lgan juda ko'p turli xil protseduralar bilan to'lib ketadi. Arduino-dan ko'pchilikka tanish bo'lgan, yarim o'nlab turli xil protseduralarni o'z ichiga olgan loop() tsikli xunuk yirtqich hayvonga o'xshay boshlaydi va uning doirasida vazifalarni birinchi o'ringa qo'yishga urinish odamlarning qalbida dahshat uyg'otadi. Ushbu nuqtada siz barcha vazifalarni loop() dan mustaqil funksiyalarga ko'chirmoqchi bo'lasiz, bunda faqat belgilangan vazifalarga kirish uchun dasturchini tsiklda qoldirasiz. Bu multitaskingning birinchi asoslari bo'ladi (biz keyingi ma'ruzada uning to'liq amalga oshirilishi, rejalashtiruvchilar turlari va turli vazifalar o'rtasidagi aloqa haqida gaplashamiz).
Mehnat taqsimoti . Tizimning rivojlanishi uni bir necha kishi amalga oshiradigan darajaga yetishi bilanoq, siz mas'uliyatni ajratish vazifasiga duch kelasiz - rivojlanishni optimallashtirishdan tashqari, u mutlaqo amaliy ma'noga ega: protsessor, tarmoq stek va foydalanuvchi interfeysi bilan teng samaradorlik bilan ishni disk raskadrovka qila oladigan dunyoda kam sonli umumiy dasturchilar. Со значительно большей вероятностью каждый из членов вашей команды будет лучше других разбираться в какой-то одной области — поэтому вам быстро захочется разделить эти области на уровне кода, чтобы, например, специалист по пользовательскому интерфейсу не был вынужден через строчку сталкиваться с обращением к регистрам контроллера , va teskari. Bu sizning kodingizni standartlashtirilgan API orqali bir-biri bilan aloqa qiladigan alohida modullarga ajratadi.
Ushbu vazifalarning barchasi va boshqa ko'plab vazifalar operatsion tizim tomonidan hal qilinadi.
OT mavjud bo'lishi uchun kam boshqaruvchi resurslarini talab qilishiga qaramay (odatda 5-20 KB doimiy xotira va bir xil miqdordagi operativ xotira), OT dan foydalanishning afzalliklari shunchalik kattaki, hozirgi vaqtda o'rnatilgan tizimlar uchun professional rivojlanishda, loyihalarning taxminan 70% u yoki boshqa OS dan foydalanadi.
To'g'ri aytganda, quyi darajadagi OS SPL kabi sotuvchi kutubxonalaridan foydalanishi mumkin. Biroq, kursimizning bir qismi sifatida biz RIOT OS bilan ishlaymiz , uning STM32 oilasi uchun past darajadagi kodi registrlarda yozilgan - biz SPL bilan ishlashga umuman tegmaymiz.
Buning sababi oddiy: umuman olganda biz operatsion tizim va boshqaruvchining ishlashini yuqori darajada o'rganamiz, ammo ularning ishlashi tafsilotlariga chuqurroq kirmoqchi bo'lgan hollarda, biz hali ham pastga tushishimiz kerak bo'ladi. registr darajasiga va SPL ko'rinishidagi qatlam bunga aralashish uchun juda foydali bo'ladi. Kontrollerlar bilan ishlashning umumiy tamoyillarini o'zlashtirganingizdan so'ng, agar xohlasangiz, SPL-ning ishlashini mustaqil ravishda aniqlashingiz mumkin, ayniqsa onlaynda mavjud bo'lgan STM32 darsliklarining aksariyati uning asosida yaratilgan.
|
| |