Home
Accesso / Registrazione
 di 

Embedded Linux - Sistema Operativo Linux per Microcontrollori - Linux e uClinux

Embedded Linux - Sistema Operativo Linux per Microcontrollori - Linux e uClinux

Embedded Linux – Sistema Operativo Linux per Microcontrollori – Linux e uClinux

Linux è diventato molto popolare perchè è stato lanciato come un progetto open source, sviluppato da un gruppo di programmatori molto appassionati. Può avviarsi su differenti sistemi, dai PDA ai semplici computer. Attualmente viene descritto come un OS pienamente portabile e versatile.

Linux Embedded si riferisce principalmente al Kernel Linux il quale è la base di ogni sistema operativo. Per applicazioni integrate, è personalizzato per ogni microprocessore. ARM è uno dei processori ampiamente usato con Linux come un sistema applicativo di processore. Un altro enorme vantaggio è il supporto per sistemi multiprocessore ed applicazioni simultaneamente in esecuzione.
Embedded Linux è utilizzato da diverse compagnie su piattaforme hardware per applicazioni specifiche, ad esempio Freescale lo utilizza per piattaforme i.MX.

uCLinux (Linux per MicroControllori) è una variante del sistema Linux senza l’unità di gestione memoria (MMU). È stato inizialmente creato partendo dal Kernel Linux 2.0. Oggi uCLinux è disponibile per le release del Linux Kernel 2.0, 2.4 e 2.6. Quando non è presente il supporto MMU, lo spazio del kernel e dell’utente sono la stessa cosa; inoltre non è necessario nessun sottosistema di memoria virtuale perché tutti i codici vengono eseguiti sul Privilege Level 0.

Un sistema operativo base ha differenti livelli di vantaggio: lo spazio del Kernel viene eseguito in modalità Supervisore ( Supervisor Mode) mentre le applicazioni utente in modalità Utente (User Mode). Solo lo spazio del Kernel ha accessi diretti alle risorse, alla memoria e ai dispositivi I/O.

Linux on Hardware
Fig.1 Linux sull’hardware

Come rendere differenti una versione di Linux per un PC ed una per applicazioni integrate? Innanzitutto dovete sapere che un sistema embedded di solito non ha un monitor né una tastiera o mouse per l’interazione con l’interfaccia utente (UI). Le applicazioni embedded usano connessioni con il mondo reale in analogico e in digitale, sia per l’ingresso che per l’uscita, pulsanti e switch per l’inserimento dei dati, protocolli UART/LAN/USB/ecc. per il trasferimento dei dati.

Input/Output on PC Machine vs Embedded System
Fig.2 Ingressi e uscite su un personal computer e su un sistema Embedded (Esempio)

Il Bootloader
Uno dei componenti più importanti in ogni applicazione embedded è il Bootloader. Le sue funzioni principali sono: inizializzazione dell’hardware sulla scheda, caricamento e avviamento del Kernel dalla memoria ROM. La memoria ROM è usata perché è una memoria non volatile (non richiede alimentazione per mantenere il contenuto).

Fig.3 Bootloader is located on first addresses.
Fig.3 Il Bootloader è posizionato sui primi indirizzi di memoria.
Come scrivere un driver Linux

Ogni driver Linux, chiamato anche modulo, necessita di due funzioni di base: init_module() e cleanup_module().
Esempio di un semplice Hello eLinux:

[code][/code]

Per l’integrazione nel Kernel Liunux abbiamo bisogno di un’altra operazione:

- insmod (inserisci driver)
Per rimuovere il driver, bisogna eseguire il seguente comando:
-rmmod (rimuovi driver)
Per verificare se un driver è stato correttamente integrato:
-lsmod (elenca tutti i driver correnti)

Valutazione della scheda
Un’ottima scheda di sviluppo con processore ARM è stata distribuita da Cirrus Company. La EP9312 è un sistema su chip (system-on-chip) basato sul ARM920-T con velocità di 200MHz. E’ munito di alcune periferie per l’interfacciarsi con il mondo esterno: Ethernet, USB Host, display, ADC.

EP9312: ARM9, System-on-Chip Processor with Integrated IDE

Leggi anche la variante inglese: Embedded Linux - Linux Operating System for Microcontrollers

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di Glad

tanto fumo e poco arrosto...

tanto fumo e poco arrosto... vogliamo cose concrete, sennò sono capace anche io di fare un sito così!!!

ritratto di Emanuele

Spiegati meglio..... è un

Spiegati meglio..... è un articolo con info di base, non un approfondimento. Hai letto la nostra versione originale (inglese)?

ritratto di Glad

si ho letto anche la versione

si ho letto anche la versione inglese ma è un articolo troppo generico; su internet si trovano facilmente queste informazioni, e anche di più... dovreste fare qualcosa di più specifico, con codice ed esempi pratici

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online