Pianificare il passaggio a Embedded Linux

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 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.

6 Comments

  1. stewe 13 febbraio 2011
  2. linus 14 febbraio 2011
  3. giuskina 14 febbraio 2011
  4. mingoweb 14 febbraio 2011
  5. sokettone 15 febbraio 2011
  6. gaetech45 25 febbraio 2011

Leave a Reply