Buildroot Eclipse Bundle : A
powerful IDE for Embedded Linux
developers
Mélanie Bats,
Obeo
Who Am I ?
What is embedded Linux ?
Linux kernel
Open source
components
Specific
applications
Demo hardware platform
●
Fairly typical ARM
evaluation platform
●
Many devices: Screen,
Network, SD card, USB ...
●
Used t...
Building an embedded Linux
system
Binary distributions Building tools
PTXdistOpenWRT
●
Automate system
reconstruction from...
What is Buildroot ?
●
Simple build system - http://buildroot.org :
– automate the cross compilation process
– generate ker...
Buildroot Demo
Host (PC)
Buildroot
Buildroot generates
Target (ARM)
Toolchain
DirectFB
headers & lib
Openssh
headers & lib
BusyBox
source...
Why Integrating Buildroot in
Eclipse ?
System developers Application developers
Why Integrating Buildroot in
Eclipse ?
●
Open source IDE for Application developers
– Preconfigured with the cross compila...
Buildroot toolchain Eclipse plugin
●
Integrate the toolchains to Eclipse CDT
– Read the toolchain description file (/home/...
Integration with CDT
●
Inspired by the Eclipse Blackfin plugin and the GNU ARM
Eclipse plugin
●
Use CDT extension point : ...
Integration with CDT
●
Missing dynamic extension points in CDT ?
●
scanner configuration discovery profile
●
launch config...
Integration with CDT
Buildroot Eclipse Update-site
●
Update-site integrating embedded Linux tools :
– Buildroot Toolchain Eclipse Plugin
– CDT
...
Buildroot Eclipse plugin
demonstration
Availability
●
Buildroot : http://buildroot.org
●
Buildroot Eclipse plugin sources (EPL licence):
– https://github.com/mba...
Future work
●
Create an Eclipse bundle with Tycho which will be
available on Buildroot website
●
Integrate :
– pkg-config
...
Questions ?
Contact :
melanie.bats@obeo.fr
Prochain SlideShare
Chargement dans…5
×

EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers

68 vues

Publié le

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.
Created a specialized Eclipse version bundling all the useful existing plug-ins for embedded Linux developers: Eclipse CDT, our specialized Buildroot plugin, the Autotools plugin, Linux Tools plugins, etc.
Through this talk, we would like to 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.

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers

  1. 1. Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers Mélanie Bats, Obeo
  2. 2. Who Am I ?
  3. 3. What is embedded Linux ? Linux kernel Open source components Specific applications
  4. 4. Demo hardware platform ● Fairly typical ARM evaluation platform ● Many devices: Screen, Network, SD card, USB ... ● Used to develop prototypes ● Reference to design specific board Atmel AT91SAM9G45 (ARMv5) processor
  5. 5. Building an embedded Linux system Binary distributions Building tools PTXdistOpenWRT ● Automate system reconstruction from source code ● Support many more CPU architectures ● High flexibility on components configuration ● Most used solution ● Heavyweight systems ● Not all CPU architectures supported ● Not flexible to choose the configuration for each components
  6. 6. What is Buildroot ? ● Simple build system - http://buildroot.org : – automate the cross compilation process – generate kernel images, file system and bootloader ● Developped by : – an open source community – vendor neutral – under GPLv2 ● Actively developped and used for many products ● Written in make language ● Choice of options in configuration interface
  7. 7. Buildroot Demo
  8. 8. Host (PC) Buildroot Buildroot generates Target (ARM) Toolchain DirectFB headers & lib Openssh headers & lib BusyBox source DirectFB source Openssh source Specific Library source Target File System Kernel Image Applications BusyBox DirectFB Openssh Specific Library Libc Pre compiled Toolchain gcc gdb binutils Libc gcc gdb binutils Libc Specific lib headers & lib Various host utilities : Pkg- config... Kernel source InputsOutputs
  9. 9. Why Integrating Buildroot in Eclipse ? System developers Application developers
  10. 10. Why Integrating Buildroot in Eclipse ? ● Open source IDE for Application developers – Preconfigured with the cross compilation toolchain – Transfer / Execute remote application – Remote Debug
  11. 11. Buildroot toolchain Eclipse plugin ● Integrate the toolchains to Eclipse CDT – Read the toolchain description file (/home/.buildroot- eclipse.toolchains) – Register dynamically the toolchains in CDT – Project toolchain selection: ● Set the C/C++ compiler path ● Integration with scanner information ● Remote Launch configuration ● Remote Debug configuration
  12. 12. Integration with CDT ● Inspired by the Eclipse Blackfin plugin and the GNU ARM Eclipse plugin ● Use CDT extension point : org.eclipse.cdt.managedbuilder.core.buildDefinitions – with a dynamicElementProvider and according to the Buildroot configuration file: ● declare toolchain ● projectType
  13. 13. Integration with CDT ● Missing dynamic extension points in CDT ? ● scanner configuration discovery profile ● launch configuration
  14. 14. Integration with CDT
  15. 15. Buildroot Eclipse Update-site ● Update-site integrating embedded Linux tools : – Buildroot Toolchain Eclipse Plugin – CDT – Linux tools – Autotools … ● Make a Ready-to-Use development platform for embedded Linux
  16. 16. Buildroot Eclipse plugin demonstration
  17. 17. Availability ● Buildroot : http://buildroot.org ● Buildroot Eclipse plugin sources (EPL licence): – https://github.com/mbats/eclipse-buildroot-toolchain-plugin – Also contains the Buildroot patch to add Eclipse toolchain generation menu ● Buildroot Eclipse bundle sources : https://github.com/mbats/eclipse-buildroot-bundle ● Buildroot Eclipse bundle update-site (based on Eclipse 3.8) : available soon
  18. 18. Future work ● Create an Eclipse bundle with Tycho which will be available on Buildroot website ● Integrate : – pkg-config – RX-TX – LTTNG – Other relevant Eclipse plugins for embedded Linux development ● Write documentation and make a video tutorial
  19. 19. Questions ? Contact : melanie.bats@obeo.fr

×