• Non ci sono risultati.

Generazione di sistemi operativi con comunicazioni a messaggi per microcontrollori Pic della famiglia 18F

N/A
N/A
Protected

Academic year: 2021

Condividi "Generazione di sistemi operativi con comunicazioni a messaggi per microcontrollori Pic della famiglia 18F"

Copied!
2
0
0

Testo completo

(1)

Introduzione

In maniera crescente, i microcontrollori vengono utilizzati negli ambienti industriali e di intrattenimento e per pilotare e monitorare sistemi robotici e non solo. Dal momento che le applicazioni assumono caratteristiche sempre pi`u sofisticate, la loro concezione ed implementazione divengono complesse e risulta dunque imprescindibile l’utilizzazione di un sistema operativo per gestire tale complessit`a e per fornire al programmatore un certo livello d’astrazione atto ad incrementare la portabilit`a del codice.

Recentemente `e stato implementato presso il Dipartimento di Informatica dell’Universit`a di Pisa un sistema operativo per una scheda di controllo, chiamata WildFire, basata sul microcontrollore ColdFire della Motorola. Il sistema `e stato poi integrato all’interno di una infrastruttura, chiamata Robotics4.NET, realizzata con lo scopo di sviluppare programmi di controllo per sistemi robotici aventi un’architettura bio-like, cio`e ispirata al sistema nervoso umano. L’uso di una scheda WildFire, piuttosto che un calcolatore vero e proprio, ha portato ad una notevole abbassamento dei costi legati all’hardware, ad una diminuzione delle dimensioni del sistema e ad un aumento della sua affidabilit`a.

L’obiettivo di questa tesi `e di migliorare ancora di pi`u i risultati precedenti, effettuando il porting del sistema operativo su un’architettura hardware pi`u piccola. Come architettura `e stata scelta la famiglia di microcontrollori PICmicro 18FXX2 della Microchip. Le ragioni che ci hanno spinto a scegliere questa architettura, includono, come si vedr`a, le discrete performance, le esigue dimensioni e il ridottissimo costo.

Nel porting del sistema operativo sono state affrontate le principali problematiche che caratterizzano lo sviluppo di questi sistemi, la cui importanza `e sottolineata dalla loro continua diffusione. La realizzazione di un intero sistema operativo per microcontrollori `e un problema piuttosto complesso che interessa diversi settori ingegneristici: l’elettronica, per quanto concerne la parte hardware del sistema, e l’informatica, per la parte software.

(2)

In questa tesi ci occupiamo dello sviluppo della parte software del sistema, cio`e della realizzazione di un sistema operativo sul quale, successivamente, sar`a possibile eseguire le applicazioni che si vogliono realizzare.

Il sistema operativo `e stato chiamato µTNetOS, sigla di Sistema Operativo per Microcontrollori con supporto di rete (Net) e Timer per accodamento task. Come linguaggio di programmazione `e stato scelto il C, ed `e stato usato il compilatore C18 fornito dalla Microchip. La scelta di questo linguaggio, invece del linguaggio assembler, ha permesso di concentrarsi maggiormente sulla parte software, delegando al compilatore la gestione di pi`u basso livello dell’architettura. Inoltre, l’uso del C rende portabile, con pochissime modifiche, il µTNetOS su tutti i microcontrollori della famiglia 18F della Microchip, cosa che sarebbe stata impossibile programmando direttamente in linguaggio assembler.

Completato il porting, il secondo obiettivo `e di integrare il sistema nell’infrastruttura Robotics4.NET. A questo proposito `e stato implementato un generatore di codice che, date le specifiche ad alto livello dei messaggi che circolano nell’infrastruttura, genera il relativo codice C da integrare nel nucleo del sistema operativo.

Il capitolo 1 fornisce alcune nozioni di meta-programmazione per poi passare a descrivere le caratteristiche principali dei generatori di codice.

Il capitolo 2 presenta la famiglia di microcontrollori Microchip 18F, con una descrizione del particolare sottofamiglia 18FXX2 presa in considerazione per lo sviluppo del µTNetOS. Il capitolo 3 descrive lo stato dell’arte dei sistemi operativi per PIC : vengono analizzati alcuni dei principali sistemi operativi e viene fatto un raffronto con il µTNetOS.

Nel capitolo 4 analiziamo il framework Robotics4.NET, che rappresenta l’infrastruttura sottostante su cui integrare il µTNetOS.

Il capitolo 5 illustra le caratteristiche del nucleo del sistema operativo, mentre il capitolo 6 descrive il generatore della sua parte dinamica.

Il capitolo 7 presenta come caso di studio il controllo di un motore passo-passo. Infine, il capitolo 8 riporta le conclusioni ed eventuali sviluppi futuri.

Riferimenti

Documenti correlati

Come già detto, una delle criticità nei riguardi dell’azione sismica per l’edificio in esame è l’assenza di cordoli in corrispondenza dei solai; questo porta

36 In 1834 Francisco Muñoz was named editor of a newspaper, El Redactor de Santiago de Cuba, paid for by the Society of that city, and in it he inserted articles from newspapers

si è riscontrata una certa somiglianza in tali ambiti: lo stile immediato, diretto e accattivate del prototesto, ricco di aggettivi ed esclamazioni, e l’uso della seconda

Table 6 summarizes some utterances in the BS which integrate body politics and various territorial representations, i.e., the inside and outside (of Europe,.. “We have

– Sia come programma in spazio utente (GNU/Linux) – Che come parte del S/O (Windows)... Interfaccia di programmazione

• Lo swapper thread (daemon) del Memory manager porta in [A] o [B] le pagine dello stack dei processi i cui thread siano stati tutti recentemente inattivi. • Altri 2

Un file composto da n sequenze di blocchi dati con descrizione specificata su 1 record base e 2 record di estensione in MFT.

• Istruzioni che fanno riferimento alla memoria (formato F2) : prevedono sempre due registri, uno per il dato e l’altro per l’indirizzamento. Il campo OFFSET, di 16 bit, indica