Driver Development Kit (DDK)

cancel
Showing results for 
Search instead for 
Did you mean: 

developing derivers for PCI-6025E board on QNX momentics IDE

Hi,
I'm a starter on DDK and QNX.
I have to develop drivers for the acquisition borad PCI-6025E on qnx momentics IDE 6.0.3 using DDK.
Now I dont know which version is the most suitable for the borad I have and which files I will need to include so I can use all the DAQ API.
I have another problem concerning the configuration of the Board.
I have the QNX IDE on a pc running Win XP and the board is installed on a target machine running QNX Momentics Developpement Suite 6.0.3 SP2.
The machines are connected with a direct connection. I used Measurement and automation explorer (MAX) to add the device on the list but in vain.
So I want to know how to add the device in MAX and kind of NI-daq is most suitable for the PCI-6025E board using QNX?
 
Thank you for your help.
0 Kudos
Message 1 of 6
(9,271 Views)
 

Hi hamza-

There is no version of NI-DAQ or NI-DAQmx that supports QNX.  You will need to develop your own driver for that platform using the examples and O/S interface files provided with the NI MHDDK (as you have found).

In order to build the MHDDK examples you will need the E Series PCI examples and chip objects, the QNX OS Interface, and the DMA library provided.  Although your QNX development tools are running on your WinXP machine you will not be able to use MAX to configure the device for use on QNX.  All of the necessary functionalities are provided in the MHDDK for use on QNX- I would encourage you to check out the readme for tips on how to build the MHDDK examples and driver files. 

Once you're able to build and deploy to your target, you should run the lsdaq utility included with the MHDDK to make sure that your device is properly recognized.  Good luck-

Tom W
National Instruments
0 Kudos
Message 2 of 6
(9,267 Views)

Hi Tom,

Thank you for your quick reply about my request.

I want to ask you if there is any pages on NI internet site that explain with details the functionnality of osibus, chipobjects and the other files included in mhDDK I downloaded?

If any, please give me the link, if not so you can give the some links that  give the most detailed explanation that exist.

Thank you.

0 Kudos
Message 3 of 6
(9,256 Views)
 

Hi hamza-

This KnowledgeBase has good information about the architecture of the MHDDK examples.  Some of it is slightly out of date (mostly there are mentions of only Windows and Linux, while the current version of the MHDDK supports various other platforms including QNX), but it gives a good high level overview of the various parts.

Tom W
National Instruments
0 Kudos
Message 4 of 6
(9,253 Views)

Hello Tom,

I decided to restart from scratch because I had a bad start and now I'm having too much problems when I try to run my application.

I have some questions to clarify some things that I'm not sure to understand.

1- I want to build the examples shiped with MHDDK to run them on the target machine running QNX Neutrino 6.3.0, now I don't know how to modify the makefile shiped with these examples. I read the readme page talking about MHDDK but I don't really understand what I should do to make the examples run from QNX IDE 1.4.

2- Is it possible to develop the drivers without using the dma files (In case I don't need DMA transfers)?

Thank you for your support

0 Kudos
Message 5 of 6
(9,135 Views)
 

Hi hamza-

1-  You should (hopefully) be able to use the shipped QNX makefile without modification.  You can then use the top-level Makefile provided with the mhddk examples for your product family.  You'll likely need to edit the Makefile so that the directory structure for the OS interface and other support files matches the locations specified.  You'll also need to edit these two lines to point to QNX-specific support files:

OSINTERFACE_DIR := ../nimhddk_visa
OSINTERFACE_MAKEFILE := win-visa.mak

 

2-  It is definitely possible to exclude the DMA objects from your export.  You only need to remove this section from the Makefile:

#
# DMA Support
#
#    include only if the dma library path is defined

 

Before you take the jump to using the MHDDK, I would attempt to run a "Hello world!" style application to make sure you're familiar with the build environment and that everything is setup correctly for your target.

Hopefully this helps-

Tom W
National Instruments
0 Kudos
Message 6 of 6
(9,124 Views)