Embedded Linux Introduzione



Похожие документы
Sistemi embedded un dispositivo incapsulato progettato per una determinata applicazione

Linux Embedded un pinguino piccolo così

Software Open Source per sistemi embedded

Il computer: primi elementi

Architettura di un sistema operativo

Presentazione curata da Ing. Mario Di Dio Busa

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Architetture software. Virtualizzazione

Linux a Scuola. Rete LTSP (Linux Terminal Server Project) Relatore: Ross

Seminari Acmesystems. NerInformatica. Relatore : Luciano Neri. Ingegnere libero professionista Ordine degli Ingegneri di Vicenza

Presentazione di virtual desktop client + LTSP server

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Approccio stratificato

Virtualizzazione di macchine Linux tramite XEN

Sistemi Operativi. Conclusioni e nuove frontiere

Acme Systems srl Profilo Aziendale

Epoptes. Architetture di rete centralizzate Open Source. Claudio Cardinali e Giuseppe Maugeri, Architetture di rete centralizzate Open Source

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Linux a Scuola e non solo...

Setup e installazione

Sistemi operativi e reti A.A Lezione 2

Linux in ambito smartphone e introduzione

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistema Operativo di un Router (IOS Software)

Applicazione di algoritmi di routing dinamico su reti wireless in ambiente portuale

Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti smonti@deis.unibo.it

Lezione E5. Sistemi embedded e real-time

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

MODEM USB MDC525UP Guida Rapida LINUX

Introduzione ai Sistemi Operativi

Installazione LINUX 10.0

Come valutare e scegliere un Sistema Operativo Embedded

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1

Caratteristiche HW. Clock Speed 16 MHz

Raspberry Pi: Hardware Programming. Rossi Pietro Alberto

Ubuntu e la sua Installazione

Dipartimento per le Libertà Civili e l Immigrazione

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

Puppy Linux : semplice e fantastico... Paolo Faeti Linux Day PLUG PARMA 26 Ottobre 2013

INTRODUZIONE AI SISTEMI EMBEDDED

Sistema di Gestione dei Contenuti Multimediali

Intel One Boot Flash Update Utility Guida dell utente

Applicazioni di Ubuntu

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Versione 2.0. Manuale d uso. Software per la gestione. degli applicativi Bticino. TiManager 03/07-01 PC

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Due laboratori scolastici rimessi a nuovo

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

HARDWARE. Relazione di Informatica

Guida di Pro PC Secure

Startup Guide. Manuale di installazione ed uso. FluctuS Intelligent Sensor System

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Architetture Applicative

Valutazioni e implicazioni nella scelta, nello sviluppo e nel mantenimento di un sistema operativo embedded

Ciabatta Audio Digitale AVIOM Pro64

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Linux nel calcolo distribuito

Arduino UNO. Single board microcontroller

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Nokia C110/C111 scheda LAN senza filo Manuale di installazione

LLinux nelle Console da gioco

Manuale per modulo di espansione

Il sistema operativo TinyOS

Porting su architettura ARM Marvell 88F6281 ed analisi comparativa delle patch real-time RTAI e Xenomai per il kernel Linux

Guida Rapida. NOTA: Accendere sempre prima il modem e poi il Personal Computer.

L i n u B e s t a Mario Di Raimondo

Famiglia PB2200. Nuova famiglia di fanless Box PCs con piattaforma Intel Bay Trail

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Puppy Linux (Precise) Live da CD o da USB (Si può usare su PC con 256 MB di RAM)

IRSplit. Istruzioni d uso 07/10-01 PC

Acronis Universal Restore

I.S.I.S. J.M.Keynes. Castel Maggiore (BO) Progetto TSERVER. Il software libero per il riutilizzo di hardware obsoleto. S cuol a Bologna

Procedura di aggiornamento del firmware Display Remoto IntellyGreenPV

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.

Progetto Virtualizzazione

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Il Sistema Operativo (1)

Tecnico Hardware & Sistemistica

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

OfficeServ Giugno 2007

3. Il client HMI, che consente la visualizzazione delle informazioni e riceve dall'utente l'input da inviare al controllore. SLC

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Транскрипт:

Embedded Linux Introduzione Progetto STRAGO su WSN, Fase 1 pascione@napoli.consorzio-cini.it cotroneo@unina.it Napoli, 16 Gennaio 2006 macinque@unina.it

Perché Embedded Linux? Perchè Linux? Codice sorgente disponibile; Robusto e affidabile; Modulare, configurabile e scalabile; Supporto avanzato per il networking; Non c è bisogno di licenze; Vasto numero di sviluppatori esperti; Vasto numero di soluzioni preconfezionate. Perchè Embedded? Tutti i vantaggi di Linux, più: Piccolo footprint, Larga diffusione.

Market share di Embedded Linux 2005 e previsione per il 2007 Fonte: http://www.linuxdevices.com

CPU e applicazioni Target CPUs basate su: ARM, x86, PowerPC e MIPS Quali applicazioni? Monitoraggio e controllo; Controllori e microcontrollori industriali; Palmari, e dispositivi cellulari; On-board computer per automobili; Hardware per telecomunicazioni e networking; Set top Box per televisioni; e chi più ne ha più ne metta.

Distribuzioni Open Source (1) Embedded Debian Project -- this project aims to make Debian GNU/Linux a mainstream choice for embedded projects. Embedded Gentoo -- A project to create embedded versions of Gentoo Linux has achieved preliminary releases on x86, MIPS, PPC, and ARM. The releases include native core system binaries, cross-platform toolchains, and, for x86, an optional hardened toolchain. Qplus -- Qplus consists of a reconfigurable embedded Linux kernel, system libraries, a graphic window system, a target builder, a library optimization tool, and BSPs for x86 and ARM targets. uclinux -- a derivative of Linux specifically for microprocessors which do not provide Memory Management Units (MMUs). Supports a growing list of processors including: Motorola DragonBall (M68EZ328), M68328, M68EN322, ColdFire, QUICC; ARM7TDMI; MC68EN302; Axis ETRAX; Intel i960; PRISMA; Atari 68k; and more all the time!

Distribuzioni Open Source (2) µlinux (a.k.a. mulinux) -- a "full-configured, minimalistic, almost complete, application-centric tiny distribution" of Linux, made in Italy. µlinux fits on a single floppy. ETLinux -- a complete Linux distribution designed to run on small industrial computers. e molte altre, anche commerciali.

Vantaggi e svantaggi Vantaggi: Supporto per numerose piattaforme; Interfaccia utente standard; File system leggero ed efficiente; Fornisce il boot loader; Fornisce parecchi driver per diverse periferiche; Numerose librerie; Supporto completo per la rete; Bassi costi. Svantaggi: Occupa più spazio rispetto i suoi concorrenti; Lo scheduling non è completamente real-time; Non è completamente preemptive;

C o C++ per lo sviluppo? In generale C è una scelta migliore. La programmazione ad oggetti avanzata causa in genere una crescita delle dimensioni del codice; I compilatori C++ possono generare diverse procedure per una singola funzione; Metodi virtuali e polimorfismo rallentano i tempi di lancio ed esecuzione. Le dimensioni del codice sono davvero importanti!

Set up per lo sviluppo Seriale (RS232) PC di sviluppo HD del PC NFS Target Box Rete (Ethernet) SO Linux Minicom Shell telnet Toolchain di cross compilazione

Fasi di sviluppo di una semplice applicazione 1. Ottenimento di una shell verso la target box (via minicom o telnet); 2. (opzionale) Creazione di una partizione sul PC di sviluppo e mapping della partizione sulla target box, via NFS. La partizione può essere creata via terminale remoto dalla target box verso il PC di sviluppo. 3. Implementazione dell applicazione in C; 4. Cross-compilazione dell applicazione dal PC di sviluppo con il tool chain appropriato per il SO installato sulla target box; 5. L eseguibile viene posizionato nella partizione precostituita sul PC di sviluppo o va direttamente inviato alla target box; 6. L eseguibile viene eseguito dalla target box via terminale remoto. Più complessa (e pericolosa ) è la creazione di una nuova immagine del kernel.

Creazione di una nuova immagine Una nuova immagine del kernel può essere installata per vari motivi: Aggiungere i driver per nuove periferiche; Aggiornare i driver di periferiche esistenti; Cambiare kernel; Agigungere librerie di software. 1. make menuconfig: per selezionare le librerie da aggiungere/eliminare, un altro kernel, un diverso file system ; 2. make: compila i sorgenti del kernel secondo le direttive di cui al punto 1, e crea un immagine (fimage) da flashare sul dispositivo; 3. Il flash può avvenire secondo diverse modalità (al boot via rete, o via ftp, via seriale ) vendor specific; 4. Una volta riavviata, la board dovrebbe funzionare con la nuova configurazione.

Il nostro caso: AXIS 83+ Sistema Operativo Embedded Linux AXIS; Processore AXIS ETRAX 100LX; 32 MB RAM, 8 MB Flash (di cui 4.5 per programmi) 2 porte seriali RS232; 1 porta seriale programmabile; 1 porta USB; 2 connettori RJ45 per Ethernet. Prezzo: 299 USD. Possibile obiettivo: usare una piattaforma come questa alternativamente alla Stargate. Problema: è possibile collegare tale piattaforma alle antenne per i Motes? E possibile installare i driver per tali antenne?

Caso futuro: Xbow Stargate MobiLab Sistema Operativo Embedded Linux open source sviluppato come progetto sourceforge. Processore Intel PXA255, XScale, 400 MHz 64 MB RAM, 32 MB flash (di cui 22 per programmi) PCMCIA slot tipo II Compact Flash Slot tipo II MICA2 slot a 51 pin (UART, SSP via MICA2 slot) Sulla doughter card: 1 Porta seriale RS232; 1 connettore RJ45 per Ethernet; 1 porta USB; Prezzo: 700 euro. Il kit stargate comprende i sorgenti del SO e i manuali, su CD.

Riferimenti Info generali su embedded linux: http://www.linuxdevices.com/ Fasi di sviluppo: http://www.linuxjournal.com/article/7911 http://www.linuxjournal.com/article/8001 Sorgenti Linux Stargate: http://platformx.sourceforge.net/home.html Xbow: http://www.xbow.com/ Axis: http://developer.axis.com/