using a Condor Engineering CEI-420A PC/104 card w/ QNX 4.25

Hi,

We have a Condor Engineering CEI-420A ARINC data acquisition card in our PC/104 stack with a CPU card that is running the QNX 4.25 operating system. The CEI-420A has some support for Linux, but I’m wondering if there is any way we can use the card with QNX 4.25? Do you know of any example QNX code anywhere that might work with this card?

I’ve looked at some of the example Linux code for the CEI-420A –

(from the GE Fanuc website here:
gefanucembedded.com/products/support/1022)

and it appears to refer to the 2.4 or 2.6 linux kernels. I was able to obtain a version of GCC for QNX 4.25 from here:

jcmichot.usenet-fr.net/gcc/

I wonder if that might be sufficient to build the linux code on QNX somehow? Of course QNX has its own kernel, so I wonder if the example linux code would still work with QNX?

Thanks for any ideas.

In looking at this problem further it looks like maybe what I’d really need is to write a QNX 4.25 driver perhaps like this user was working on here:

openqnx.com/index.php?name=P … 14&start=0

I’m not sure if there are any good QNX 4.25 “how to write a driver” tutorials anywhere? :slight_smile:

thanks for any info… :slight_smile:

Under QNX4 there is no such think as a driver, it just a program like any other. Depending how you want you other program to interface with the driver, writing it could be very simple.

Linux driver are not portable to QNX, if you have the source it can be use a reference but that’s about it.

Thanks for the help… I understand that “drivers” are “other programs”… but note that the official “System Architecure” document for QNX 4.25 on page 113 has a subsection entitled “Device Drivers” so it does appear that QNX uses the term “device driver”, although I realize that in Linux these may be “inserted into the monolithic kernel” where as in QNX they are just another process that cooperates with the microkernel… still it seems they do call them “device drivers” at least sometimes.

From that document:

"Device drivers

The following illustration shows a typical QNX device subsystem:

[diagram]

The Device Manager process (Dev) manages the flow of data to and
from the QNX application processes. The hardware interface is
managed by individual driver processes. Data flows between Dev and
its drivers through a set of shared memory queues for each terminal
device."

Anyway, the link that I gave where the other guy tried to use a similar PC/104 he did in fact take a Linux driver and compile it under QNX after just making a very small mod’ or 2 and I think it worked for him… just I guess it can’t be “installed into the kernel” in the same way… just a separate process.

Thanks for the thoughts in any case…