Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers
Buildroot is a tool designed by embedded Linux developers to build embedded Linux systems using cross-compilation. It allows to build a cross-compilation toolchain (or re-use an existing one), a root filesystem image with applications and libraries, a kernel image and a bootloader image or any combination of these. Buildroot is typically used to create the embedded Linux systems of industrial systems based on the ARM, PowerPC or x86 architectures, by integrating multiple existing open-source components (kernel, base components, graphical libraries, networking applications, etc.) and in-house components specific to the embedded system.
Many of the early embedded Linux developers are used to work with text editors such as Emacs or Vi. However, in the recent years, the major expansion of the embedded Linux platform has attracted many more developers that are more familiar with feature-full, integrated, and user-friendly development environments. To fulfill this need, Eclipse provides an excellent platform, especially with extensions such as CDT, the Autotools plugin, the multiple plugins from the Linux tools project, the Target Communication Framework, and more.
As many embedded Linux developers use Buildroot to build their system, it sounded natural to provide an easy-to-use integration with Eclipse. To achieve that, we:
- Developed an Eclipse plugin that automatically registers the available Buildroot toolchains into Eclipse CDT. This allows application developers to transparently build their application, and then execute it and debug it on the embedded target platform directly within Eclipse.
- Improved the pkg-config plugin for a better integration with different toolchains.
- Created a specialized Eclipse version bundling all the useful existing plug-ins for embedded Linux developers: Eclipse CDT, our specialized Buildroot plugin, the latest remote debugging mechanisms, the Autotools plugin, Linux Tools plugins, etc.
At Eclipse Con Europe, we presented a first initial version of those developments, with basic support for compilation, remote execution and debugging. Through this new talk, we would like to present the improvements that have been brought to the project: integration with pkg-config, improvements of the remote debugging mechanisms, integration with the Autotools plugin and the LTT-ng plugins. We will demonstrate how Eclipse has been extended to match the needs of embedded Linux developers, and we will perform a live demonstration of these capabilities using an ARM development platform for which Eclipse will help build, execute and debug applications.