
I problemi più comuni su Embedded Linux sono simili ai problemi legati alla distribuzione standard di Linux. Spaziano dai problemi legati all’amministrazione/gestione (quali pacchetti installare, impostare le giuste opzioni, ecc) a problemi sul run-time (spazio limitato del disco o dello swap a causa di un’allocazione impropria, memoria non sufficiente – un aspetto quest’ultimo che costituisce ancora un problema per il sistema Embedded Linux).
La chiave per evitare questi problemi è una corretta pianificazione: sapere cosa aspettarsi dal sistema Linux e quindi creare un sistema adeguato (il mantenimento del sistema è semplicemente un’estensione di questa fase di programmazione - cambiare il sistema quando evolvono i vostri bisogni).
Potete passare a Embedded Linux per vari motivi
: usavate altri RTOS e vi siete resi conto che Embedded Linux ha un supporto migliore per la vostra piattaforma (ad esempio: ARM ha un’eccellente supporto per Embedded Linux); potete essere un comune utente Linux che ha intenzione di spostarsi in un dominio Embedded per la prima volta (per motivi economici o di altro tipo - forse state craccando il vostro router wireless Linksys), ecc.
La fase di progettazione per il passaggio a ebedded linux può essere semplificata rispondendo alle seguenti domande:
1. Quale hardware state usando? Ha il supporto Linux? Sono disponibili i driver di periferica e le librerie?
L'hardware che acquistate potrebbe già disporre di una distribuzione pre-installata di Embedded Linux (che di solito è una buon scelta) o potete rivendere i dispositivi che hanno installato Embedded Linux (comuni soprattutto per i router wireless). In entrambi i casi on-line troverete molte informazioni (supporto nei documenti, How-To, problemi che altri hanno affrontato prima di voi). Sono disponibili schede di sviluppo? Che capacità di espansione hanno?
2.Che kernel/distribuzione usare?
È necessario prendere in considerazione più cose, oltre al tipo di hardware che avete e la vostra applicazione target:
-
•a. Utilizzare o no una distribuzione di Linux commerciale (perché hanno possibilità di supporto e formazione)? Se non state usando una distribuzione di Linux commerciale allora come ottenere il sostegno e la formazione? Sono disponibili on-line le informazioni? La comunità di utenti è attiva on-line?
• b. Quali software/pacchetti sono disponibili per una determinata versione di Linux? Quanto frequenti sono gli aggiornamenti e i nuovi pacchetti disponibili per la distribuzione selezionata?
3. Quali compilatori e debugger usare?
Si tratta di decidere quale ambiente di sviluppo utilizzare. Come il vostro processo di sviluppo del software cambierà nel passaggio a Embedded Linux?
4. E’ fondamentale comprendere alcune implicazioni nell’utilizzo della GPL: usare la GPL potrebbe richiedere il rilascio del codice proprietario a tutti.
5. Infine, è necessario comprendere alcuni aspetti del sistema stesso: quali sono i limiti in tempo reale? Che tipo di collegamento in rete ha (wireless, Ethernet, etc)? Che tipo di porte di comunicazione ha? L’espansione è possibile?
6. Che pacchetti/strumenti sono necessari per l’installazione?
Questi dipendono dall’applicazione, dall'hardware (1), dall'ambiente di sviluppo (3), dai limiti (5), tra le altre cose.
Ovviamente, ci sono diverse inter-relazioni tra gli elementi di cui sopra, per cui l'ordine è semplicemente una linea guida e la fase di programmazione attuale sarà una combinazione dei passi sopra citati (e non necessariamente tutti questi), con parecchi avanti-e-indietro. Ci saranno, naturalmente, limitazioni economiche nel guidare l'intero processo. In realtà, tali vincoli economici potrebbero essere uno dei motivi per cui in primo luogo si effettua il passaggio a Linux.
Una buona fase di progettazione garantisce la risoluzione di un certo numero di problemi in futuro.

Articolo interessante… purtroppo non conosco l’argomento: potreste farmi alcuni esempi di applicazioni pratiche? Grazie!
pratici sono ritrovabili, non tanto nei personal computer che oggi hanno parecchie risorse, ma soprattutto nei router (come si evince dall’articolo) e in alcuni NAS, puoi cercare in rete NSLU2 e ciò che è stato realizzato. Ultimamente ho visto che sono riusciti ad interfacciarlo anche con l’Arduino.
Per i router puoi vedere le distribuzioni dd-wrt e open-wrt per citarti le più famose.
ma un dispositivo del genere può essere la pesa o la cassa del supermercato? Hanno infatti entrambe una connessione di rete per comuncare con l’ufficio ! Grazie per risolvermi la curiosità che mi porto dietro già da un pò.
Ne ho sentito parlare del NSLU2… So che si può utilizzare per moltissime applicazioni di rete, ovviamente tutte basate su linux.
andiamo a vedere cosa ci serve. Lan: teniamola, serve sempre e magari perchè no, una usb. tutto il resto possiamo secondo me farne a meno. da un’usb tecnicamente potremmo metterci diverse periferiche di input in cascata. la rete quella ci serve per comunicare con server e anche volendo con un videoterminale vecchia specie. che ne dite? può essere un’idea? io l’ho buttata li, poi magari mi viene in mente qualcosa di meglio. non so, suggerite.
gaetech45
Mi fa piacere che esiste anche un embedded basato su Linux credevo che non esistesse!!!!