Newsgroup: it.hobby.elettronica.digitale
Titolo: Linux/ucLinux su Cortex-M3 (Stellaris)?

Essendo i Cortex-M3 senza MMU, penso che il kernel di Linux non possa
girare. Ma allora non ho capito questa pagina:
http://www.linux-arm.org/LinuxKernel/LinuxM3
Avete qualche esperienza/notizia su ucLinux per Cortex-M3?
Non riesco a trovare nulla in merito, eppure ucLinux già gira su
ARM7TDMI.

 ARM7TDMI.
ucLinux non necessita di MMU e per questa ragione puo'
girare su qualsiasi CPU decente, incluso i vecchi 68xxx
gli ARM7 e i CORTEX :-)
Per il porting, basta partire da quello per ARM7 e modificare
lo start-up.
a.

 lo start-up.
"basta" � una parola un po' grossa ;-)
Se non c'� nulla di gi� fatto � un lavoro che pu� prendere anche diversi 
mesi.
Mi sembra per� che dal link indicato qualcosa esista gi�.
La mia esperienza con uClinux non � stata molto positiva: debug 
difficile, carenza cronica di risorse, sistema non realtime, etc...
Non so cosa pozz debba fare, ma per mettere uClinux e usarlo in modo 
produttivo sono comunque necessari diversi megabytes di RAM/flash.
Poteva avere senso qualche anno fa, ma con quello che costano i 
processori oggi non so alla fine quanto si risparmi rispetto a metterne 
uno su cui gira Linux non "uC".

 uno su cui gira Linux non "uC".
Cosa ci voglia fare, non lo so :-)
Di solito cerco di rispondere nel merito, se ci riesco :-)
Quanto al senso, ci sono molti motivi per farlo, non ultima
la necessita' di risparmiare anche sulle resistenze, figurarsi
su processore e memoria...
Io opterei per un freeRTOS o simile, pero' non sono l'OP.
a.

 su processore e memoria...
Diciamo che sto cercando di fare un passo in avanti con i 
microcontrollori e le strade che ci sono davanti sono tantissime 
(sistemi operativi real-time come FreeRToS e mille altri, sistemi 
operativi full come Linux, sistemi operativi quasi full come ucLinux, ecc).
E' chiaro che Linux full non ha senso se si ha a disposizione solo un 
microcontrollore senza MMU (come i Cortex-M3), e questi hanno parecchio 
senso in termini di costo e semplicità circuitale (non necessitano di 
memorie esterne).
Se il supporto uClinux fosse stato decente (cosa che non sembra) non 
sarebbe stato male darci un'occhiata.

 memorie esterne).
No, aspetta: dimenticati di mettere uClinux su un Cortex-M3 senza 
memoria esterna :-)
Come ho detto se ci vuoi lavorare in modo minimamente decente ci 
vogliono almeno alcuni megabytes di Flash/RAM.
A meno che l'applicazione non sia supercablata non riusciresti a farcela 
entrare. E anche in questo caso dovresti pesantemente castrare uCLinux 
perdendo tutta la sua flessibilità (che di solito è il motivo per cui lo 
si sceglie).
Secondo me, al giorno d'oggi, uCLinux ha poco senso e infatti se ne 
sente sempre meno parlare in giro. Per i microcontrollori piccoletti 
rimarrei su un RTOS come BeRTOS.
Ciao!

 e 1Mbyte di flash...
Immagino che non ci fosse quasi nulla: niente rete, niente fs, niente 
display, kernel castrato, niente init, niente shell, etc..
Ma allora mi chiedo: che senso ha mettercelo se poi non puoi usare 
praticamente nulla?

 display, kernel castrato, niente init, niente shell, etc..
No, tutto lo stack di rete, display LCD (a colori!),
touch screen (seriale), shell su seriale e mini web...
non male , nonostante tutto, tenuto conto che
controllava un distributore di bevande :-)
Fu proprio la disponibilita' dello stack TCP/IP
completo il motivo della scelta di ucLinux.
A.


Se le cose stanno davvero cos� fagli i miei complimenti.
Io in un'applicazione molto simile non sono riuscito a stare sotto 4MB 
di RAM/Flash.
Ciao!