Thank you for your reply.
Actually, I tried to use Comedi driver for NI6024E. However, as David
Schleef told me, this driver only support one analog input and output per
device,  which doesn't satisfy our requirement. Also, I need to add
counter interrupt by myself.
And right now, I just want to verify the concept I mentioned last time.
Any idear?

Xu

On Wed, 26 Sep 2001, Basham, Richard R wrote:

> Xu Zhang,
>
> Without getting into the details of all your questions,
> I would pose these questions to you.
>
> Do you need real time for your application?
>
> If not then you could keep your application in user space and use your
> existing driver.
>
> If you need real time I suggest that you look into the comedi project.
> There are
> drivers for many NI cards.  In fact I use a NI6033 PCI card.
>
> There is an interface to the driver from a real time module.
>
> http://stm.lbl.gov/comedi/
>
>
> Regards,
>
> Rich
>
>
> -----Original Message-----
> From: Xu Zhang [mailto:[EMAIL PROTECTED]]
> Sent: Monday, September 24, 2001 9:09 PM
> To: [EMAIL PROTECTED]
> Subject: [rtl] concept questions about rtlinux/linux when using fifo
>
>
> Hi, all,
> I use rtlinux2.2 with kernel 2.2.14. I am working on the NI6024 PCI data
> aquisition board and its driver, the EDAQ driver, which doesn't support
> any real-time function. I tried add functions so that the kernel can
> notify the user space when interrupt happens. I tried to use "fifo" to set
> up the communication between kernel and user space. I added the code in
> the driver:
>
>     if(access(FIFO_NAME, F_OK) == -1){
>     res = mkfifo(FIFO_NAME, 0777);
>     if(res != 0) {
>        DEBUG_PRINT (("Xu could not create fifo %s, res = %d, errno =
> %d\n", FIFO_NAME, res, errno));
>       //      exit(EXIT_FAILURE);
>     }
>     }
>
> But when I install the driver, it outputs the errno = 14 which is EFAULT.
> I think it cannot access this address.
> Now I have two questions:
>
> (1). I found somewhere says that Linux kernel may be preempted by an RT
> task even during a system call, so no Linux routine can be safely called
> from real-time tasks.
> Actually, I even haven't install any real-time module yet.
> Is that true the fifo preempted by the RT task so that I cannot
> successfully set up a fifo in a normal Linux driver but with rtlinux
> kernel? If this is the reason, do I have to remove the rtlinux and
> recompile the kernel so the system will be normal Linux?
>
> (2) Is there any restriction for the PCI board to access the memory?
>
> any advice?
>
> Thank you.
>
> Xu
>
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/
>
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/
>

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/

Reply via email to