18.08.2013 Views

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A.2 Il real-time clock<br />

Il real-time clock di HARTIK è la scala temporale sulla quale vengono<br />

basati tutte le valutazioni di natura temporale del sistema, come il controllo sul<br />

tempo massimo di esecuzione e quello sullo sfondamento delle deadline. L’unità<br />

minima della scala è chiamata tick, e può essere impostata pari a 1 millisecondo o<br />

a 1 microsecondo al momento dell’avvio di HARTIK. I parametri relativi ai<br />

processi vengono specificati come multipli del tick.<br />

Durante l’esecuzione dei programmi può essere necessario accedere al<br />

valore del real-time clock; ciò è possibile facendo uso della primitiva sys_clock(),<br />

che restituisce il numero di tick trascorsi dall’avvio del sistema.<br />

A.3 Avvio del sistema<br />

L’avvio di HARTIK avviene richiamando una apposita primitiva di<br />

inizializzazione, specificando i parametri necessari a configurare l’ambiente<br />

secondo le necessità. Anche le diverse periferiche del sistema (mouse, tastiera,<br />

video in modalità grafica, etc.) devono essere inizializzate per poter essere usate<br />

correttamente. Di seguito vengono elencate le primitive da richiamare per attivare<br />

HARTIK e i vari sottosistemi.<br />

• sys_init() avvia il sistema operativo real-time HARTIK;<br />

• sys_end() esegue lo shut-down di HARTIK; dopo questa istruzione il<br />

programma può continuare, in quanto l'istruzione non ne causa la<br />

terminazione;<br />

• keyb_init() inizializza il task che si occupa di gestire la tastiera; utilizzare le<br />

primitive di lettura da tastiera senza aver prima richiamati questa primitiva<br />

causa il blocco della macchina;<br />

• grx_init() inizializza il motore grafico di HARTIK;<br />

• grx_close() ritorna al modo testo.<br />

168

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!