Debugging with Eclipse (MVM)

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
SBC Lynx-top.png Applies to SBC Lynx

Introduction

Generally speaking, Managed Virtual Machines including Yocto build system provide all the required stuff to remotely debug applications running on the target, via Eclipse/ADT. It is beyond the scope of this article to describe in detail how to use Eclipse[a]. Instead, some MVM-related information are provided, in order to properly configure the host to work with DAVE Embedded Systems products. Also, classical "Hello, world!" example is detailed.

For more details about Eclipse, please refer to these links:

Eclipse integration in MVM

No specific operations are required to run Eclipse, as shown in the following example.

By default, cross-tool chain is installed in /home/dvdk/<targetname>/sdk/latest. <targetname> is the name of the actual hardware platform (i.e. lynx, axelulite etc.).

Configuring the Cross-Toolchains

  • Run Eclipse program:


Generic-vm-1280-eclipse1.png

Generic-vm-1280-eclipse2.png

Generic-vm-1280-eclipse3.png


To configure the Cross Compiler Options, you must select the type of toolchain, point to the toolchain, specify the sysroot location, and select the target architecture.

  • Select "Preferences" from the "Windows" menu.


Generic-vm-1280-eclipse-toolchain1.png


  • Select "Yocto Project ADT", add the cross-toolchain configuration and save the profile as your project name ("targetname" in this case). Click "Apply" and "OK".


Generic-vm-1280-eclipse-toolchain2.png


Example

The following example shows how to build and debug classical "Hello, world!" example when working with AXEL ULite and SBC Lynx Embedded Linux Kit (XUELK). As stated before, this example is valid for all of the Yocto-based MVMs.


This section first shows how to create an Eclipse-based project. The second part illustrates how to start a debugging session for a simple "Hello, world!" application.

For more details about Eclipse Kepler please refer to [[1]]

Creating the project

You can create two types of projects: Autotools-based or Makefile-based. This section describes the first method with Eclipse IDE. To create a project based on Yocto template, follow these steps:


  • Select "Project" from the "File -> New" menu.


Generic-vm-1280-eclipse4.png


  • Expand "C/C++" and select "C Project". Click "Next"


Generic-vm-1280-eclipse5.png


  • Expand "Yocto Project ADT Project" and select "Hello World ANSI C Autotools Project". Add "Project name". Click "Next" and "Finish".


Generic-vm-1280-eclipse6.png


  • If the "open perspective" prompt appears, click "Yes" so that you in the C/C++ perspective.
  • Click on "C/C++" button on up left bar to view source files.


Generic-vm-1280-eclipse7.png

Generic-vm-1280-eclipse8.png


  • To build the project select "Build Project" from the "Project" menu.


Generic-vm-1280-eclipse9.png

Generic-vm-1280-eclipse10.png


Debugging the project

This section lists the steps required to start a debugging session for the applications. Before debugging remember to compile and install yours updated binaries/libraries.

  • Select "Debug Configurations" from the "Run" menu.


Generic-vm-1280-eclipse-debug1.png


  • Expand "C/C++ Remote Application" and select "helloworld_gdb_arm-poky-linux-gnueabii".


Generic-vm-1280-eclipse-debug2.png


  • Click "New" in "Connection" and select "SSH Only". Click "Next".


Generic-vm-1280-eclipse-debug3.png


  • Insert IP a ddress of the target board in the "Host name field". Click "Next" then "Finish".
  • Add binary tree under test in "C/C++ Application" field and remote tree in "Remote Absolute File Path for C/C++ Application" field.
  • Click "Select other" link near "Using Legacy Remote Create Process Launcher" and select "GDB (DSF) Automatic Remote Debugging Launcher".


Generic-vm-1280-eclipse-debug4.png

Generic-vm-1280-eclipse-debug5.png


  • Select "Debugger" tab and change debugger settings. Click "Debug".


Generic-vm-1280-eclipse-debug6.png


  • Add root name and password in "Enter Password" dialog box.


Generic-vm-1280-eclipse-debug7.png


  • If the "Warning" prompt appears, click "Yes" so that you can confirm ssh authenticity.
  • If the "open perspective" prompt appears, click "Yes" so that you in the Debug perspective.


Generic-vm-1280-eclipse-debug8.png



  1. Please note that Eclipse is not just a debugger, it is a full-featured IDE that allows to manage and build complex projects with a powerful user-friendly graphical interface.