Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.arcetri.astro.it/irlab/doc/giano/embedded/fliusb_for_raspbian.pdf
Дата изменения: Mon Oct 7 10:46:18 2013
Дата индексирования: Fri Feb 28 22:33:19 2014
Кодировка:

Поисковые слова: propulsion
INAF-OAA Gruppo Strumentazione Infrarossa

Progetto Giano

Istruzioni p er la compilazione del driver fliusb e del programma di gestione della camera FLI
E.Giani, C.Baffa
Memo Versione 1.0, Firenze 4 Ottobre 2013

Per compilare il modulo della FLIcam ` necessario il pacchetto degli headers di Linux, pacchetto che e generalmente contiene anche il file Module.symvers con i simboli esportati dai moduli del kernel e le rispettive CRC. Per la Raspbian fornita dalla RaspberryPi, questo pacchetto al momento non ` fornito. e In assenza di questo pacchetto risulta allora necessario ottenere i sorgenti del kernel rpi-3.6.y in uso con la distribuzione, sorgenti che abbiamo scaricato dal repository git della RaspberryPI: https://github.com/raspberrypi/linux1 . Oltre ai sorgenti, dobbiamo avere accesso anche al file di configurazione del kernel, facilmente recuperabile da /proc/config.gz e la versione del file Module.symvers corrispondente al kernel in uso. Quest'ultimo ` ottenibile sempre dal repository e https://github.com/raspberrypi/firmware/extra. Qui di seguito descriviamo passo per passo, tutte le operazioni eseguite: dalla creazione della cartuccia con il sistema Raspbian, alla configurazione del sistema, alla compilazione del modulo del driver della camera e del suo programma di gestione. Abbiamo scaricato l'immagine 2013-09-25-wheezy-raspbian.zip della distribuzione dal sito http://www.raspberrypi.org/downloads. Questa ` stata copiata con il comando dd di Unix su una nuova cartuccia (da 4G). e Una volta avviato il sistema, viene avviato lo script raspi config
2

che richiede se si vuole eseguire l'

espansione della root alla dimensione reale della cartuccia. Terminazione l'operazione di espansione, viene eseguito il reboot della macchina. Una volta riavviata ed entrati come utente pi (password raspb erry), procediamo a generare la password per la root usando quella standard del TNG e procediamo a controllare quali dei file necessari per la compilazione del modulo e del software aggiuntivo, sono presenti e quali invece ` necessario e copiare.
1

Per far questo dobbiamo cliccare sul tasto in basso a destra Download ZIP che scaria lo zip del contenuto dell'intero

albero. 2 /usr/sbin/raspi config oltre all'espansione della root, consente altre operazioni, come ad esempio la modifica della lingua etc.


· /lib/modules/3.6/11+/build: NO · /proc/config.gz: SI · Module.symversions: NO Dalla cartuccia gi` usata in precedenza per le prove (8GB) ottengo copia dei seguenti file: a · linux-rpi-3.6.y.zip con i sorgenti del kernel 3.6.y · Module.symvers · fliusb-1.3.tgz con i sorgenti del driver · libfli-1.104.zip con i sorgenti per la libreria FLI API · cftisio3350.tgz con i sorgenti per compilare la libreria Nota: tutti i file necessari alle varie operazioni descritte di seguito, sono stati salvati nella directory rpi nella home dell'utente pi.

Come utente root, vengono eseguite le seguenti operazioni: · scompattati i sorgenti del kernel in /usr/src · creato il link simbolico linux linux-rpi-3.6.y · creato link simbolico /lib/modules/3.6.11+/build /usr/src/linux · creata la directory misc in /lib/modules/3.6.11+ · copiato il file Module.symvers in /usr/src/linux · copiato /proc/config.gz in /usr/src/linux, scompatto e copiato in .config · make oldconfig && make prepare · make modules prepare Come utente pi compilo il modulo fliusb.ko, utilizzando i sorgenti forniti dalla Finger Lakes Instr. Una volta ottenuto il modulo come utente root si effettuano i seguenti passi: · copia del modulo in /lib/modules//3.6.11+/misc · depmod -a


· modprobe fliusb Nota: Digitando il comandi lsmod il modulo fliusb appare nella lista dei moduli inseriti. Nella colonna identificata dalla stringa "Used by" appare un numero positivo, che in realt` dovrebbe essere a 0. Questo fa s` che il modulo non possa essere rimosso con il comando modprobe (neppure forzando con i l'opzione -f) perch` per il sistema risulta in uso da parte di altri moduli. L'unica soluzione ` eseguire il e e reboot della macchina. Una volta compilato il modulo, abbiamo cancellato dalla cartuccia i sorgenti del kernel che occupano solo spazio fisico. Il passo successivo consiste nella creazione del programma di gestione della camera. Per il suo

funzionamento, questo richiede due distinte librerie di sviluppo: la libreria FLI API e la libreria FITS. I sorgenti della prima sono forniti direttamente dal produttore della camera, i secondi si trovano liberamente in rete. La libreria statica libfli.a viene copiata in /usr/local/lib, il file include libfli.h in /usr/local/include. Per compilare la libreria cfitsio in modalit` dinamica, dopo l'esecuzione dello script configure, dobbiamo a dare il comando `make shared`. Al termine ` generata la libreria libcfitsio.so.1.3.35 che copiamo in /usr/lib dove creaiamo e anche i link simbolici libcfitsio.so.1 e libcfitsio.so: il primo punta alla libreria, il secondo al link. libcfitsio.so.1 -> libcfitsio.so.1.3.35 libcfitsio.so -> libcfitsio.so.1 A questo punto passiamo alla compilazione del programma per la camera, il cui sorgente ` fli ccd.c. e ` E sufficiente lanciare lo script compile fli che esegue i passi necessari alla creazione dell'eseguibile fli ccd. Quest'ultimo, insieme allo script startup flicam, viene copiato nella directory /opt/softirb/bin precedentemente creata come root. Abbiamo modificato il file di sistema rc.local in modo che lo script precedente venga lanciato alla partenza del sistema. Affinch` tutto funzioni nel modo corretto, ` necessario che durante il boot la camera FLI venga rilevata e e correttamente, in modo che venga inserito il modulo e al termine avviato il programma di gestione.


Al momento, le prove effettuate a Firenze3 con la telecamera di scorta, che purtroppo sembra essere difettosa, mostrano che se il raspberry viene accesso contemporaneamente alla telecamera, quest'ultima non viene rilevata: sembra necessario un piccolo ritardo tra la prima e la seconda accensione.

3

Queste prove di acquisizione con la camera FLI sono state effettuate a fine Settembre 2013.