Driver Development Kit (DDK)

cancel
Showing results for 
Search instead for 
Did you mean: 

osiTypes.h : #Target endianness not specified

Hello everyone,

Do you have any other solution to make the compiler recognize the kLitlleEndian=1?

I added this line in the compiler tab in the project settings but I still have the error saying the target endianness is not specified.

Thank you for your help.

0 Kudos
Message 11 of 17
(5,872 Views)

Hi,

I defined the kLitlleEndian =1 in the osiTypes.h file at the negining of the code (#define kLitlleEndian      1) and it works, I don't know if it's a bad thing to do but at least it compiles. Now I'm getting other errors about the target. I think the files for QNX dowsn't exist.

Here are the errors :

make -k EXTRA_SUFFIXES=cpp all --file=U:/PFE/monprojet/QMakefile36739.tmp

QCC osiBus.o tSTC.o tESeries.o

QCC -EL -g projet.o osiBus.o tSTC.o tESeries.o -o projet.exe

cc: unknown target 'gcc_ntox86le+debug'

cc: targets available in C:/QNX630/host/win32/x86/etc/qcc:

2.95.3,gcc_ntoarmbe

2.95.3,gcc_ntoarmbe_acpp-ne

2.95.3,gcc_ntoarmbe_acpp

2.95.3,gcc_ntoarmbe_cpp-ne

2.95.3,gcc_ntoarmbe_cpp

2.95.3,gcc_ntoarmbe_ecpp-ne

2.95.3,gcc_ntoarmbe_ecpp

2.95.3,gcc_ntoarmle

2.95.3,gcc_ntoarmle_acpp-ne

2.95.3,gcc_ntoarmle_acpp

2.95.3,gcc_ntoarmle_cpp-ne

2.95.3,gcc_ntoarmle_cpp

2.95.3,gcc_ntoarmle_ecpp-ne

2.95.3,gcc_ntoarmle_ecpp

2.95.3,gcc_ntomipsbe

2.95.3,gcc_ntomipsbe_acpp-ne

2.95.3,gcc_ntomipsbe_acpp

2.95.3,gcc_ntomipsbe_cpp-ne

2.95.3,gcc_ntomipsbe_cpp

2.95.3,gcc_ntomipsbe_ecpp-ne

2.95.3,gcc_ntomipsbe_ecpp

2.95.3,gcc_ntomipsle

2.95.3,gcc_ntomipsle_acpp-ne

2.95.3,gcc_ntomipsle_acpp

2.95.3,gcc_ntomipsle_cpp-ne

2.95.3,gcc_ntomipsle_cpp

2.95.3,gcc_ntomipsle_ecpp-ne

2.95.3,gcc_ntomipsle_ecpp

2.95.3,gcc_ntoppcbe

2.95.3,gcc_ntoppcbe_acpp-ne

2.95.3,gcc_ntoppcbe_acpp

2.95.3,gcc_ntoppcbe_cpp-ne

2.95.3,gcc_ntoppcbe_cpp

2.95.3,gcc_ntoppcbe_ecpp-ne

2.95.3,gcc_ntoppcbe_ecpp

2.95.3,gcc_ntoshle

2.95.3,gcc_ntoshle_acpp-ne

2.95.3,gcc_ntoshle_acpp

2.95.3,gcc_ntoshle_cpp-ne

2.95.3,gcc_ntoshle_cpp

2.95.3,gcc_ntoshle_ecpp-ne

2.95.3,gcc_ntoshle_ecpp

2.95.3,gcc_ntox86 (default)

2.95.3,gcc_ntox86_acpp-ne

2.95.3,gcc_ntox86_acpp

2.95.3,gcc_ntox86_cpp-ne

2.95.3,gcc_ntox86_cpp

2.95.3,gcc_ntox86_ecpp-ne

2.95.3,gcc_ntox86_ecpp

2.95.3,gcc_ntox86_gpp

3.3.5,gcc_ntoarmbe

3.3.5,gcc_ntoarmbe_acpp-ne

3.3.5,gcc_ntoarmbe_acpp

3.3.5,gcc_ntoarmbe_cpp-ne

3.3.5,gcc_ntoarmbe_cpp

3.3.5,gcc_ntoarmbe_ecpp-ne

3.3.5,gcc_ntoarmbe_ecpp

3.3.5,gcc_ntoarmbe_gpp

3.3.5,gcc_ntoarmle

3.3.5,gcc_ntoarmle_acpp-ne

3.3.5,gcc_ntoarmle_acpp

3.3.5,gcc_ntoarmle_cpp-ne

3.3.5,gcc_ntoarmle_cpp

3.3.5,gcc_ntoarmle_ecpp-ne

3.3.5,gcc_ntoarmle_ecpp

3.3.5,gcc_ntoarmle_gpp

3.3.5,gcc_ntomipsbe

3.3.5,gcc_ntomipsbe_acpp-ne

3.3.5,gcc_ntomipsbe_acpp

3.3.5,gcc_ntomipsbe_cpp-ne

3.3.5,gcc_ntomipsbe_cpp

3.3.5,gcc_ntomipsbe_ecpp-ne

3.3.5,gcc_ntomipsbe_ecpp

3.3.5,gcc_ntomipsbe_gpp

3.3.5,gcc_ntomipsle

3.3.5,gcc_ntomipsle_acpp-ne

3.3.5,gcc_ntomipsle_acpp

3.3.5,gcc_ntomipsle_cpp-ne

3.3.5,gcc_ntomipsle_cpp

3.3.5,gcc_ntomipsle_ecpp-ne

3.3.5,gcc_ntomipsle_ecpp

3.3.5,gcc_ntomipsle_gpp

3.3.5,gcc_ntoppcbe

3.3.5,gcc_ntoppcbe_acpp-ne

3.3.5,gcc_ntoppcbe_acpp

3.3.5,gcc_ntoppcbe_cpp-ne

3.3.5,gcc_ntoppcbe_cpp

3.3.5,gcc_ntoppcbe_ecpp-ne

3.3.5,gcc_ntoppcbe_ecpp

3.3.5,gcc_ntoppcbe_gpp

3.3.5,gcc_ntoshle

3.3.5,gcc_ntoshle_acpp-ne

3.3.5,gcc_ntoshle_acpp

3.3.5,gcc_ntoshle_cpp-ne

3.3.5,gcc_ntoshle_cpp

3.3.5,gcc_ntoshle_ecpp-ne

3.3.5,gcc_ntoshle_ecpp

3.3.5,gcc_ntoshle_gpp

3.3.5,gcc_ntox86

3.3.5,gcc_ntox86_acpp-ne

3.3.5,gcc_ntox86_acpp

3.3.5,gcc_ntox86_cpp-ne

3.3.5,gcc_ntox86_cpp

3.3.5,gcc_ntox86_ecpp-ne

3.3.5,gcc_ntox86_ecpp

3.3.5,gcc_ntox86_gpp

make: *** [projet.exe] Error 1

make: Target `all' not remade because of errors.

 

Thank you for your support.

0 Kudos
Message 12 of 17
(5,869 Views)
The solution for the last error is to change the version of the compiler. First I was using the 2.95.3 gnu compiler version, I changed this in the default file to 3.5.3 and now it works and I don't have the errors I posted in the last message.
Now I'm getting others like these one :
 

make -k EXTRA_SUFFIXES=cpp all --file=U:/PFE/monprojet/QMakefile36750.tmp

QCC osiBus.o tSTC.o tESeries.o

osiBus.o: In function `tDMAMemory::~tDMAMemory(void)':

osiBus.o(.text+0xbc): undefined reference to `__builtin_delete'

osiBus.o: In function `tDMAMemory type_info function':

osiBus.o(.gnu.linkonce.t.__tf10tDMAMemory+0x1d): undefined reference to `__rtti_user'

tSTC.o: In function `tSTC::~tSTC(void)':

tSTC.o(.text+0x1583): undefined reference to `__builtin_delete'

tSTC.o: In function `tSTC type_info function':

tSTC.o(.gnu.linkonce.t.__tf4tSTC+0x1d): undefined reference to `__rtti_user'

tESeries.o: In function `tESeries::~tESeries(void)':

tESeries.o(.text+0x304): undefined reference to `__builtin_delete'

tESeries.o: In function `tESeries type_info function':

tESeries.o(.gnu.linkonce.t.__tf8tESeries+0x1d): undefined reference to `__rtti_user'

cc: C:/QNX630/host/win32/x86/usr/bin/i386-pc-nto-qnx6.3.0-ld caught signal 1

make: *** [projet.o] Error 1

make: Target `all' not remade because of errors.

 

If you know the source of these errors please help me.

thank you.

0 Kudos
Message 13 of 17
(5,868 Views)

It's me again.

I'm sorry about all the messages I was sending, it's just because I still have 3weeks to finish my application and I still at the start.

I resolved all the problems I posted in the three last messages.

About the last one, I didn't specify the target in compiler command to generate the executable, now the command looks like this :

CXX := QCC -Vgcc_ntox86

Now I have the executable I needed.

Now Tom you told at begining of our chat that I need to execute the isDaq utility to make sure that my device is recognized. I exucuted the utility but I got this follwing error coming from sys/platform.h file :

    #error not configured for CPU

 I used VC++ 6.0 to excute isDaq.

There is any thing I have to change to be able to execute it.

Thank you.

0 Kudos
Message 14 of 17
(5,868 Views)
Hi hamza-
 
It sounds like your executable was compiled for the wrong platform.  Did you run lsdaq on your development or target system?  Is the architecture of the target x86?  Perhaps this is a better question- are you able to build and execute a simple "Hello World" application successfully on your target?  This would help us rule out problems with the MHDDK itself.
 
EDIT:  One more thought- can you try to use the makefile shipped with the MHDDK to see if you're able to achieve better results?  Is there a reason that you prefer not to use it?

Message Edited by Tom W [DE] on 07-25-2007 02:04 PM

Tom W
National Instruments
0 Kudos
Message 15 of 17
(5,859 Views)
Hi Tom,
First, I was not talking about the executable of my application , I was talking about the compilation of the isDaq utility, which gives me the errors I posted in my last message. I opened the project shipped with MHDDK but it gave me the errors.
I ran isDaq on my developpement system not on the target one. Both architectures are x86 platforms (developpement and target systems).
About the executable of my application, when I ran it the QNX developpement environnement pops a message telling that :
projet [C/C++ QNX QConn (IP)] projet.exe on qnxrtos1 (qnxrtos1) pid 540711.
qnxrtos1 is the name of the target machine. I checked to be sure that the executable is running on target machine and it was really there, so I don't think there was a problem during the compilation so it was compiled for the right platform.
Now to execute the isDaq utility in VC++ 6.0 I need to know if I should modify something or to define other things because it gave me errors saying that the compiler is not supported.
 
About the makefile sipped with MHDDK I used it at the beginning but it's too complicated for me to be able to modify it. So I decided to create my own makefile and now it works. I joined the most recent makefile the one I used to generate the executable.
 
 
Thank you Tom.
0 Kudos
Message 16 of 17
(5,853 Views)
Hi hamza,

    I believe you must be finished with your project by now, but I have my own research project and am just now beginning to develop a driver for my ESeries card for QNX (with the Eclipse IDE in WinXP).  As a formal list, here are all the files that I include with my project in order to get everything to build:
  • tSTC.h and tSTC.cpp (in order to create tSTC.o)
  • tESeries.h and tESeries.cpp (for tESeries.o)
  • osiTypes.h
  • osiBus.h and osiBus.cpp (for osiBus.o)
  • osiUserCode.cpp (for osiUserCode.o)
  • the entire nimdbg folder and all of its contents
With these files included at the top of my project folder in the QNX IDE, I can build all of my necessary NI MHDDK objects and use them with my source code (such as the included examples).

    I am interested: what does your project involve?  I am currently trying to develop a continuous acquisition program on six analog input channels at a fixed rate, and I want to use an ISR to run my programs at very defined intervals while I read values from my DAQ card.
0 Kudos
Message 17 of 17
(5,736 Views)