|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
Creare un driver per scheda DSP ISA
Salve a tutti
per la mia tesi di laurea (ing elettronica) mi trovo a dover utilizzare una scheda DSP basata su TMS320C25, che è pure ISA non Plug&Play (niente driver windows) La scheda è fornita delle routine che ne comandano le operazioni a basso livello (halt, go, scrivi/ leggi a un certo indirizzo di I/O ecc...), sotto forma di file precompilati (.obj), e anche come file .c e .asm. Nel file assembler sono presenti le routine "+ elementari", e sono scritte in codice DOS a 16bit, non accettato da Windows( Mi trovo così a dover scrivere un driver per la scheda.... Potete darmi consigli/aiuti/suggerimenti su come procedere? Ho trovato un tool che sembra rendi la vita facile a chi vuole sviluooare un driver: si chiama WinDriver (http://www.jungo.com/windriver.html) Vi prego, datemi una mano, sono disperato! (PS: x di + mi ritrovo pure senza relatore...
__________________
ho fatto affari con: na decina di anime |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Bè si, ti serve una sorta di sdk per costruire i driver; quello ufficiale Microsoft è il ddk:
http://www.microsoft.com/whdc/devtools/ddk/default.mspx non mi affiderei a terzisti per questo genere di cose. Nota che potrebbe essere complicato.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
si, te lo dico io: è complicato
ci stanno degli esempi di drivers nel ddk: guarda ad esempio quello della keyboard class: non fa niente!!! io ho iniziato a studiare il ddk tempo fa, ma mi sono fermato tremila volte a causa del fatto che non so usare la utility BUILD fornita da Microsoft: non so scrivere il makefile causa pigrizia non mi va di imparare, ma adesso dovrò imparare per forza perché devo farlo per il corso di Laboratorio di Sistemi Operativi (sperando che i makefile di Linux siano identici come sintassi a quelli di Microsoft...) |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
no, un normale programma user mode per Linux, ma dobbiamo ugualmente usare i makefiles.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
ragazzi, forse ho trovato una scappatoia...
STRANAMENTE, le funzioni incluse nella libreria conio.h (in particolare inp, inpw, outp e outpw) non danno problemi sotto Win98SE, mentre rompono sotto WinXP.... Credo quindi che svilupperò il software sotto win98, visto che il prof nn mi fa problemi...(non c'è... cmq WinDriver sembrava rendesse facili le cose (sembrava), il problema è "SOLO" capire dove inserire le funzioni della mia scheda.... facile a dirsi eh? che ne pensate della soluzione con le funzioni di conio.h?
__________________
ho fatto affari con: na decina di anime Ultima modifica di swarm : 19-12-2005 alle 19:14. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Ma se lo fai per linux il driver è lo stesso? Perchè forse è più facile, puoi implementarlo scrivendo un modulo per il kernel. C'è diversa documentazione a riguardo, ed anche un libro scaricabile gratuitamente.
FLAME ON 'make' è un'utility che dovrebbe essere cancellata dalla faccia della Terra! FLAME OFF
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Forse anche XP offre qualche strumento simile, non lo so... Usare direttamente inb & co su Win98 può andar bene per metterci una pezza, ma certamente un driver non andrebbe scritto in questo modo. E' un bene che XP non lo consenta più, non un male.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Questi ricordano la sys_iopl di linux: http://dpointer.blogspot.com/2005/02...-nt2000xp.html http://www.direct-io.com/ Questo invece è simile alla /dev/port: http://www.vcomsoft.com/DDKDOC.htm Inutile dire che il secondo metodo è preferibile, ma per velocità di sviluppo puoi anche dare una occhiata al primo link.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
grazie a tutti x la risposte.
Infatti anche secondo me questa è la cosidetta "pezza a colori", ma dopo aver cominciato da solo a studiare visual c++, poi un pò di assembler (che nn ricordavo proprio +) e infine vita morte e miracoli della scheda, credo di non commettere un delitto se utilizzi una soluzione di questo tipo (e mi ci è voluto un bel pò per "imbeccare" le funzioni giuste!) Cmq c'è da dire che uno sviluppo di un driver non avrebbe nemmeno senso in questo caso, perchè si riferirebbe a una scheda vecchissima, nemmeno più supportata dalla casa, che dopo la mia tesi credo non servirà + (per i curiosi, ecco qui la scheda http://www.dalanco.com/m250.htm) credo che cmq avrò ancora bisogno di voi! GRAZIE! PS: AUGURI!!!!!!!!
__________________
ho fatto affari con: na decina di anime |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se usi il driver giveio.sys in Windows XP/NT/2k riuscirai ad usare tranquillamente qualsiasi tipo di i/o diretto...
Ora vediamo se riesco a trovare un download... |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
http://www.bottledlight.com/tools/giveio.zip
Qui c'è il driver e l'eseguibile per installarlo, ma non c'è un esempio...ora guardo se lo trovo... |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
http://www.embeddedtronics.com/publi...o/directio.zip
Meglio questo: ci sono diversi driver, comunque prova ad usare da subito giveio.sys... Dentro directio.zip (ce n'è un altro all'interno di dello zip che ti ho linkato) c'è un sorgente di prova: tstio.c che fa suonare lo speaker del PC... |
|
|
|
|
|
#16 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ma sta scheda a che serve?? :|
cmq su XP (e su Windows in generale) esiste la possibilità di comunicare con alcuni tipi di periferiche come fossero dei files: li si apre con CreateFile, si scrive con WriteFile, si legge con ReadFile, e si chiude con CloseHandle. funzionava solo per porte COM e LPT, ma poi ho visto anche un esempio di codice che permetteva di farlo anche su porte USB. non so se potrebbe in qualche modo funzionare anche per una scheda interna, potresti provare a chiedere su qualche Newsgroup... btw, l'I/O diretto non esiste più su Windows NT perché in e out sono istruzioni privilegiate ha ragione ilsensine: è una caratteristica positiva che non ci sia più, altrimenti qualsiasi virus potrebbe allegramente mandare a gentil donzelle il computer, controllare a suo piacimento le periferiche, cancellare il BIOS, e fare tutto quello che gli pare, praticamente come se fosse in MS-DOS anziché in un sistema operativo in modalità protetta. |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Con i driver sopra si può usare l'i/o diretto
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
Quote:
(hai visitato il sito di sopra?) in pratica io posso acquisire il segnale e visualizzarlo, oppure visualizzarne lo spettro tramite FFT elaborata on board. @ cionci Cmq proverò a usare quei driver che mi hai dato,(ti ringrazio) se ne avessi bisogno... GRAZIE!!!!!
__________________
ho fatto affari con: na decina di anime Ultima modifica di swarm : 20-12-2005 alle 12:50. |
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Spero che non devi acquisire/inviare immagini in tempo reale sul computer con quella scheda, altri farlo in PIO sei messo male
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:50.



















