In “Going to Mars: Building a DIY Eclipse IDE for ARM Embedded Microcontrollers” I described how to install an Eclipse based IDE for ARM, based on Eclipse Mars (4.5) and CTD (8.7). There are many great new features in Eclipse Mars which makes that switch worthwhile: the Launchbar:
A dream is are now a reality: a really, really easy way to build, run/debug an application!
Historically, launching (debugging or executing) a binary with Eclipse has been a pain: I need to open debug/launch configurations, it is hard to select the correct configuration, and so on. Until now, with Eclipse Mars and the Launchbar :-).
Installation
The Launchbar is not part of Mars C/C++. It needs to be installed from
http://download.eclipse.org/releases/mars/
Using Launchbar
The Launchbar has three buttons:
- Build the current project
- Launch the current project (debug or run)
- Stop the project launched
I can switch between running or debugging the project:
I can easily select the configuration I want to use or create a new configuration:
To view or edit a configuration I can use the toolbar icon:
Finally, I could create a new connection:
‘Local’ is maybe a bit misleading: it will use the local GDB/debug connection. But it would be possible to use e.g. SSH to a remote board/client/etc.
Summary
That plugin is a big step forward in Eclipse to make build-debug-stop very easy. Building and debugging is one click away, without messing with debug and launch configurations. Yet another excellent reason to use Eclipse Mars 🙂
Happy Launching 🙂
Links
- CDT Wiki page: https://wiki.eclipse.org/CDT/LaunchBar
- Doug Schaefer’s blog:cdtdoug.ca/2015/05/18/my-journey-to-mars-eclipse-mars/
I just went to download Eclipse Mars and found that there is now Eclipse Neon. Do you know anything about this one yet? For instance, is it stable, and can your instructions for Eclipse Mars be “generally” applied to the Neon edition?
Thanks. 🙂
LikeLike
Mars has been released in June 2015, and the next release is Neon which is expected mid 2016.
I have not tried Neon because it is not a release or stable release yet. But my instructions should apply to Neon too 🙂
LikeLike
Thank you. I can wait for Neon then. I did not know how often the releases came.
THANK YOU for all the help you have provided to many thousands of people worldwide with your blog over the years.
LikeLike
This might a stupid question but…
Does this work as a KDS substitute?
LikeLike
yes :-). I mean you can build with Eclipse MARS an better IDE than KDS (99% the same functionality, but bleeding edge tools).
LikeLike
thanks again for a great article.
you are on hackaday with this!
congratulations 🙂
LikeLike
Hi Peter,
thanks 🙂 ! I noticed a huge spike of traffic today 🙂 🙂
LikeLike
Thanks, always bringing the goodies 🙂
LikeLike
I don’t get a “Run” selection in the drop-down menu – just Debug. I think I have to set up a “Run configuration” to make that show up, but I don’t know how to set this up. Is there a way to just have it program the flash and not launch a debugger?
LikeLike
I have a ‘run’ in the drop-down, I had not to do anything special at all. But for programming the flash you always need some kind of debugger. What is wrong with using the debugger for it?
LikeLike
Nothing, but I don’t want it to hit any breakpoints, and would like to be able to close the IDE and not have it stop execution on the microcontroller.
LikeLike
Sure, you can do that, see https://mcuoneclipse.com/2014/10/04/emulating-eclipse-run-with-debug-configuration/
LikeLiked by 1 person
Thanks, Erich!
LikeLike
It took two tries, the first ended when I installed KSDK and close to the end Eclipse informed me the jar was corrupt. After removing KSDK, downloading a new copy and installing it I couldn’t get Eclipse to let me install it, it wanted to ‘fix’ something then would die.
Created new folder and started over with a successful install up to installing the MCUonEclipse components, everything installed all right but when I restarted eclipse it hung at “Loading org.eclipse.compare” I installed the latest (was using Java 7) version of java, no help. I can get it to run with: eclipse -clean -refresh — that is the only way it will run.
The first few lines of the .log:
!SESSION 2015-11-10 19:08:46.133 ———————————————–
eclipse.buildId=4.5.1.M20150904-0015
java.version=1.8.0_65
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.cpp.product -refresh
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.cpp.product -clean -refresh
!ENTRY org.eclipse.equinox.p2.publisher.eclipse 4 0 2015-11-10 19:08:57.149
!MESSAGE Unable to acquire PluginConverter service during generation for: C:MCUEclipseeclipsepluginsorg.eclipse.cdt.embsysregview.data_0.2.4.freescale.
There is a lot of those messages.
Desktop: Windows 10 X64
Thanks for upgrade to MARS!
LikeLike
here is my .log content, and I don’t have that many messages:
!SESSION 2015-11-11 08:21:56.201 ———————————————–
eclipse.buildId=4.5.0.I20150603-2000
java.version=1.8.0_60
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.cpp.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.cpp.product
!ENTRY org.eclipse.launchbar.core 2 0 2015-11-11 08:22:00.684
!MESSAGE Enablement expression is missing for config provider for org.eclipse.launchbar.core.descriptorType.default
!ENTRY org.eclipse.egit.ui 2 0 2015-11-11 08:22:09.984
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: ‘C:\Users\tastyger’. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.ui 2 0 2015-11-11 08:22:10.304
!MESSAGE The ‘org.eclipse.ui.startup’ extension from ‘com.freescale.processorexpert.compatibility’ does not provide a ‘class’ attribute.
This usage is deprecated and a ‘class’ attribute should be provided.
The release after Mars (4.5) will no longer support the deprecated usage!
!ENTRY org.eclipse.ui 2 0 2015-11-11 08:22:10.317
!MESSAGE The ‘org.eclipse.ui.startup’ extension from ‘com.freescale.processorexpert.core’ does not provide a ‘class’ attribute.
This usage is deprecated and a ‘class’ attribute should be provided.
The release after Mars (4.5) will no longer support the deprecated usage!
!ENTRY com.processorexpert.core.ide.wizard.ui 2 0 2015-11-11 08:22:11.476
!MESSAGE External elements location C:\Temp\MARS\MARS_64\eclipse\ProcessorExpert\BoardConfigurations/wizard_data does not exist
—————- end of .log ————————-
LikeLike
I increased the HEAP space and Eclipse loads now but I’ve found other issues:
java.lang.UnsatisfiedLinkError: C:MCUEclipseeclipsepluginscom.pemicro.core_1.1.43.201511061812pemicro_jloader.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform
~ this goes on so I snipped it short for this other error:
com.freescale.processorexpert.core: PExCore: Invalid ID of the project component (fsl_lptmr_hal).
LikeLike
Pingback: How to Add Undo/Redo Toolbar Buttons to Eclipse | MCU on Eclipse