Many embedded Linux vendors ship tools based on Eclipse, including [[TimeSys]], [[MontaVista]], [[Wind River Systems]] and [[LynuxWorks]]. [[Android]] uses Eclipse as it's main application development environment,

Many embedded Linux vendors ship tools based on Eclipse, including [[TimeSys]], [[MontaVista]], [[Wind River Systems]] and [[LynuxWorks]]. [[Android]] uses Eclipse as it's main application development environment,

−

and the [[Yocto Project]] also include Eclipse support.

+

and the [[Yocto Project]] also includes Eclipse support.

Eclipse started as an IDE for writing Java programs, but has been extended to support numerous other languages, and development activities.

Eclipse started as an IDE for writing Java programs, but has been extended to support numerous other languages, and development activities.

−

−

== Eclipse basics ==

== Eclipse basics ==

Line 14:

Line 12:

is really just a plugin framework.

is really just a plugin framework.

−

Eclipse is primarily geared to support Java development. On Fedora 12, the default eclipse install

+

Eclipse is primarily geared to support Java development. On Fedora 12, the default Eclipse installation

−

has support for writing java programs, but not C.

+

has support for writing Java programs, but not C. Support for developing in other languages, or in performing other development activities (e.g. launching other tools), is provided by plugins.

−

* JDT = Java Development tools - for Java development

+

−

* [http://www.eclipse.org/cdt/ CDT] = C/C++ Development tools - for C and C++ development

+

The following plugin project may be relevant for embedded Linux developers:

* OProfile: Selecting this tool causes the oprofile-server to be launched on the remote machine. The oprofile-viewer must be installed on the local host machine and the oprofile-server must be installed on the remote target, respectively, in order to use. You can locate both the viewer and server from http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/. You need to compile and install the oprofile-viewer from the source code on your local host machine. The oprofile-server is installed by default in the image.

+

+

* Lttng-ust: Selecting this tool runs "usttrace" on the remote target, transfers the output data back to the local host machine and uses "lttv-gui" to graphically display the output. The "lttv-gui" must be installed on the local host machine to use this tool. For information on how to use "lttng" to trace an application, see http://lttng.org/files/ust/manual/ust.html

+

+

* PowerTOP: Selecting this tool runs "PowerTOP" on the remote target machine and displays the results in a new view called "powertop".

+

+

* LatencyTOP and Perf: "LatencyTOP" identifies system latency, while "perf" monitors the system's performance counter registers. Selecting either of these tools causes an RSE terminal view to appear from which you can run the tools. Both tools refresh the entire screen to display results while they run.

=== Eclipse and Android ===

=== Eclipse and Android ===

Line 53:

Line 78:

** DDMS can also be run as a stand-alone application

** DDMS can also be run as a stand-alone application

*** This shows some system-wide information that the Eclipse version does not

*** This shows some system-wide information that the Eclipse version does not

+

+

==== Android development install process overview ====

+

* install JDK

+

* install eclipse

+

** install JDT (inside eclipse, using the "install software" option)

+

* install Android SDK

+

** install platforms and platform tools (using Android SDK manager)

+

* install ADT (using eclipse "install software" option)

+

** configure ADT with path to Android SDK

+

* can then create Android projects

+

** select platform (library and class) version

+

** can debug on target or on qemu

+

* can also run DDMS

+

** view more target-specific info

+

* can run Android SDK and AVD manager

+

** to create new AVDs or launch them, or to install/uninstall platforms (libraries and classes)

+

+

==== Android eclipse plugins ====

+

* Source code for the Eclipse plugins for Android is in: <aosp_root>/sdk/eclipse/plugins

* OProfile: Selecting this tool causes the oprofile-server to be launched on the remote machine. The oprofile-viewer must be installed on the local host machine and the oprofile-server must be installed on the remote target, respectively, in order to use. You can locate both the viewer and server from http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/. You need to compile and install the oprofile-viewer from the source code on your local host machine. The oprofile-server is installed by default in the image.

−

−

* Lttng-ust: Selecting this tool runs "usttrace" on the remote target, transfers the output data back to the local host machine and uses "lttv-gui" to graphically display the output. The "lttv-gui" must be installed on the local host machine to use this tool. For information on how to use "lttng" to trace an application, see http://lttng.org/files/ust/manual/ust.html

−

−

* PowerTOP: Selecting this tool runs "PowerTOP" on the remote target machine and displays the results in a new view called "powertop".

−

−

* LatencyTOP and Perf: "LatencyTOP" identifies system latency, while "perf" monitors the system's performance counter registers. Selecting either of these tools causes an RSE terminal view to appear from which you can run the tools. Both tools refresh the entire screen to display results while they run.

−

−

−

== Remote System Explorer ==

−

I downloaded RSE as part of the Yocto ADT, and found it easy to view files on a target that was running sshd.

−

Also, it was easy to configure and launch shells and "terminals". Shells allow you run individual commands,

Eclipse basics

Plugins/Projects

All real functionality in Eclipse is provided via plugins (themselves written Java). That is, Eclipse itself
is really just a plugin framework.

Eclipse is primarily geared to support Java development. On Fedora 12, the default Eclipse installation
has support for writing Java programs, but not C. Support for developing in other languages, or in performing other development activities (e.g. launching other tools), is provided by plugins.

The following plugin project may be relevant for embedded Linux developers:

JDT = Java Development tools - for Java development (usually included with a default Eclipse installation)

OProfile: Selecting this tool causes the oprofile-server to be launched on the remote machine. The oprofile-viewer must be installed on the local host machine and the oprofile-server must be installed on the remote target, respectively, in order to use. You can locate both the viewer and server from http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/. You need to compile and install the oprofile-viewer from the source code on your local host machine. The oprofile-server is installed by default in the image.

Lttng-ust: Selecting this tool runs "usttrace" on the remote target, transfers the output data back to the local host machine and uses "lttv-gui" to graphically display the output. The "lttv-gui" must be installed on the local host machine to use this tool. For information on how to use "lttng" to trace an application, see http://lttng.org/files/ust/manual/ust.html

PowerTOP: Selecting this tool runs "PowerTOP" on the remote target machine and displays the results in a new view called "powertop".

LatencyTOP and Perf: "LatencyTOP" identifies system latency, while "perf" monitors the system's performance counter registers. Selecting either of these tools causes an RSE terminal view to appear from which you can run the tools. Both tools refresh the entire screen to display results while they run.

Eclipse and Android

To develop programs for Android, a developer installs a Java development kit (JDK), Eclipse itself, and the Android Platform Tools, which is an SDK with class libraries and target management tools (like fastboot and adb). Finally, the developer installs the Android Development Tools (ADT), which has plugins and add-ons for Eclipse.

Android Development Tools

Android Development Tools is installed as a plugin to Eclipse (using eclipse software manager)