LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Linux host: How to use Eclipse gdb cross debugger for a c/c++ real-time application.

Solved!
Go to solution

Hello,
I have a Linux host (CentOS 7) on which I have installed Eclipse and:
GNU C & C++ Compilers for ARMv7 Linux (Linux host) 2014

 

I'm able to build and run on my target (sbRIO-9651) the example "hello world" application described in:

Getting Started with C/C++ Development Tools for NI Linux Real-Time, Eclipse Edition

 

What I'm not able to do is to debug my application.  I can't find the equivalent of "arm-nilrt-linux-gnueabi-gdb.exe" on my Linux host.

 

Does anyone knows how to setup the debugger for this setup?

 

I tried to run the debug with the default options and this is the message I get in the "console" (I have replace the IP address by x.x.x.x)

 

Last login: Thu Sep 17 05:25:47 2015 from x.x.x.x
echo $PWD'>'
gdbserver :2345 /home/admin/ProjectFolder/test1;exit
admin@NI-sbRIO-9651-03081395:~# echo $PWD'>'
/home/admin>
admin@NI-sbRIO-9651-03081395:~# gdbserver :2345 /home/admin/ProjectFolder/test1; exit
Process /home/admin/ProjectFolder/test1 created; pid = 1761
Listening on port 2345
Remote debugging from host x.x.x.x
readchar: Got EOF
Remote side has terminated connection.  GDBserver will reopen the connection.
Listening on port 2345

 

Thanks,

 

Michel

0 Kudos
Message 1 of 8
(5,997 Views)
Solution
Accepted by topic author Michel_Gauvin

Hello,

 

Ok, I made some download and tests yesterday and today and I found a toolchain that works to do remote debugging of  a c/c++ application on  a sbRIO-9651 with a CentOS 7 host operating system.

 

You need to download this Linaro Toolchain for Cortex-A

 

Once on the page go into the section "Linaro Toolchain for Cortex-A" and download the second linux link "linaro-toolchain-binaries (big-endian)".  The gdb binary is in there, so you only needs to point to it in Eclipse debug configuration.

 

You may need to install addition library on your OS.

 

Michel

0 Kudos
Message 2 of 8
(5,961 Views)

I am a bit dense. What does any of this have to do with LabVIEW ?

0 Kudos
Message 3 of 8
(5,952 Views)

@nyc_(is_out_of_here) wrote:

I am a bit dense. What does any of this have to do with LabVIEW ?


When you develop a shared library to be used on an sbRIO with NI Linux RT from within a LabVIEW deplyed executable and would like to debug this from a Linux host instead of a Windows system. Cross platform development is a bit complicated. For the Windows host NI has prepared a nice Eclipse toolchain installation to install on the Windows machine to allow developing/compiling and testing/debugging such shared libraries. However some people prefer to run this from a Linux host although development and deployment of the LabVIEW executable really only is supported on a Windows system.

 

Alternatively you can indeed compile a complete executable for the sbRIO without necessarily involving LabVIEW at all but that doesn't really change anything about what I wrote above.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 4 of 8
(5,937 Views)

If you click on the first link in the first post the description is the following:

 

Download Language: English

Product Line: LabVIEW

Version: 2014

Release date: 08-20-2014

Software type: Utility

Operating system: Linux

 

I'm developing my fpga code with LabVIEW FPGA and my collegue wants to develop the real-time application in c/c++.

 

So feel free to propose a alternate software board if this is not related to LabVIEW FPGA, RT....

 

Best regards,

 

Michel

0 Kudos
Message 5 of 8
(5,926 Views)

@rolfk wrote:

@nyc_(is_out_of_here) wrote:

I am a bit dense. What does any of this have to do with LabVIEW ?


When you develop a shared library to be used on an sbRIO with NI Linux RT from within a LabVIEW deplyed executable and would like to debug this from a Linux host instead of a Windows system. Cross platform development is a bit complicated. For the Windows host NI has prepared a nice Eclipse toolchain installation to install on the Windows machine to allow developing/compiling and testing/debugging such shared libraries. However some people prefer to run this from a Linux host although development and deployment of the LabVIEW executable really only is supported on a Windows system.


Can you clarify it further?

The shared library is within the LabVIEW executable? 

 

 

 

 

 

 

0 Kudos
Message 6 of 8
(5,922 Views)

@Michel_Gauvin wrote:

If you click on the first link in the first post the description is the following:

 

Download Language: English

Product Line: LabVIEW

Version: 2014

Release date: 08-20-2014

Software type: Utility

Operating system: Linux

 

I'm developing my fpga code with LabVIEW FPGA and my collegue wants to develop the real-time application in c/c++.

 

So feel free to propose a alternate software board if this is not related to LabVIEW FPGA, RT....

 

Best regards,

 

Michel


This is not in the least bit clear to me in your original post, but then I don't work with LabVIEW FPGA.

Seems that I must not be the only one confused since no one else answered.

 

 

 

0 Kudos
Message 7 of 8
(5,919 Views)

@nyc_(is_out_of_here) wrote:

@Michel_Gauvin wrote:

If you click on the first link in the first post the description is the following:

 

Download Language: English

Product Line: LabVIEW

Version: 2014

Release date: 08-20-2014

Software type: Utility

Operating system: Linux

 

I'm developing my fpga code with LabVIEW FPGA and my collegue wants to develop the real-time application in c/c++.

 

So feel free to propose a alternate software board if this is not related to LabVIEW FPGA, RT....

 

Best regards,

 

Michel


This is not in the least bit clear to me in your original post, but then I don't work with LabVIEW FPGA.

Seems that I must not be the only one confused since no one else answered.

 


It's an exotic situation but not out of the possible applications. NI specifically sells the NI Linux RT targets as allowing to use the Linux insfrastructure so that you are not as much tied into the LabVIEW/NI ecosystem as with the earlier targets. The FPGA part has to be developed from within LabVIEW since there is really no other solution unless you want to spend man years on figureing out how everything is physically wired inside the RIO device.

The RT application can be any executable, LabVIEW or simply C/C++. Technically this topic is indeed not directly linked to LabVIEW at all in the intended setup but would be more suited for an NI-RIO board if that would exist. The most correct board would probably have been http://forums.ni.com/t5/Real-Time-Measurement-and/bd-p/280 or maybe http://forums.ni.com/t5/IF-RIO/bd-p/520.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 8 of 8
(5,898 Views)