This is an old revision of the document!
In acest laborator vom studia implementarea unui mediu multi-tasking pentru platforma Sparrow. Pentru simplitate, functionalitatea multi-tasking este implementata peste IDE-ul Arduino sub forma unei biblioteci ce permite planificarea diferitelor task-uri, salvarea si refacerea contextului si rularea efectiva a diferitelor procese intr-o maniera concurenta.
Biblioteca folosita este o versiune modificata a avr-os ce pune la dispozitie un mediu de execuie de baza pentru rularea de procese in regim de multitasking.
Biblioteca foloseste un planificator preemptiv pentru a face schimbarea de context si fiecare task are propria stiva ce este salvata si refacuta la reluarea executiei. Un timer AVR este initializat si folosit pentru a furniza tick-urile de ceas pe baza carora se face temporizarea executiei si schimbarea de context.
Biblioteca o puteti descarca de aici. Copiati continutul arhivei in directorul Libraries al Arduino si restartati IDE-ul.