Differences

This shows you the differences between two versions of the page.

Link to this comparison view

patr:laboratoare:06 [2021/12/06 11:44]
alexandru.ionita99 [Pasul 2. Rularea unui exemplu cu taskuri]
patr:laboratoare:06 [2022/01/09 14:27] (current)
alexandru.ionita99 [Laboratorul 06: Introducere Arduino]
Line 1: Line 1:
-====== Laboratorul 06Introducere Arduino ======+====== Laboratorul 06 Introducere Arduino ======
  
 ===== 1. Introducere ===== ===== 1. Introducere =====
Line 63: Line 63:
 ===== 3. Instalarea FreeRTOS ===== ===== 3. Instalarea FreeRTOS =====
  
-==== Ce este FreeRTOS? ==== +În cadrul laboratorului următorvom detalia biblioteca FreeRTOS ​și funcționalitățile acesteia. Pentru ​moment, trebuie să o instalăm.
-În general, un sistem de operare controlează procesele și resursele hardware ale unui calculatordefinind regulile care permit unui program să acceseze servicii ​și să interacționeze cu sistemul de calcul\\ +
-Pentru ​a fi considerat //de timp real//un sistem de operare ​trebuie să îndeplinească mai multe caracteristici,​ precum: +
-  * Respectarea limitelor de timp (hard și soft); +
-  * Utilizarea de algoritmi de planificare specializați și de priorități de execuție;​ +
-  * Asigurarea unui răspuns determinist la rularea succesivă a unei secțiuni de cod; +
-  * Utilizarea de mecanisme de comunicație între procese, multitasking,​ limitarea accesului mutual la resurse. +
- +
-FreeRTOS reprezintă un kernel (doar baza unui sistem de operare, deoarece sistemele încorporate nu necesită toate caracteristicile unui OS generalizat),​ cu ajutorul căruia aplicațiile de timp real pot respecta limite de timp impuse. De asemenea, poate fi utilizat conceptul de multitasking,​ unde schimbarea contextului de execuție pe un procesor cu un singur nucleu conduce la execuția cvasi-paralelă a mai multor secțiuni de cod din aplicație. Firul de execuție care are acces la resursele hardware este ales de către algoritmul de planificare,​ prin +
-asignarea de priorități și urmărirea perioadelor de timp în care un fir de execuție este suspendat. \\ +
- +
-FreeRTOS este open-source,​ ceea ce înseamnă că nu este necesară achiziționarea acestuia (după cum sugerează și numele) pentru utilizare în aplicații comerciale. Totuși, există posibilitate achiziționării de garanții suplimentare din partea dezvoltatorului Real Time Engineers Ltd., +
-dacă situația din proiect ​cere. Ca medii de dezvoltare compatibile,​ pot fi amintite familiile de microcontrolere ARM Cortex, Atmel SAM, Cypress PSoC, Microchip PIC etc. \\ +
- +
-Compatibilitatea cu unii dintre membrii familiei Arduino (Uno, Nano, Leonardo, Mega) vine tocmai din utilizarea microprocesoarelor amintite ulterior. În plus, kernel-ul a fost portat sub formă de bibliotecă,​ instalarea realizându-se din //Library Manager//. Trebuie specificat că toate funcțiile FreeRTOS pot fi utilizate pe Arduino, iar dintre acestea se pot aminti: +
-  * Preempțiune pentru taskurile cu prioritate mai mare; +
-  * Asignarea și modificarea priorității taskurilor;​ +
-  * Mecanisme de notificare;​ +
-  * Cozi; +
-  * Semafoare și mutexuri; +
-  * Timere software. +
- +
- +
-Toate caracteristicile menționate anterior sunt utilizate cu ajutorul API-urilor specializate. Un Application Programming Interface (API) reprezintă un grup de funcții ce pot fi apelate, fiecare având un rezultat diferit. De exemplu, crearea semafoarelor și mutexurilor,​ ștergerea și +
-modificarea acestora se realizează cu ajutorul Semaphore API. Toate aceste funcții sunt definite și prezentate detaliat în documentația FreeRTOS, disponibilă pe site-ul https://​www.freertos.org/​. +
- +
 ==== Pasul 1. Library Manager ==== ==== Pasul 1. Library Manager ====
  
patr/laboratoare/06.1638783889.txt.gz · Last modified: 2021/12/06 11:44 by alexandru.ionita99
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0