ECE497 Notes on Installing the Eclipse IDE

= Work in Progress =

Eclipse is an open source Integrated Development Environment that's enjoying broad use.

Here's how to run gdb on Beagle via Eclipse

Installing on Host
Install Eclipse and the gdb tools $ cd ~/oe $ sudo apt-get install eclipse $ source source-me.txt $ bitbake gbd-cross

Install Remote System Tools

 * Start Eclipse
 * Click:	OK
 * Go to Help:Install New Software...
 * Enter:	http://download.eclipse.org/releases/galileo in "type or select a site"
 * Click: Add
 * Enter: Galileo in the Name field
 * Click: OK and wait while it fetches from the site.
 * Expand:	Mobile and Device Development
 * Check:	Eclipse C/C++ DSF gdb Debugger
 * Check:	Eclipse C/C++ Remote Launch
 * Check:	Remote System Explorer End-User Runtime
 * Check:	Remote System Explorer User Actions
 * Expand:	Programming Languages
 * Check:	Eclipse C/C++ Development Tools
 * Click:	Next >
 * Verify the list and Click Next >
 * Accept the license and Click:	Finish
 * Click:	"Yes" to restart Eclipse
 * Click:	"Yes" to use same workspace

Finding the Beagle's IP address
$ ifconfig eth0 Note the IP address 137.112.41.76	Beagle (Use your IP address) $ ping Beagle If you don't get an answer something is messed up. Get help. On the host connect to the Beagle and create a workspace $ ssh Beagle $ mkdir -p workspace/HelloWorld/Debug
 * On the BeagleBoard run
 * On the host edit  and add:
 * Exit the editor and try:

Creating a New Project and Setting up for Remote Debugging
Now back to the Eclipse


 * Click:       File:New:C Project
 * Name the project HelloWorld
 * Click: Finish
 * Click:	Project:Properties
 * Expand:	C/C++ Build
 * Select:	Settings
 * Tab:	Tool Settings
 * Select:	GCC C Compiler
 * Replace "gcc" in "Command:" with "~/oe/angstrom-dev/cross/armv7a/bin/arm-angstrom-linux-gnueabi-gcc"
 * Click:	Directories (below GCC C Compiler
 * Click [[File:Eclipse - Add.png]] (Add...) button and insert "/home/yoder/oe/angstrom-dev/staging/armv7a-angstrom-linux-gnueabi/user/include" (Replace yoder with your path name.)
 * Click:	GCC C Linker (below Directories)
 * Replace "gcc" in "Command:" with "~/oe/angstrom-dev/cross/armv7a/bin/arm-angstrom-linux-gnueabi-gcc"
 * Click:	Libraries
 * Click:	Add... to Library search path (-L) (the bottom one) insert "~/oe/angstrom-dev/staging/armv7a-angstrom-linux-gnueabi/lib"
 * Click OK to close Properties for HelloWorld window

Creating and Compiling a New C File

 * Copy the HelloWorld file that we have been using into ~/workspace/HellowWorld.
 * Click File:Refresh. You file should appear in the project.
 * Hit Ctrl-B to build, or click the little hammer [[File:Eclipse_-_Build_Button.png]].

Running Your Program

 * Menu:	Run:Debug Configurations...
 * Double-Click C/C++ Remote Applcation to create a new configuration
 * Name it BeagleBoard
 * Project:	Click Browse and select HelloWorld
 * C/C++ Application: Click Search Project and select HelloWorld
 * Remote Absolute File Path... Click:	Browse...
 * Connection: Click New...
 * Select:	SSH Only and Click Next >
 * Host name:	Beagle
 * Click:	Finish
 * "Select Remote C/C++" will appear. Connection:  Beagle
 * Expand:	My Home, workspace, HelloWorld, Debug
 * Click:	OK
 * In the Properties window select Connection: Beagle
 * Click:	Apply
 * Tab:	Debugger
 * GDB debugger: Click: Browse and look for "~/oe/tmp/cross/armv7a/bin/arm-angstrom-linux/gnueabi-gdb"
 * In Debugger Options	Tab: Shared Libraries
 * Add... "~/oe/angstrom-dev/staging/armv7a-angstgrom-linux-gnueabi/lib"
 * Click:	Debug (bottom right)

It should compile your file (if needed), copy it to the Beagle and start gdb on it. However I haven't been able to make it work.

Fix: The first time you try to select the Remote Absolute File Path for C/C++ Application you haven't uploaded the binary file to the Beagle. Hence you cannot select it via the dialogue. Once you clicked the "Debug" button you can re-open the dialogue and select the binary or you can manually complete the line to "/home/MyUsername/workspace/HelloWorld/Debug/HelloWorld".

Back when I had this working, it will run up to  and wait for your input. Try the single step button (F6 step over, F5 step into)

Be sure to hit Terminate (Ctrl-F2) when done.

Add a for loop and watch the index variable change!

Other
This is taken from: http://www.ibm.com/developerworks/opensource/library/os-eclipse-stlcdt/index.html

You might be able to do this via apt-get install. I used the add/remove program app in Red Hat and selected Fedora Eclipse. It appears to load lots of things. This load version 3.4.1

In Ubuntu go to Applications: Add/Remove Select Show: All available applications Search: eclipse Check: Eclipse Click: Apply Changes Wait for some 113 files to download (15 minutes on a fast connection) With this install you need to load a few more things. Go to Help:Software Updates:Find and Install... Select: Search for new features to install Select: Callisto Discovery Site Click:	 Finish (wait a moment) Select a site near you (wait a moment) Expand: Callisto Discovery Site Select: C and C++ Development Next, Accept, Next, Finish (wait)

This loads version 3.2.2

Select: Help:Software Updates Tab: Available Software Expand: Ganymede Update Site Check: C and C++ Development Click: Install Expand:	Remote Access and Device Developement Check:	Remote System Explorer C/C++ Remote Debugger Launcher Check:	Remote System Explorer End-User Runtime Click:	Install Click:	Next Click:	I accept... Click:	Finish
 * 1) Install the c/c++ stuff

I did see the Canymede Update Site on Fedora, so I Select:	Help:Software Updates Tab:	Available Software Click:	Add Site Location: http://download.eclipse.org/releases/ganymede Click:	OK The Available Software list should update nad "Ganymede Update Site" should appear. The follow the instructions above.
 * 1) Fedora #####



Start Eclipse Select:	File:New:Project... Expand:	C Select:	C Project Click:	Next Project Name: HelloWorld (no spaces) Select:	Hello World ANSI C Project Click:	Next Fill in to suit, Click: Next Click:	Finish Tab:	C/C++ Projects Expand:	HelloWorld Expand:	src Expand:	HelloWorld.c Double-Click:	main(void) The file will open in a window

This will create an executable that runs on the Ubuntu Linux (guest) platform.

Here's how to run it remotely on the Beagle. This is from: http://www.nabble.com/Solution:-Using-Eclipse-CDT-for-Gusmtix-development-td18251552.html Here's what I did differently: 4) Project Properties/Settings * On "GCC C++ Compiler" change "Command" to "~/gumstix/gumstix-oe/tmp/cross/bin/arm-angstrom-linux-gnueabi-g++" (dbg_03.png)  * On "GCC C++ Compiler/Directories" add "~/gumstix/gumstix-oe/tmp/staging/arm-angstrom-linux-gnueabi/include" to "Includes paths (-I)"
 * 1) Beagle Execution

I used: tmp/staging/arm-angstrom-linux-gnueabi/usr/include

* On "GCC C++ Compiler/Miscellaneous" add "-c -march=armv5te -mtune=xscale -Wa,-mcpu=xscale" to "Other flags"

I didn't change this since the gcc should have all this set.

5) On "Run/Debug Configurations" add "C++ Remote Application" * On "Main" tab

This is in Run:Debug Configurations

In eclipse, Select:	Window:Open Perspective:C/C++ Click on the HelloWorld project to select it Select:	Project:Properties Expand:	C/C++ Build Select:	Discovery Options

Starting point: http://www.nabble.com/Solution:-Using-Eclipse-CDT-for-Gusmtix-development-td18251552.html

On the Beagle: opkg install openssh openssh-sftp openssh-server opkg install gdbserver

In Eclipse File:New Project Select General:Project I used project name "Remove gdb"