Eclipse

From ArmadeusWiki
Revision as of 11:46, 4 June 2008 by JulienB (Talk | contribs) (Eclipse installation)

Jump to: navigation, search

How-To install Eclipse IDE and GDB debugger

Forewords

Eclipse IDE has been choosen as standard IDE for the Armadeus software development process.
Specific pluggins will be added to ease writing kernel drivers and user applications.
Despite one or two drawbacks (Java slowliness for example), Eclipse provides several advantages like the support of different languages, the good integration of GDB ...

Eclipse installation

  • Go to the Eclipse download page and select Eclipse IDE for C/C++ Developers (Linux version)
  • Install Eclipse to your Home directory:
$ cd $HOME

Assuming that the downloaded package is located on your desktop:

$ tar -xvzf Desktop/eclipse-cpp-europa-winter-linux-gtk.tar.gz

Eclipse start and configuration for the target

$eclipse/eclipse &

1. Select your workspace (where your projects will be saved)
2. Go to the workbench by clicking on "Workbench"
3. Create a new C Project with the name "helloworld" ->File ->New -> C project
4. Enter the project name here "helloworld" and click finish
5. Now the ARM compiler has to be chosen to build the code for the target. Right click on the project "helloworld" in the project explorer and select properties
6. In the C/C++ Build entry, select Settings then GCC C Compiler then insert the path of the ARM compiler in the field Command

/home/nicolas/armadeus/buildroot/build_arm/staging_dir/bin/arm-linux-gcc 

7. GCC options can be modified in the All options field
8. Now the ARM linker has to be chosen as well. GCC C Linker then insert the path of the ARM linker in the field Command

/home/nicolas/armadeus/buildroot/build_arm/staging_dir/bin/arm-linux-gcc

9. And finally the ARM assembler.GCC Assembler then insert the path of the ARM assembler in the field Command

/home/nicolas/armadeus/buildroot/build_arm/staging_dir/bin/arm-linux-as

10. The path for the include files has to be specified as well. Eclipse has, per default, the include path of the host. In the C/C++ General, select Paths and Symbols then GNU C in languages and add

/home/nicolas/armadeus/buildroot/toolchain_build_arm/uClibc-0.9.29/include

This will add the standard include files for the small helloworld example below. Depending on the application additional paths can be specified.

helloworld build

Once the project correctly configured, we will add a new C File to it.
1. add a source file to the project by right clicking on the "helloworld" project and selecting New -> Source File
2. Enter the name main.c and click finish
3. Write the code. See hello world example
4. Then build it by selecting "helloworld" in the Project Explorer and then Project-> Build Project
5. Take a look a the problems tab on the bottom of the Eclipse window to verify that the build was successfully done.

Debug helloworld on the target

Once the project successfully compiled and linked: 1. In the Eclipse IDE, right click on "helloworld" in the Project Navigator, then Debug As -> Open Debug Dialog
2. Select C/C++ Local Application and create a new launch configuration (first icon in the top menu)
3. This new configuration will be automatically named "helloworld Debug". Select the Debugger tab
4. Select gdbserver Debugger in the "debugger" drop down list
5. Now indicates where GDB is located (debugger option and GDB Debugger input):

/home/nicolas/armadeus/buildroot/build_arm/staging_dir/bin/arm-linux-gdb

6. Once done, the link between the GDB server (on the target) and the GDB client (on the host) has to be configured. In "Debugger Options", select the "Connection" tab then "TCP" for the type if you want to use the ethernet link
7. Indicates the target IP address for the gdb host server and then the port number: here 2345
8. Close and save the Debug configuration
9. Transfer the "helloworld binary" on the target by means of TFTP, SCP or what you want ( tftp -g -r [PATH]/helloworld HOST_IP_ADDRESS )
10. Start the program with GDB:

$gdbserver  HOST_IP_ADDRESS:2345 helloworld

11. GDB will launch your program and starts listen on port 2345 for a GDB target.
12. in Eclipse start the debug session Run-> Debug