I/O Kit and PCI Driver Questions

cs_ignacio

Registered
Hello, and thank you in advance for your help.

I am currently working on upgrading some software for a radio telescope, originally written in C, but now upgraded to C++ (as required by the I/O Kit). This software essentially controls the telescope and interprets the data it collects. It's all fairly simple (just a console application) except for the data input and output, which on the original machine went through a NuBus card (this was about 15 years ago). Now we're trying to upgrade it to a PCI card, but I'm having some difficulty navigating the I/O Kit documentation and example code (until this project, most of my experience was programming on Linux and Windows machines).

I understand the interaction between kernel-space user clients and user-space applications, but the interaction between the user-client and the PCI driver is a bit less clear. I guess the most prevalent question is this: is it necessary to write an entire package (driver and user-client), or is it possible to implement only the user-client while using a built-in driver? Obviously the latter assumes there is such a driver, and I'm not even certain if either of the two options is the best approach to begin with, so any information would be much appreciated.

I attempted to compile the examples supplied in the DDK on Apple's developer site, and while it did compile, when I tried to load the .KEXT file as per their instructions, I received an invalid extension error. Consequently, the included test application found no drivers or devices when I ran it. Since this is directly related to the above problem, I would like to have some idea of what might have gone wrong.

Here are all (hopefully) of the relevant version numbers:
XCode version 1.5
OS version 10.3.9
PCI-DIO-32HS (PCI card model, made by National Instruments)

Thank you again for your time, help, and consideration, and have a nice day.

-Ignacio
 
Back
Top