eclipsecon eu 2012 - buildroot eclipse bundle : a powerful ide for embedded linux developers
TRANSCRIPT
![Page 1: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/1.jpg)
Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux
developers
Mélanie Bats, Obeo
![Page 2: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/2.jpg)
Who Am I ?
![Page 3: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/3.jpg)
What is embedded Linux ?
Linux kernel
Open source components
Specific applications
![Page 4: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/4.jpg)
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
![Page 5: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/5.jpg)
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
![Page 6: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/6.jpg)
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
![Page 7: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/7.jpg)
Buildroot Demo
![Page 8: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/8.jpg)
Host (PC)
Buildroot
Buildroot generates
Target (ARM)Toolchain
DirectFB headers & lib
Openssh headers & lib
BusyBoxsource
DirectFB source
Opensshsource
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...
Kernelsource
Inpu
tsOutpu
ts
![Page 9: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/9.jpg)
Why Integrating Buildroot in Eclipse ?
System developers Application developers
![Page 10: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/10.jpg)
Why Integrating Buildroot in Eclipse ?
● Open source IDE for Application developers– Preconfigured with the cross compilation toolchain– Transfer / Execute remote application– Remote Debug
![Page 11: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/11.jpg)
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
![Page 12: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/12.jpg)
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
![Page 13: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/13.jpg)
Integration with CDT
● Missing dynamic extension points in CDT ?● scanner configuration discovery profile● launch configuration
![Page 14: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/14.jpg)
Integration with CDT
![Page 15: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/15.jpg)
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
![Page 16: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/16.jpg)
Buildroot Eclipse plugin demonstration
![Page 17: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/17.jpg)
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
![Page 18: EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded Linux developers](https://reader031.vdocuments.net/reader031/viewer/2022021503/58d0fa7a1a28abc00b8b5f45/html5/thumbnails/18.jpg)
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