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
It should compile your file (if needed), copy it to the Beagle and start gdb on it. It will run up to main and wait for your input. Try the single step button (F6 step over, F5 step into)
 * 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-g"
 * In Debugger Options	Tab: Shared Libraries
 * Add... "~/oe/angstrom-dev/staging/armv7a-angstgrom-linux-gnueabi/lib"
 * Click:	Debug (bottom right)

Be sure to hit Terminal (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"