Pianificare il passaggio a Embedded Linux
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 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.
- blog di cristinap5
- 1068 letture






Invia nuovo commento