Strumenti di sviluppo per Linux Embedded
Ottenere una toolchain per la crosscompilazione in Linux
Generare una toolchain per il crosscompiling da zero e' un compito difficile! Puo' portar via giorni o settimane! Perché?
-
Molti dettagli da imparare. Diversi componenti da ricompilare (gcc deve essere ricompilato due volte: una volta per gcc + una volta per i compilatori che usano la libreria C).
Molte decisioni da prendere (per esempio quale versione e quale configurazione di glibc e' adatta alla piattaforma usata)
Occorrono gli header del kernel e i sorgenti di glibc
Occorre avere familiarità con gli ultimi problemi di gcc e le patch per la piattaforma usata
E' utile avere familiarità con strumenti di configurazione e build
Linux Embedded: ottenere una toolchain precompilata
Se ne possono ottenere diverse e' sufficiente sapere dove! Attenzione!
-
Le toolchain non sono rilocabili. Devono essere installate in
/usr/local/
generate.
Assicurarsi che la toolchain selezionata soddisfi le proprie necessita': “endianismo”, libreria C, versione del compilatore e delle librerie.
Linux embedded: toolchain ARM
-
Pacchetti Debian (emdebian)
http://www.emdebian.org/tools/crossdev.html
Handhelds.org
ftp://ftp.handhelds.org/projects/toolchain/
Code sourcery
http://www.codesourcery.com/gnu_toolchains/arm.html
(Per sistemi ARM standalone)
Utilità di un emulatore
-
Esecuzione di un sistema operativo a partire da un altro.
Test di kernel e applicazioni su una workstation evita di dover usare una costosa scheda (hardware) di sviluppo (guadagno monetario). Inoltre puo' essere usato in attesa che la scheda sia pronta (guadagno in tempo).
Il debug del sistema operativo e' più semplice: in caso di crash e' sufficiente resettare l'emulatore.
Funzioni avanzate di debug.
Spesso l'emulatore si limita al processore e a qualche dispositivo (nei casi migliori). L'emulatore non può sostituire completamente il “vero” hardware o una scheda di sviluppo linux embedded.
Scarica tutto il libro: Strumenti di Sviluppo per Linux Embedded
Repost: 11 Feb 2009