Hi,I have a PCI card with PLX9656 as a bridge which transfer data from Local Bus to PCi Bus.The transferring happened in every 30ms and the amount of data is 16KB.This is a very hard work for me. My work is to read these datas and send them out by socket and write them in the hard disk at the same time.Also there will be a GUI to control where the data would be sent. The most unbelievable thing happend at this time.When I load the PCI card's driver, open the interrupt, the system will not work correct.I lost many datas after I checked the file on the disk and received through socket. But I also test my OS with out the PCI card.It's work very well. Can anyone help to analyze how could this happen?
Please help me.How could this happen?
Mar 07, 2008
2 Replies
Op Fri, 07 Mar 2008 11:24:58 +0100 schreef snipped-for-privacy@gmail.com :
If you are not buffering or using synchronous writes, then you could easily miss interrupts.
You have to make sure that you have finished processing the interrupt before the next one arrives.
Which OS are you using?
Gemaakt met Opera's revolutionaire e-mailprogramma:
http://www.opera.com/mail/
What does your driver do when it gets the interrupt?
How is the data transferred from the card to the host: through mailbox registers, direct master reads, or through DMA?
Which piece of code is doing the disk writing and the socket sending: the driver, a service, a DLL or a GUI?
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required