View Full Version : uCLinux chi mi aiuta?
Ragazzi, avrei bisogno di un aiuto.
Mi sto per accingere a programmare sotto il sistema operativo uCLinux (www.uclinux.org) sistema operativo linux embedded.
Dovrei realizzare qualche applicazione per microcontrollore Motorola.
Chi di voi ha esperienza in materia e mi sa indicare qualche link?
sarei interessato anche alla gestione della memoria
ilsensine
25-05-2004, 13:14
Programmazione in user space o in kernel space?
Per ora sarei interessato alla programmazione in Kernel space, perche' dovrei realizzare i driver per alcuni componenti presenti sulla scheda.
Successivamente mi interessera' la programmazione in user space per l'implentare le applicazioni che gestiranno i driver.
La prossima settimana avra' i dettagli del progeto e sapro' essere piu' preciso, ma non vorrei arrivare davanti al cliente senza conoscere le base del uclinux.
Ecco perche' cercavo un tutorial o un semplice esempio di driver
ilsensine
25-05-2004, 13:36
Ahh finalmente qualcosa di interessante :D
Per la prog in kernel space ti posso consigliare alcune letture; non credo che il principio cambi se usi un sistema con o senza mmu (è il kernel che si occupa di questi dettagli). Io programmo su mx1 ("linux" normale, con mmu), le differenze dovrebbero essere poche dal punto di vista dei driver.
Su che kernel è basato il ucLinux che userai?
La prog in user space è praticamente identica alla prog su linux/unix normale, tranne alcune differenze minori (ad es. esiste solo vfork e non fork). Tieni conto che probabilmente non potrai far affidamento sulla protezione della memoria: scrivi dove non devi, e boom.
Faccio cosette interessanti vero? :D
Ik kernel e' nativo sul 2.0, ma l'ho gia' patchato per il 2.4
Il ucLinux non supporta la mmu, ma non penso di avere probemi, basta un poco di accortezza nel programmare e proteggersi da soli il proprio sw.
Altra cosuccia.
Farei girare alcun demoni, come l'FTP e il telnet.
Ora, supponiamo che scriva un'applicazione (eseguibile) in user space, come faccio a lanciarla?
Considera che non ho a disposizione un disco ma un flash di 4 mega.
La devo lanciare come demone (esecuzione automatica) opure devo connettermi in telnet e lanciarla a mano?
Mi sorge un'altra domanda, la sequenza di boot e' gia' "precotta" o devo personalizzare pure quella dipendentemente dall'HW a disposizione?
ilsensine
25-05-2004, 14:22
Originariamente inviato da pierpo
Ik kernel e' nativo sul 2.0, ma l'ho gia' patchato per il 2.4
Il ucLinux non supporta la mmu, ma non penso di avere probemi, basta un poco di accortezza nel programmare e proteggersi da soli il proprio sw.
Bene, il 2.4 è un pò più semplice da usare.
Procurati il libro "Linux Device Drivers" seconda edizione di Bovet e Cesati, copre i kernel 2.2 e 2.4. Ti serve per acquisire dei concetti di base; puoi "addestrarti" con un linux montato sul tuo computer -- le API sono le stesse.
Altra cosuccia.
Farei girare alcun demoni, come l'FTP e il telnet.
Ora, supponiamo che scriva un'applicazione (eseguibile) in user space, come faccio a lanciarla?
Dovresti procurarti un ambiente userspace già pronto, che ti modifichi secondo le tue esigenze.
I demoni che ti servono possono essere lanciati dagli script di avvio.
Considera che non ho a disposizione un disco ma un flash di 4 mega.
Linux la vede come un disco. L'ambiente userspace normalmente si mette in file system compressi (cramfs, romfs, oppure jffs2 se ti serve in lettura/scrittura).
Mi sorge un'altra domanda, la sequenza di boot e' gia' "precotta" o devo personalizzare pure quella dipendentemente dall'HW a disposizione?
Buona parte del boot del kernel è indipendente dalla architettura. Forse devi personalizzare qualcosa, ma per questo ti rimando alle mailing list di ucLinux.
Ti vedo esperto, tornero' a romperti le petals :D
Linux driver l'ho gia :cool:
ilsensine
25-05-2004, 14:50
Fa parte del mio lavoro, ed è una delle cose più divertenti :cool:
Che piacere leggere ste cose! ;)
manneshow
04-11-2008, 11:14
anche io ho qualche domanda da farvi su uclinux.
esistono i driver per il triple speed ethErnet?
dove posso trovarli??
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.