sabato 9 maggio 2009

Questo software funziona sulla Beagleboard?

Di tanto in tanto mi arrivano email che mi chiedono se un tale software può funzionare sulla Beagleboard. Per esempio: "sulla Beagleboard si può usare Matlab?"

Risposta breve: "no"

Risposta lunga: "puoi usare pressoché qualsiasi software tu sia in grado di ricompilarti sotto Linux, ma dal momento che lo stai domandando, vuol dire che non sai neppure come si fa. Figurarsi quando scoprirai che la Beagleboard non è un computer con sistema operativo già pronto per l'uso...".

Il problema attuale della Beagleboard è che non esiste ancora una sua distribuzione Linux "ufficiale" pronta all'uso appena dopo averla scaricata da internet. Ci sarebbe la Angstrom Linux (da ricompilarsi in casa), è in arrivo (non si sa quando) la Ubuntu per "Beagleboard e affini", c'è gente che ci ha portato Debian, c'è un po' di tutto in giro... ma ancora non c'è una versione "scarica e usa".

Quanto a Matlab (che purtroppo non conosco), suggerirei di ricorrere piuttosto ad Octave, che è open source, gratis, e per buona parte compatibile con Matlab.

Ma poi, che senso avrebbe usare Matlab sulla Beagleboard? Suppongo che ci si voglia fare image-processing: riconoscimento contorni, volti, movimenti, etc. Ma queste operazioni non richiedono assolutamente un Matlab (tant'è che una cosa complessa come il riconoscimento dei volti oggi la troviamo anche nelle fotocamere digitali di fascia economica), si possono benissimo creare con altri strumenti. Come un linguaggio di programmazione, per esempio. A suo tempo, per l'esame di Elaborazione dell'informazione non numerica, scrissi un software di manipolazione immagini (contorni, trasformazioni): pochi kilobytes di linguaggio C e molta potenza di calcolo (che all'epoca scarseggiava) facevano miracoli.

Che senso avrebbe usare un Matlab, poi, sulla Beagleboard? Un Matlab o equivalente ne utilizzerebbe infatti il processore piuttosto che il DSP, consumando così più tempo e più energia...

1 commento:

  1. Concettualmente la Beagleboard è un computer completo.

    Uscita video DVI-digitale (non "DVI adattabile a VGA").

    Scheda audio stereo.

    Accelerazione grafica 3D.

    Porte di I/O generiche (GPIO), una seriale RS232, una USB2 host "high speed only" ed una USB2 OTG (sia host che client, a qualsiasi velocità).

    Processore con DSP e istruzioni SIMD NEON.

    Flash-DISK da 256Mb.

    RAM da 256Mb.

    Insomma, di hardware ne ha proprio parecchio.

    E ci gira Linux, e quindi qualsiasi cosa sia ricompilabile sotto Linux e che non sia strettamente dipendente dalla "famiglia" dei processori (il VirtualBox della Sun richiede processori x86 per funzionare).

    RispondiElimina