Skip to content
tpetazzoni edited this page Jan 13, 2013 · 48 revisions

While a part of the embedded Linux developers like classical text editors like Vim or Emacs, and command-line based interfaces, a number of other embedded Linux developers like richer graphical interfaces to do their development work. Eclipse being one of the most popular Integrated Development Environment, Buildroot integrates with Eclipse in order to ease the development work of Eclipse users.

Our integration with Eclipse simplifies the compilation, remote execution and remote debugging of applications and libraries that are built on top of a Buildroot system. It does not integrate the Buildroot configuration and build processes themselves with Eclipse. Therefore, the typical usage model of our Eclipse integration would be:

  • Configure your Buildroot system with make menuconfig, make xconfig or any other configuration interface provided with Buildroot.
  • Build your Buildroot system by running make.
  • Start Eclipse to develop, execute and debug your own custom applications and libraries, that will rely on the libraries built and installed by Buildroot.

The tutorials below will guide you through the installation and usage of the Eclipse and Buildroot integration.

Tutorials

  1. How to activate and install the Buildroot Eclipse plugin ?

  2. How to create a new C project using the Buildroot toolchain ?

  3. How to link against libraries exposed by pkg config ? How to link against other kind of libraries ? (Coming soon)

  4. How to execute a remote application ?

  5. [How to debug a remote application ?] (https://github.com/mbats/eclipse-buildroot-bundle/wiki/Tutorial-:-How-to-debug-a-remote-application-%3F)

Video demonstration

Mélanie Bats has given a talk at EclipseCon Europe 2012 about the Eclipse Buildroot integration. The slides and video are available.

The video gives a demonstration on how to use Eclipse together with Buildroot. However note that at the time of the video, the pkg-config integration was not available, so we had to manually enter the compiler and linker flags to link the second demonstration application against the DirectFB library. Now the pkg-config integration is available, which makes this process a lot easier. See our tutorial about pkg-config integration.

Implemented features

  • Automatic discovery of available Buildroot toolchains
  • Integration with the managed build infrastructure of Eclipse. Managed build means that Eclipse is responsible for building your application or library, as opposed to using an external Makefile, the autotools or CMake.
  • Integration with the scanner configuration of Eclipse. This allows Eclipse to resolve the location of your headers.
  • Integration with the remote execution, remote debugging, remote terminal and remote system explorer Eclipse features. For now, the communication with the target takes place through SSH, SFTP and gdbserver.
  • Integration with pkg-config: Eclipse automatically uses the pkg-config binary generated by Buildroot, discovers the available library, and adds the necessary compiler and linker flags depending on the selected libraries.

Future work

  • Investigate the replacement of the SSH and SFTP communication by using the TCF infrastructure and tcf-agent on the target. This allows to replace the SSH/SFTP server by a more lightweight daemon on the target, and to provide automatic discovery of targets available on the network.
  • Investigate how to build applications that have a hand-written Makefile, use the autotools or CMake.
  • Investigate how to work with projects composed of multiple components (multiple applications and libraries)
  • Investigate the integration of RX-TX, a library that allows Eclipse to integrate a serial port terminal.
  • Investigate the integration of other Eclipse plugins for embedded Linux development: LTT-ng plugin, OProfile plugin, etc.
  • Your idea, please contact us for let us know what you think!

Support