Release 1.0.0 of the Buildroot/Eclipse integration
Hello,
We are proud to announce today the first release of the Buildroot/Eclipse integration. This integration will make it easier for Eclipse users to develop, build, and debug applications in the context of embedded Linux systems generated with Buildroot.
This integration allows Eclipse to:
* Automatically discover the toolchain made available by each of the Buildroot project on your machine.
* Automatically build your application or library in Eclipse using the cross-compiler of a given Buildroot project. Eclipse also automatically recognizes all the cross-compiled libraries that are exposed through pkg-config, so that linking your application against one or several of those libraries is just a matter of selecting them in a list.
* Automatically copy your compiled application to the target and execute it, directly from Eclipse, with just one click on the "Run" button.
* Automatically start a remote debugging session, directly from Eclipse, with just one click on the "Debug" button.
* Explore the target filesystem from Eclipse, get access to a shell on the target (using SSH).
In order to help interested users, we are providing a detailed set of tutorials, with numerous screenshots at:
https://github.com/mbats/eclipse-buildroot-bundle/wiki
The first tutorial details the installation, which is very simple:
* Download and install Eclipse for C/C++ developers
* Enable an update site, hosted at
http://buildroot.org/downloads/eclipse/. It will automatically pull all the necessary Eclipse plugins to provide the features mentioned above.
A video of a conference given on this topic at EclipseCon Europe 2012 is also available at https://www.youtube.com/watch?v=CNl784ws8F0,
providing a demonstration of Eclipse usage in a Buildroot context. Note that a second presentation of this project will be done at EclipseCon US 2013 in March in Boston.
We are attaching to this e-mail two patches for Buildroot:
* The first patch is mandatory to make the Buildroot/Eclipse integration work. It registers the toolchain generated by each Buildroot project in a hidden file located in the user's home directory, which is then read by Eclipse to automatically find the available toolchains.
* The second patch updates the manual to mention the Eclipse/Buildroot integration, and a reference to the site for more details.
We are very interested in receiving feedback from users, either concerning bugs in the existing features, or suggestion of new features. The Wiki of the project already mentions a number of features that we would like to work on in the future, but having feedback would definitely be appreciated.
All the Eclipse development and integration work has been done by M?lanie Bats <[email protected]>.
Best regards,
M?lanie and Thomas
PATCH 1/2 Integration with Buildroot Toolchain Eclipse plugin
The Eclipse plugin at
https://github.com/mbats/eclipse-buildroot-toolchain-plugin allows users of Eclipse to easily use the toolchain available in Buildroot. To do so, this plugin reads ~/.buildroot-eclipse.toolchains, which contains the list of Buildroot toolchains available on the system, and then offer those toolchains to compile Eclipse projects.
In order to interface with this plugin, this commit adds an option that allows the user to tell whether (s)he wants the Buildroot project toolchain to be visible under this Eclipse plugin. It simply adds a line in this ~/.buildroot-eclipse.toolchains file.
--- Makefile | 7 +++++++ support/scripts/eclipse-register-toolchain | 28 ++++++++++++++++++++++++++++ toolchain/toolchain-common.in | 7 +++++++ 3 files changed, 42 insertions(+) create mode 100755 support/scripts/eclipse-register-toolchain
Makefile +7 -0
@@ -336,6 +336,10 @@ TARGETS+=target-generatelocales endif endif +ifeq ($(BR2_ECLIPSE_REGISTER),y) +TARGETS+=toolchain-eclipse-register +endif + include fs/common.mk TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
@@ -531,6 +535,9 @@ target-generatelocales: host-localedef done endif +toolchain-eclipse-register: + ./support/scripts/eclipse-register-toolchain `readlink -f $(O)` $(notdir $(TARGET_CROSS)) $(BR2_ARCH) + source: dirs $(TARGETS_SOURCE) $(HOST_SOURCE) external-deps:
support/scripts/eclipse-register-toolchain new file +28 -0
@@ -0,0 +1,28 @@ +#!/bin/sh + +project_directory=$1 +toolchain_prefix=$2 +architecture=$3 + +TOOLCHAIN_ECLIPSE_FILE=${HOME}/.buildroot-eclipse.toolchains + +if test -f ${TOOLCHAIN_ECLIPSE_FILE} ; then + mv ${TOOLCHAIN_ECLIPSE_FILE} ${TOOLCHAIN_ECLIPSE_FILE}.tmp + cat ${TOOLCHAIN_ECLIPSE_FILE}.tmp | while read toolchain ; do + path=$(echo ${toolchain} | cut -f1 -d ':') + # Filter lines corresponding to still existing projects + echo "Testing ${path} ..." + if ! test -d ${path} ; then + continue + fi + # .. and the current project + if test ${path} = ${project_directory} ; then + continue + fi + echo ${toolchain} >> ${TOOLCHAIN_ECLIPSE_FILE} + done + rm ${TOOLCHAIN_ECLIPSE_FILE}.tmp +fi + +# Add the toolchain +echo "${project_directory}:${toolchain_prefix}:${architecture}" >> ${TOOLCHAIN_ECLIPSE_FILE}
toolchain/toolchain-common.in +7 -0
@@ -131,3 +131,10 @@ config BR2_TARGET_LDFLAGS string "Target linker options" help Extra options to pass to the linker when building for the target. + +config BR2_ECLIPSE_REGISTER + bool "Register toolchain within Eclipse Buildroot plug-in" + help + This options tells Buildroot to generate the necessary + configuration files to make your toolchain appear within + Eclipse, through the Eclipse Buildroot plugin.
Signature · 1 line
1.7.9.5
PATCH 1/2 Integration with Buildroot Toolchain Eclipse plugin
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> The Eclipse plugin at
Thomas> https://github.com/mbats/eclipse-buildroot-toolchain-plugin allows Thomas> users of Eclipse to easily use the toolchain available in Thomas> Buildroot. To do so, this plugin reads
Thomas> ~/.buildroot-eclipse.toolchains, which contains the list of Buildroot Thomas> toolchains available on the system, and then offer those toolchains to Thomas> compile Eclipse projects.
Thomas> In order to interface with this plugin, this commit adds an option Thomas> that allows the user to tell whether (s)he wants the Buildroot project Thomas> toolchain to be visible under this Eclipse plugin. It simply adds a Thomas> line in this ~/.buildroot-eclipse.toolchains file.
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>
Thomas> +++ b/support/scripts/eclipse-register-toolchain Thomas> @@ -0,0 +1,28 @@
Thomas> +#!/bin/sh
Thomas> +
Thomas> +project_directory=$1
Thomas> +toolchain_prefix=$2
Thomas> +architecture=$3
Committed, thanks. I know this is an internal script, but a bit of documentation / argument checking could have been good.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 docs/manual: mention the Eclipse integration
In reply to Thomas Petazzoni--- docs/manual/eclipse-integration.txt | 30 ++++++++++++++++++++++++++++++ docs/manual/working-with.txt | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 docs/manual/eclipse-integration.txt
docs/manual/eclipse-integration.txt new file +30 -0
@@ -0,0 +1,30 @@ +// -*- mode:doc; -*- + +Integration with Eclipse +------------------------ + +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 Buildroot Eclipse integration installation process and usage is +described in detail at +https://github.com/mbats/eclipse-buildroot-bundle/wiki.
docs/manual/working-with.txt +2 -0
@@ -14,6 +14,8 @@ include::customize.txt[] include::common-usage.txt[] +include::eclipse-integration.txt[] + Hacking Buildroot -----------------
Signature · 1 line
1.7.9.5
PATCH 2/2 docs/manual: mention the Eclipse integration
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
2013/1/13 Thomas Petazzoni <[email protected]>:
Quoted 66 lines
Hello,
We are proud to announce today the first release of the Buildroot/Eclipse integration. This integration will make it easier for Eclipse users to develop, build, and debug applications in the context of embedded Linux systems generated with Buildroot.
This integration allows Eclipse to:
* Automatically discover the toolchain made available by each of the Buildroot project on your machine.
* Automatically build your application or library in Eclipse using the cross-compiler of a given Buildroot project. Eclipse also automatically recognizes all the cross-compiled libraries that are exposed through pkg-config, so that linking your application against one or several of those libraries is just a matter of selecting them in a list.
* Automatically copy your compiled application to the target and execute it, directly from Eclipse, with just one click on the "Run" button.
* Automatically start a remote debugging session, directly from Eclipse, with just one click on the "Debug" button.
* Explore the target filesystem from Eclipse, get access to a shell on the target (using SSH).
In order to help interested users, we are providing a detailed set of tutorials, with numerous screenshots at:
https://github.com/mbats/eclipse-buildroot-bundle/wiki
The first tutorial details the installation, which is very simple:
* Download and install Eclipse for C/C++ developers
* Enable an update site, hosted at
http://buildroot.org/downloads/eclipse/. It will automatically pull all the necessary Eclipse plugins to provide the features mentioned above.A video of a conference given on this topic at EclipseCon Europe 2012 is also available at https://www.youtube.com/watch?v=CNl784ws8F0,
providing a demonstration of Eclipse usage in a Buildroot context. Note that a second presentation of this project will be done at EclipseCon US 2013 in March in Boston.We are attaching to this e-mail two patches for Buildroot:
* The first patch is mandatory to make the Buildroot/Eclipse integration work. It registers the toolchain generated by each Buildroot project in a hidden file located in the user's home directory, which is then read by Eclipse to automatically find the available toolchains.
* The second patch updates the manual to mention the Eclipse/Buildroot integration, and a reference to the site for more details.
We are very interested in receiving feedback from users, either concerning bugs in the existing features, or suggestion of new features. The Wiki of the project already mentions a number of features that we would like to work on in the future, but having feedback would definitely be appreciated.
Quoted 7 lines
All the Eclipse development and integration work has been done by M?lanie Bats <[email protected]>.
Best regards,
M?lanie and Thomas
Do the patches miss ?
Quoted 4 lines
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Dear Willy Lambert,
Quoted 1 line · Willy Lambert
Do the patches miss ?
Hum, not sure to understand. The two patches were sent as a reply to the introduction e-mail announcing the Buildroot/Eclipse integration release, like for all patch series.
See:
http://lists.busybox.net/pipermail/buildroot/2013-January/065340.html
http://lists.busybox.net/pipermail/buildroot/2013-January/065341.html
Best regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
Let me just say that this is just awesome....
I am not an eclipse user myself, but we regularly have request for providing a BSP based on buildroot and a compatible developement environement. This plugin is going to make things way more easier for us...
keep up the great work
Regards
J?r?my Rosen
fight key loggers : write some perl using vim
----- Mail original -----
Quoted 81 lines
Hello,
We are proud to announce today the first release of the Buildroot/Eclipse integration. This integration will make it easier for Eclipse users to develop, build, and debug applications in the context of embedded Linux systems generated with Buildroot.
This integration allows Eclipse to:
* Automatically discover the toolchain made available by each of the Buildroot project on your machine.
* Automatically build your application or library in Eclipse using the cross-compiler of a given Buildroot project. Eclipse also automatically recognizes all the cross-compiled libraries that are exposed through pkg-config, so that linking your application against one or several of those libraries is just a matter of selecting them in a list.
* Automatically copy your compiled application to the target and execute it, directly from Eclipse, with just one click on the "Run"
button.* Automatically start a remote debugging session, directly from Eclipse, with just one click on the "Debug" button.
* Explore the target filesystem from Eclipse, get access to a shell on the target (using SSH).
In order to help interested users, we are providing a detailed set of tutorials, with numerous screenshots at:
https://github.com/mbats/eclipse-buildroot-bundle/wiki
The first tutorial details the installation, which is very simple:
* Download and install Eclipse for C/C++ developers
* Enable an update site, hosted at
http://buildroot.org/downloads/eclipse/. It will automatically pull
all the necessary Eclipse plugins to provide the features mentioned
above.A video of a conference given on this topic at EclipseCon Europe 2012 is also available at https://www.youtube.com/watch?v=CNl784ws8F0,
providing a demonstration of Eclipse usage in a Buildroot context. Note that a second presentation of this project will be done at EclipseCon US 2013 in March in Boston.We are attaching to this e-mail two patches for Buildroot:
* The first patch is mandatory to make the Buildroot/Eclipse integration work. It registers the toolchain generated by each Buildroot project in a hidden file located in the user's home directory, which is then read by Eclipse to automatically find the available toolchains.
* The second patch updates the manual to mention the Eclipse/Buildroot integration, and a reference to the site for more
details.We are very interested in receiving feedback from users, either concerning bugs in the existing features, or suggestion of new features. The Wiki of the project already mentions a number of features that we would like to work on in the future, but having feedback would definitely be appreciated.
All the Eclipse development and integration work has been done by M?lanie Bats <[email protected]>.
Best regards,
M?lanie and Thomas
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Dear Jeremy Rosen,
Quoted 6 lines · Jeremy Rosen
Let me just say that this is just awesome....
I am not an eclipse user myself, but we regularly have request for providing a BSP based on buildroot and a compatible developement environement. This plugin is going to make things way more easier for us...
keep up the great work
Thanks for the kind words. At this point, it is really a first release, and there are certainly many improvements to be made to make it more useful. However, to achieve this, we really need some feedback from potential users. The best would be users who are used to do embedded development with IDEs, so that they can compare with what they are used to have, and we can see how to improve this integration to fill the missing gaps if any.
Thanks!
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
I'll keep that in mind when I do some testing of the plugins...
I'm not doing buildroot work right now but it comes back often enough that you can expect feedback from me at some point...
Cordialement
J?r?my Rosen
fight key loggers : write some perl using vim
----- Mail original -----
Quoted 32 lines
Dear Jeremy Rosen,
Quoted 8 lines · Jeremy Rosen
Let me just say that this is just awesome....
I am not an eclipse user myself, but we regularly have request for providing a BSP based on buildroot and a compatible developement environement. This plugin is going to make things way more easier for us...
keep up the great work
Thanks for the kind words. At this point, it is really a first release,
and there are certainly many improvements to be made to make it more useful. However, to achieve this, we really need some feedback from potential users. The best would be users who are used to do embedded development with IDEs, so that they can compare with what they are used
to have, and we can see how to improve this integration to fill the missing gaps if any.Thanks!
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
Quoted 18 lines
-----Original Message-----
From: buildroot-bounces at busybox.net [mailto:buildroot-bounces at busybox.net] On Behalf Of Thomas Petazzoni
Sent: 13 January 2013 14:52Hello,
We are proud to announce today the first release of the Buildroot/Eclipse integration. This integration will make it easier for Eclipse users to develop, build, and debug applications in the context of embedded Linux systems generated with Buildroot.
This integration allows Eclipse to:
* Automatically discover the toolchain made available by each of the Buildroot project on your machine.
Quoted 6 lines
* Automatically build your application or library in Eclipse using the cross-compiler of a given Buildroot project. Eclipse also automatically recognizes all the cross-compiled libraries that are exposed through pkg-config, so that linking your application against one or several of those libraries is just a matter of selecting them in a list.
So far so good, I have eclipse integration working up to this point, this saves a lot of messing about that was previously required to configure a project to pick up the cross tools and libraries - thanks!
The only thing I have noticed so far: there is a slight feature around the pkg-config automatic inclusion of libraries. If I select then unselect a library in the project properties "Pkg-config" tab in eclipse, then look at the "Tool Settings", "Libraries" I find that the library is still in the list. Actually there are multiple inclusions of the same library in the libraries list. Then when I do a build, the linker command line has e.g. "... -luuid -lz -luuid -lz ..." on it. It doesn't stop it working but it is untidy ... and when I have deselected the library I don't think I should find the linker still linking against it.
I hope to explore more later ...
Quoted 59 lines
* Automatically copy your compiled application to the target and execute it, directly from Eclipse, with just one click on the "Run" button.
* Automatically start a remote debugging session, directly from Eclipse, with just one click on the "Debug" button.
* Explore the target filesystem from Eclipse, get access to a shell on the target (using SSH).
In order to help interested users, we are providing a detailed set of tutorials, with numerous screenshots at:
https://github.com/mbats/eclipse-buildroot-bundle/wiki
The first tutorial details the installation, which is very simple:
* Download and install Eclipse for C/C++ developers
* Enable an update site, hosted at
http://buildroot.org/downloads/eclipse/. It will automatically pull all the necessary Eclipse plugins to provide the features mentioned above.A video of a conference given on this topic at EclipseCon Europe 2012 is also available at https://www.youtube.com/watch?v=CNl784ws8F0,
providing a demonstration of Eclipse usage in a Buildroot context. Note that a second presentation of this project will be done at EclipseCon US 2013 in March in Boston.We are attaching to this e-mail two patches for Buildroot:
* The first patch is mandatory to make the Buildroot/Eclipse integration work. It registers the toolchain generated by each Buildroot project in a hidden file located in the user's home directory, which is then read by Eclipse to automatically find the available toolchains.
* The second patch updates the manual to mention the Eclipse/Buildroot integration, and a reference to the site for more details.
We are very interested in receiving feedback from users, either concerning bugs in the existing features, or suggestion of new features. The Wiki of the project already mentions a number of features that we would like to work on in the future, but having feedback would definitely be appreciated.
All the Eclipse development and integration work has been done by M?lanie Bats <[email protected]>.
Best regards,
M?lanie and Thomas
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Dear Will Moore,
Quoted 3 lines · Will Moore
So far so good, I have eclipse integration working up to this point, this saves a lot of messing about that was previously required to configure a project to pick up the cross tools and libraries - thanks!
Thanks a lot for your feedback, really appreciated!
Quoted 9 lines
The only thing I have noticed so far: there is a slight feature around the pkg-config automatic inclusion of libraries. If I select then unselect a library in the project properties "Pkg-config" tab in eclipse, then look at the "Tool Settings", "Libraries" I find that the library is still in the list. Actually there are multiple inclusions of the same library in the libraries list. Then when I do a build, the linker command line has e.g. "... -luuid -lz -luuid -lz ..." on it. It doesn't stop it working but it is untidy ... and when I have deselected the library I don't think I should find the linker still linking against it.
Yes, we also noticed this problem and we intend to work on fixing it.
It's worth noting that we will soon be releasing a new version of the Eclipse integration, which includes support for Autotools projects and Makefile-based projects.
Also, this work will be presented next week at EclipseCon US in Boston, see
http://www.eclipsecon.org/2013/sessions/buildroot-eclipse-bundle-powerful-ide-embedded-linux-developers.
Best regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com