PDA

View Full Version : [uClinux] driver per accedere alla memoria


manneshow
19-02-2009, 16:26
salve,

ho una scheda con un FPGA e c'ho caricato un processore embedded con il sistema operativo uClinux....
Devo scrivere un driver per fare accesso alla RAM che è a bordo della scheda e leggere/scrivere una porzione di essa, ma non ho molta esperienza in programmazione....
Penso che i driver di uClinux abbiano la stessa struttura di quelli di linux.....
Qualcuno può aiutarmi??

sirus
19-02-2009, 17:36
salve,

ho una scheda con un FPGA e c'ho caricato un processore embedded con il sistema operativo uClinux....
Devo scrivere un driver per fare accesso alla RAM che è a bordo della scheda e leggere/scrivere una porzione di essa, ma non ho molta esperienza in programmazione....
Penso che i driver di uClinux abbiano la stessa struttura di quelli di linux.....
Qualcuno può aiutarmi??

Un momento, prima è meglio che controlli che ci sia un controller per accedere alla memoria RAM su scheda oppure caricato su FPGA.
Anche io ho utilizzato µCLinux e la compilazione del kernel come la creazione di un'immagine del sistema operativo non sono mai stati un problema però su FPGA c'era un'architettura dotata di un soft processor più un controller di memoria oppure un controller di memoria e la "circuiteria" necessaria per utilizzare il processore integrato nella FPGA.

EDIT: se il produttore della scheda dotata di FPGA permette di caricare Linux generalmente mette a disposizione un ambiente per compilare il kernel e generare un'immagine del sistema operativo.

manneshow
20-02-2009, 08:16
Un momento, prima è meglio che controlli che ci sia un controller per accedere alla memoria RAM su scheda oppure caricato su FPGA.
Anche io ho utilizzato µCLinux e la compilazione del kernel come la creazione di un'immagine del sistema operativo non sono mai stati un problema però su FPGA c'era un'architettura dotata di un soft processor più un controller di memoria oppure un controller di memoria e la "circuiteria" necessaria per utilizzare il processore integrato nella FPGA.

EDIT: se il produttore della scheda dotata di FPGA permette di caricare Linux generalmente mette a disposizione un ambiente per compilare il kernel e generare un'immagine del sistema operativo.

Grazie per la risposta sirus!
Il progetto Hardware l'ho fatto io e ho inserito il controller per la RAM.
La RAM l'ho testata senza Linux e funziona perfettamente...
Il mio problema è realizzare un driver in grado di andare a leggere/scrivere una porzione di RAM con uClinux!!
Linux mi parte e mi vede tutto, io, però, devo realizzare un applicazione che vada a leggere/scrivere in determinati indirizzi...

sirus
20-02-2009, 10:00
Grazie per la risposta sirus!
Il progetto Hardware l'ho fatto io e ho inserito il controller per la RAM.
La RAM l'ho testata senza Linux e funziona perfettamente...
Il mio problema è realizzare un driver in grado di andare a leggere/scrivere una porzione di RAM con uClinux!!
Linux mi parte e mi vede tutto, io, però, devo realizzare un applicazione che vada a leggere/scrivere in determinati indirizzi...
Allora non è un driver che ti serve, è banalmente un'applicazione che dato un indirizzo (utilizzabile) scrive su quell'indirizzo. Se hai la certezza che l'indirizzo di memoria che vuoi scrivere è accessibile è sufficiente un puntatore a quell'indirizzo e puoi fare tutto quello che vuoi. ;)

Considerando che µCLinux non ha il supporto alla MMU (PMMU) e che probabilmente neppure il soft-processor che hai caricato su FPGA ne è dotato hai anche la certezza che la scrittura avverrà all'indirizzo corretto.

manneshow
20-02-2009, 10:26
Allora non è un driver che ti serve, è banalmente un'applicazione che dato un indirizzo (utilizzabile) scrive su quell'indirizzo. Se hai la certezza che l'indirizzo di memoria che vuoi scrivere è accessibile è sufficiente un puntatore a quell'indirizzo e puoi fare tutto quello che vuoi. ;)

Considerando che µCLinux non ha il supporto alla MMU (PMMU) e che probabilmente neppure il soft-processor che hai caricato su FPGA ne è dotato hai anche la certezza che la scrittura avverrà all'indirizzo corretto.

Io credo che ci voglia un driver per farmi accedere dall'user space all'indirizzo di memoria... non sono sicuro che basti un'applicazione con l'indirizzo fisico della RAM.

manneshow
16-03-2009, 09:24
Allora non è un driver che ti serve, è banalmente un'applicazione che dato un indirizzo (utilizzabile) scrive su quell'indirizzo. Se hai la certezza che l'indirizzo di memoria che vuoi scrivere è accessibile è sufficiente un puntatore a quell'indirizzo e puoi fare tutto quello che vuoi. ;)

Considerando che µCLinux non ha il supporto alla MMU (PMMU) e che probabilmente neppure il soft-processor che hai caricato su FPGA ne è dotato hai anche la certezza che la scrittura avverrà all'indirizzo corretto.

scusa avevi ragione!!

Grazie mille!!