Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12745 Discussions

cxxtest - NiosII Software Dev Tools

Altera_Forum
Honored Contributor II
1,214 Views

Attempting to integrate the cxxtest framework into a NiosII C application within the eclipse based NiosII Development tools. I'm not installing the cxxtest plugin in eclipse. I downloaded the cxxtest framework and I am able to build a simple C project in Visual Studios including the cxxtest framework and run the cxxtest C++ environment to apply tests on my C functions. However, when I attempt to do the same with a NiosII project within eclipse, I am unable to link the NiosII C files with the cxxtest C++ files. Has anyone had any experience with developing NiosII applications and testing them with the cxxtest framework within eclipse? It seems as though name mangling is occuring, but I have included the extern "C" definitions within the C project header files. Here is the output on the Unit Test compile which is including the cxxtest framework and has a simple header file which is attempting to access a function (TransferData) that exists within my Nios2 C Header file: 

 

**** Internal Builder is used for build **** 

g++ -D__cplusplus -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\cxxtest -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\bsp\Rodstest -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\Software -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\Software\inc -I -O2 -g -Wall -c -fmessage-length=0 -oUnitTestGeneratedSrc\MyTestSuite.o ..\UnitTestGeneratedSrc\MyTestSuite.cpp 

g++ -D__cplusplus -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\Software\obj\src\AlteraDMA.o -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\Software\obj\src\IPCQueue.o -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\bsp\Rodstest -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\Software -IC:\Projects\SBSMLAT\Radio\Firmware\AlteraArriaIITest1\Rodstest\cxxtest\cxxtest -o..\Deliverables\RodsUnitTest UnitTestGeneratedSrc\MyTestSuite.o 

unittestgeneratedsrc\mytestsuite.o: in function `_zn7cxxtest11valuetraitsikde20requireddigitsonlefted': 

c:/projects/sbsmlat/radio/firmware/alteraarriaiitest1/rodstest/cxxtest/cxxtest/valuetraits.cpp:98: undefined reference to `_transferdata' 

collect2: ld returned 1 exit status 

Build error occurred, build is stopped 

Time consumed: 2328 ms.  

 

I have been able to use structures defined in the NiosII header files, and run tests using the cxxtest framework on the structures and that works fine. Only when I attempt to call a function from the header do I see this error. 

I underlined the problem. Anyone with any thoughts please feel free to comment. Thank you.
0 Kudos
0 Replies
Reply