It has been a while since I published my ‘build my own DIY IDE’ (see “DIY Free Toolchain for Kinetis: Part 1 – GNU ARM Build Tools“). I have used that approaches in my classes successfully. Now a new semester is coming up, so time to update the instructions using the latest Eclipse IDE (Mars) and tools (GCC ARM Embedded (launchpad) with GNU ARM Eclipse).
Outline
UPDATE: after writing that post, a few things have been changed.
The goal is to build a custom Eclipse IDE and toolchain which can be used to create/build/debug ARM Cortex M based devices. Compared to vendor provided tools like Freescale’s Kinetis Design Studio or NXP’s LPCXpresso it requires to download and install several packages. It only takes about 30 minutes to get it done, but at the end I have something which can be used as IDE for multiple vendors.
For the ones of you using the Freescale Kinetis Design Studio (KDS v3.0.0), it gives the following advantages:
- 64bit IDE. KDS uses 32bit Eclipse, I can use the 64bit Eclipse version which has better performance.
- Eclipse Mars (4.5) with new features. KDS v3.0.0 uses Luna (4.4).
- Eclipse CDT 8.7 with new multicore features. KDS v3.0.0 uses CDT 8.6
- GNU ARM Eclipse with better tool integration: I can use the latest GNU ARM Eclipse plugins.
I’m going to build my toolchain with the following parts:
- IDE: Eclipse IDE and C/C++ CDT tools from http://www.eclipse.org
- GNU ARM Plugins: GNU ARM Eclipse plugins from https://sourceforge.net/projects/gnuarmeclipse/
- Build tools: GCC ARM Embedded (launchpad) from https://launchpad.net/gcc-arm-embedded and
- Debugging: Segger J-Link and/or P&E Multilink
- Freescale only: Freescale New Project Wizard, Processor Expert and Kinetis SDK.
1. Eclipse IDE
Go to http://www.eclipse.org and download ‘Eclipse IDE for C/C++ Developers’ for your operating system. At the time of this article, the latest release is ‘Mars’
Download the archive and extract it. E.g. on Windows you could put the files into a folder like
c:\tools\IDE
💡 For Windows there are 32bit and 64bit versions. Initially I had issues to start the 64bit version my my 64bit Windows 7 because of the Java version installed by IT on my machine. The 32bit version worked fine. After IT updated the Java on my machine, the 64bit version was working properly too.
Then launch the eclipse executable (e.g. in c:\tools\IDE\eclipse) inside the eclipse folder.
With this, we have the most of the IDE and for C/C++ development. What is missing in the default download is the ability to use GDB for debugging. To use Eclipse for GDB debugging, I have to install that support from this update site
http://download.eclipse.org/tools/cdt/releases/8.7
I use the menu Help > Install New Software and point to that site. From there, I select ‘C/C++ GDB Hardware Debugging’ and install it:
💡 For all Eclipse updates, I recommend to disable ‘Contact all update sites during install to find required software”, see “Workaround for “Installing Software has encountered a problem” in Eclipse“.
💡 If you want to download the CDT package for offline installation or to store it for later re-installation, you can download it from here: https://www.eclipse.org/cdt/downloads.php
2. GNU ARM Eclipse Plugins
In order to use a toolchain and the debugger with nice settings panels, I need to install more plugins. The best plugins to my knowledge for GNU ARM development are the ‘GNU ARM Eclipse’ open source plugins by Liviu.
In Eclipse use the menu Help > Install New Software and point to the following update site:
http://gnuarmeclipse.sourceforge.net/updates
and install the plugins from there.
💡 If you want to download the plugins for off-line installation or later re-installation, you can download them from here: https://sourceforge.net/projects/gnuarmeclipse
3. GCC ARM Embedded Tool Chain
Go to https://launchpad.net/gcc-arm-embedded and download the toolchain (at the time of this writing it is 4.9-2015-q2). If you download the archive/zip, you simply can unpack the files somewhere, e.g. inside your IDE (c:\tools\IDE) folder.
💡 At this time, ARM/launchpad only offers 32bit binaries of the GNU tools for Windows.
Otherwise run the setup which installs the tool chain on Windows (32bit path below) in
C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q2
Now we compiler/assembler/linker and libraries, but we need other tools like make. I get them from here: https://sourceforge.net/projects/gnuarmeclipse/files/Build%20Tools/ and run the setup. You can use the default path:
💡 There are 32bit and 64bit installers/files for Windows. My screenshots below show the 32bit version, as I missed the fact that there is a 64bit version available too.
Inside Eclipse (menu Window > Preferences), using the GNU ARM Eclipse plugins I can point my workspace setting to the build tools and toolchain folder:
4. Debugging with Segger and/or P&E
So far I have pretty much everything to build/debug projects for ARM. What is missing is debugging support.
Segger J-Link
To install support for Segger, go to the download page at https://www.segger.com/jlink-software.html and download the setup/package and run the installation process. You can go with the default installation path:
In Eclipse, make sure that you point to that installation location (menu Window > Preferences):
P&E Support
To install support for the P&E Multilinks, point Eclipse (Help > Install New Software) to the following update site:
http://www.pemicro.com/eclipse/updates
💡 If I need to store a snapshot of the P&E update site, then I can use the approach described in “Replicating an Eclipse Update Site for Offline Usage“.
After installation I have now support added for the P&E debug devices, including support for OpenSDA.
5. Kinetis New Project Wizard, Processor Expert and Kinetis SDK
This part only applies if using Freescale Kinetis devices. To install the Kinetis New Project Wizard and Processor Expert, I go to NXP.com and download the Processor Expert for Kinetis plugin package (registration required):
That package contains several files:
Unpack them and install first the ‘freescale_updater.zip’ with Help > Install New Software:
Then do the same using PEx_for_Kinetis_3.0.0.zip:
UPDATE:
There is an Update for Processor Expert V3.0.1 available which needs to be installed BEFORE installing the Kinetis SDK. You can use the following update site:
http://nxp.com/lgfiles/updates/Eclipse/KDS
The screenshot beow shows it on my system already installed:
The Kinetis SDK (now v1.3) is available from http://www.freescale.com/ksdk for download (registration required). Run the setup, and by default it will install it into
C:\Freescale\KSDK_1.3.0
on Windows. Inside that installation there is an update for Eclipse add support for the Kinetis SDK. Use again Help > Install New Software and install the following zip file:
C:\Freescale\KSDK_1.2.0\tools\eclipse_update\KSDK_1.3.0_Eclipse_Update.zip
This pretty much completes the setup for the Freescale parts.
There is one more thing: at the time of this writing, there is a Processor Expert V3.0.1 update available from NXP.com.
Download that file, *unzip* it and update Eclipse with the zip file inside the downloaded package:
Now I have pretty much replicated what is in Kinetis Design Studio v3.0.0, but using my DYI Eclipse IDE :-).
EmbSysReg View
What is missing is a nice way to inspect the device peripheral registers. For this, install the EmbSysReg Viewer, see “Freescale CMSIS-SVD Register Files with Eclipse MARS and EmbSysRegView“.
Summary
With this, I have constructed my own DIY IDE to develop application for ARM Cortex based devices. It only requires to download and install a few standard packages. Best of all: I have all the packages available so I can repeat the installation again, or simply put my current IDE layout into an archive and use it on another machine.
Of course it does not stop here: I will add many more plugins: FreeRTOS kernel awareness, static source analysis, doxygen, version control system, …
Compared to distributions from vendors like Freescale (Kinetis Design Studio), I have full flexibility: I don’t have to wait for new releases to get a bleeding edge tool chain. While it takes a little time at the beginning to do such an IDE and tool chain setup, it is very valuable afterwards because I *understand* what I have, and where I have it. And knowing what I do is always a good thing :-).
Happy Do-It-Yourself-ing 🙂
Links
- GNU ARM Eclipse plugins on SourceForge: https://sourceforge.net/projects/gnuarmeclipse
- GNU ARM Eclipse build tools on SourceForge: https://sourceforge.net/projects/gnuarmeclipse/files/Build%20Tools/
- Eclipse download page: http://www.eclipse.org/downloads/
- CDT Offline download page: https://www.eclipse.org/cdt/downloads.php
- Segger J-Link download page: https://www.segger.com/jlink-software.html
- Freescale Processor Expert page: http://www.freescale.com/ProcessorExpert
- Previous article series how to build a DIY IDE: DIY Free Toolchain for Kinetis: Part 1 – GNU ARM Build Tools
From the ‘(x86)’ present in the Build Tools paths, I understand you installed the 32-bits version on a 64-bits machine. As you might remember, there is also a 64-bits version of the Build Tools, and, according to your tests, it looked slightly faster.
LikeLike
Good catch! This is a mistake on my side, I did not pay enough attention when I downloaded the installer :-(. I have that fixed 🙂
LikeLike
Hi Erich
> What is missing in the default download is the ability to use GDB for debugging. To use Eclipse for GDB debugging, I have to install that support from this update site
Are you sure about that? I always download the Eclipse IDE for C/C++ Developers (i.e. Eclipse + CDT) from the Eclipse site and then install the GNU ARM Eclipse plugins and the GCC ARM Embedded etc. and have no problem building and debugging without installing anything extra from the Eclipse CDT update site such as “C/C++ GDB Hardware Debugging”.
FWIW I’m still on Luna/CDT 8.6 and use OpenOCD for debugging in case that makes a difference?
> KDS uses 32bit Eclipse, I can use the 64bit Eclipse version which has better performance.
Just wondering … have you actually benchmarked 32 v 64 bit tools and, if so, is there really that much of a performance difference?
Keep up the great work/blog! 🙂
Thanks.
LikeLike
> C/C++ GDB Hardware Debugging
this plug-in is referred by the GNU ARM Eclipse debugging plug-ins. normally it is known by CDT, and it is automatically installed. if not, you need to add the CDT update URL, and again things should go by themselves. if you have a very unusual setup and this fails, you need to manually install the plug-in (never happened to me).
LikeLike
Thanks Liviu.
> it is automatically installed
You mean it’s automatically installed in the Eclipse for C/C++ Developers package that I download from Eclipse.org? I find it difficult to understand exactly what CDT plugins are installed when I use this package… As far as I can see (using Help > Install New Software… > What is already installed? > Plug-ins and then filtering the the list for the string hardware”) I have “Eclipse CDT – Ecljpse GDB Hardware Debug Core Plug-in” and “Eclipse CDT -Eclipse GDB Hardware Debug UI Plug-in”. I don’t see any “Eclipse CDT – C/C++ GDB Hardware Debugging” listed unless that’s encompassed by the two above?
Bear in mind that I don’t have any problem but am just trying to understand the plug-in arrangement. Maybe ignorance IS bliss in this case? 😉
LikeLike
if it is known by Eclipse (i.e. it is listed in one of the update URLs), it is automatically pulled in by the dependency mechanism when you install the GNU ARM Eclipse debugging plug-ins.
LikeLike
> benchmarked 32 v 64 bit tools and, if so, is there really that much of a performance difference?
even if the performance is identical, the 64-bits packages are always preferred since they avoid the DLL32 Hell, caused sometimes by conflicting load address for 32-bits DLLs.
LikeLike
Thanks Liviu. I understand but I still have to support some 32 bit platforms (I know, I know! 🙂 so stick with the 32 bit tools for the moment. I was just wondering if there was any comparative data on the relative performance of the 32 and 64 bit tools. I have not encountered such DLL problems on 32 bit but maybe you mean that it simply slows startup down while conflicting DLLs are rebased?
LikeLike
> I have not encountered such DLL problems on 32 bit …
I’m not a Windows guy and I do not know these details, but while building complex tools (like QEMU, if I remember right), I encountered such cases, when 32-bits DLLs required manual rebasing, and it was very frustrating.
actually trying to avoid this problem was the main reason I spent quite some time to extend all build scripts to generate the 64-bits versions too.
LikeLike
I made a quick and maybe Apples vs. Oranges comparison: KDS v3.0.0 (Luna, 32bit) vs. the DIY Mars IDE (64bit, as used in this article). Average of 5 times taking the time.
a) Eclipse startup time with an empty default workspace: Luna 5.6 secs vs. Mars with 7.5 secs (so KDS somehow is starting up faster). But I have not noticed much difference anyway, but I feel otherwise Mars is somewhat snappier.
b) Clean with a build of a large project: Luna 31.0 secs vs. Mars with 21.5 secs. Here both the compilers (launchpad) are 32bit, but using the Liviu 64bit make tools. This probably explains some of the speedup of Mars, because when I switched to the 32bit make, time increased to 22.6 secs (about one seconde slower).
LikeLike
Hi Tommy,
>Are you sure about that? I always download the Eclipse IDE for C/C++ Developers (i.e. Eclipse + CDT) from the Eclipse site and then install the GNU ARM Eclipse plugins and the GCC ARM Embedded etc. and have no problem building and debugging without installing anything extra from the Eclipse CDT update site such as “C/C++ GDB Hardware Debugging”.
Yes, I had to do this. I tried to install the GNU ARM Eclipse plugins on ‘plain’ Mars C/C++ package, and it failed to install all the debugging support. So I had to install it, and so I documented this step. There might be cases where this is not necessary, probably if you select ‘contact/check all update sites’. But I usually always disable that option because installation takes a very long time or even can fail because of this.
>FWIW I’m still on Luna/CDT 8.6 and use OpenOCD for debugging in case that makes a difference?
I’m not using OpenOCD because it never worked out well for me (slow, buggy, nearly unusable). I have used 0.8.0, so things might be better with 0.9.0. But given that both P&E and Segger work like a charm and are free-of-charge on the FRDM boards, why wasting time with OpenOCD?
>Just wondering … have you actually benchmarked 32 v 64 bit tools and, if so, is there really that much of a performance difference?
I planned to collect some numbers and publish them. But using 64bit binaries on a 64bit machine is preferred.
Erich
LikeLike
> probably if you select ‘contact/check all update sites’
yes, if you disable this, the dependency mechanism will no longer be able to automatically pull in the plug-in.
LikeLike
OK, that’s makes sense 🙂
LikeLike
Hi Erich/Liviu – thanks for the latest replies above (for some reason I can’t reply to the relevant “threads”). The one about the update mechanism and “check all update sites” option clarifies matters for me. Oh – and I’m using OpenOCD because I need to support our own custom Cortex-M targets. I’m surprised that you had so many problems with it. Yes it may not be as good as the commercial options but it is still pretty functional (and I’m still based on 0.8.0 and haven’t had a chance to move up to 0.9.0 yet).
LikeLike
Pingback: New in Eclipse Mars: Launchbar | MCU on Eclipse
Hi Erich,
Was wondering if you had come across a method of using GDT to debug S12X code (using PEMicro Multilink)? I would think that the API for talking to a Multilink would be the same whether it was for S12X or ARM?
LikeLike
oops meant GDB
LikeLike
Hi Tom,
In my view, GNU tools for S08 and S12(X) never has taken off, they are not widely used at all. So while it would be technically possible, I have not seen P&E implementing a gdb for S12.
LikeLike
Pingback: ARM Programming on Mars | Hackaday
Looks like the GDB HW support is available from the main Mars release site as well: Help > Install New Software > select Mars … > Mobile and Device Development > C/C++ GDB Hardware Debugging
LikeLike
Thanks for that tip!
LikeLike
Pingback: Freescale CMSIS-SVD Register Files with Eclipse MARS and EmbSysRegView | MCU on Eclipse
Hi Erich,
Like always a very informative and good post how to setup a DIY toolchain.
I just tried to use the semihosting function in a JLink/FRDM K64F setup and wasn’t able to get it working (I changed all the required settings based on your “Semihosting for Kinetis Design Studio V3.0.0 and GNU ARM Embedded (launchpad)” post and even tried older ones … Nothing worked .. )
After some “googling”, it looked like this might be an issue with the used GNU ARM Embedded binaries (4.9-2015-q2-update release), after switching back to the previous one (4.9-2015-q1-update) semihosting was working perfectly …
I just wanted to document it here, so that others don’t spend time on searching .. Like I did 🙂
Frank
PS: Are you able to reproduce the behavior of the GNU ARM Embedded binaries (4.9-2015-q2-update)? Or is there anything else needed for making semihosting working with the lastest update?
LikeLike
Hi Frank,
have a look here: https://mcuoneclipse.com/2015/07/26/using-kinetis-design-studio-v3-0-0-with-the-launchad-4-9-2015-q2-release/
I had to add my own version of _sbrk(), then I had semihosting working with 4.9-2015-q2.
I hope this helps?
LikeLike
Hi Erich,
Yes it helped, thanks for the quick response .. 🙂
And now I remember reading that post, but google couldn’t come up with it 😦 ..
But I had to change the external refrence to “_end” to “end” as the “ProcessorExpert.ld” file provided it as “end”
.heap :
{
. = ALIGN(8);
__end__ = .;
PROVIDE(end = .);
__HeapBase = .;
. += HEAP_SIZE;
__HeapLimit = .;
} > m_data_2
Is this correct?
Regards,
Frank
LikeLike
Yes, that looks good.
LikeLike
Do you know if theres a way to use mbed on a target not officially supported?
I’m using an STM32F405-M4 168Mhz 1MB, 192KB RAM which seems like its somewhat similar to those platforms officially supported:
https://developer.mbed.org/platforms/
LikeLike
There is always a way, but it depends how much efforts you want to put into it. It would mean that you port the low level layers to the F405.
Mbed is great to explore quickly one of their supported platforms, but not usable (in my view) for any serious development, especially for you own hardware/board. My 1 cent.
LikeLike
Hi Erich,
I just had the time, to put this together. A few comments:
You mentioned the KSDK 1.3, but the path bellow wasn’t updated from 1.2.
If you install 1.3 you should install the PE 3.0.1 update before or never at all, because the KSDK 1.3 automatically installs it as dependency.
Regards,
SUF
LikeLike
Hi SUF,
I see now that things might be confusing. At the time of the article SDK v1.3.0 just came out, but I had used V1.2.0 for the screenshots/etc. I have updated now the post, so hopefully it is not confusing any more.
Thanks for reading and repporting!
Erich
LikeLike
I have a problem with Mars setup – PEx is not working, it installed without any problems but I got Java Null Exception when I try to make new project using Kinetis
LikeLike
that might be a problem with your Java VM. Can you make sure that if you have a 64bit machine, you are using a combination of 64bit Eclipse with 64bit Java VM?
LikeLike
Yes I surely use both versions of 64bit application. Java is in jdk1.8.0_65 version.
LikeLike
Then I’m not sure what your problem could be. I’m using
java version “1.8.0_60”
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
LikeLike
Have you checked /.metadata/.log in case it sheds more light on what is causing the exception?
LikeLike
I just reinstalled everything like and it seems to solve the problem.
Thanks for help
LikeLike
Hello,
It seems after installing IAR plugin there’s problem with JavaNullException Error when i try to make new Kientis project. Here’s what comes to ./metada/log after this occurs:
!ENTRY com.processorexpert.core.ide.wizard.ui 4 0 2015-11-05 14:04:24.220
!MESSAGE
!STACK 1
org.eclipse.core.runtime.CoreException:
at org.eclipse.cdt.internal.core.settings.model.ExceptionFactory.createCoreException(ExceptionFactory.java:26)
at org.eclipse.cdt.core.CCorePlugin.mapCProjectOwner(CCorePlugin.java:767)
at org.eclipse.cdt.core.CCorePlugin$1.run(CCorePlugin.java:822)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.cdt.core.CCorePlugin.createCProject(CCorePlugin.java:803)
at com.processorexpert.derivative.npw.NewProjectCreator.createProjectResource(NewProjectCreator.java:71)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProjectResource(NewProjectCreator.java:699)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProject(NewProjectCreator.java:571)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProjects(NewProjectCreator.java:534)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.doRun(CWWizard.java:460)
at com.processorexpert.derivative.npw.Wizard$1$1$1.run(Wizard.java:75)
at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:70)
at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:108)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:130)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:463)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:371)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at com.processorexpert.derivative.npw.Wizard$1$1.run(Wizard.java:85)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)
at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:154)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:172)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:387)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.invokeRunnable(CWWizard.java:395)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.performFinish(CWWizard.java:316)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:799)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:429)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at com.processorexpert.ui.driversuite.newprojectwizard.MCUMenuHandler.execute(MCUMenuHandler.java:31)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
Caused by: java.lang.NullPointerException
at com.iar.cdt.project.utils.OptionUtils.getAllOptions(OptionUtils.java:152)
at com.iar.cdt.generic.toolchain.internal.info.ToolchainInfo2.getIncludePaths(ToolchainInfo2.java:520)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedExternalScannerInfoProvider.getIncludePaths(SdkBasedExternalScannerInfoProvider.java:280)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedLanguageSettingProvider.updateSettings(SdkBasedLanguageSettingProvider.java:103)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedLanguageSettingProvider.handleEvent(SdkBasedLanguageSettingProvider.java:190)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.notifyListeners(CProjectDescriptionManager.java:2212)
at org.eclipse.cdt.internal.core.settings.model.SetCProjectDescriptionOperation.executeOperation(SetCProjectDescriptionOperation.java:140)
at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:341)
at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:607)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.cdt.internal.core.model.CModelOperation.runOperation(CModelOperation.java:638)
at org.eclipse.cdt.internal.core.settings.model.AbstractCProjectDescriptionStorage.setProjectDescription(AbstractCProjectDescriptionStorage.java:203)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionStorageManager.setProjectDescription(CProjectDescriptionStorageManager.java:149)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:885)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:846)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:840)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor$SerializingJob.serialize(CConfigBasedDescriptor.java:137)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.apply(CConfigBasedDescriptor.java:267)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.checkApply(CConfigBasedDescriptor.java:281)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.remove(CConfigBasedDescriptor.java:622)
at org.eclipse.cdt.managedbuilder.internal.core.ManagedMakeProject.configure(ManagedMakeProject.java:50)
at org.eclipse.cdt.internal.core.COwner.configure(COwner.java:45)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.updateDescriptor(CConfigBasedDescriptorManager.java:199)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.configure(CConfigBasedDescriptorManager.java:167)
at org.eclipse.cdt.core.CCorePlugin.mapCProjectOwner(CCorePlugin.java:762)
… 84 more
!SUBENTRY 1 org.eclipse.cdt.core 4 0 2015-11-05 14:04:24.221
!MESSAGE
!STACK 0
java.lang.NullPointerException
at com.iar.cdt.project.utils.OptionUtils.getAllOptions(OptionUtils.java:152)
at com.iar.cdt.generic.toolchain.internal.info.ToolchainInfo2.getIncludePaths(ToolchainInfo2.java:520)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedExternalScannerInfoProvider.getIncludePaths(SdkBasedExternalScannerInfoProvider.java:280)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedLanguageSettingProvider.updateSettings(SdkBasedLanguageSettingProvider.java:103)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedLanguageSettingProvider.handleEvent(SdkBasedLanguageSettingProvider.java:190)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.notifyListeners(CProjectDescriptionManager.java:2212)
at org.eclipse.cdt.internal.core.settings.model.SetCProjectDescriptionOperation.executeOperation(SetCProjectDescriptionOperation.java:140)
at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:341)
at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:607)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.cdt.internal.core.model.CModelOperation.runOperation(CModelOperation.java:638)
at org.eclipse.cdt.internal.core.settings.model.AbstractCProjectDescriptionStorage.setProjectDescription(AbstractCProjectDescriptionStorage.java:203)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionStorageManager.setProjectDescription(CProjectDescriptionStorageManager.java:149)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:885)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:846)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:840)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor$SerializingJob.serialize(CConfigBasedDescriptor.java:137)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.apply(CConfigBasedDescriptor.java:267)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.checkApply(CConfigBasedDescriptor.java:281)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.remove(CConfigBasedDescriptor.java:622)
at org.eclipse.cdt.managedbuilder.internal.core.ManagedMakeProject.configure(ManagedMakeProject.java:50)
at org.eclipse.cdt.internal.core.COwner.configure(COwner.java:45)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.updateDescriptor(CConfigBasedDescriptorManager.java:199)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.configure(CConfigBasedDescriptorManager.java:167)
at org.eclipse.cdt.core.CCorePlugin.mapCProjectOwner(CCorePlugin.java:762)
at org.eclipse.cdt.core.CCorePlugin$1.run(CCorePlugin.java:822)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.cdt.core.CCorePlugin.createCProject(CCorePlugin.java:803)
at com.processorexpert.derivative.npw.NewProjectCreator.createProjectResource(NewProjectCreator.java:71)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProjectResource(NewProjectCreator.java:699)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProject(NewProjectCreator.java:571)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProjects(NewProjectCreator.java:534)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.doRun(CWWizard.java:460)
at com.processorexpert.derivative.npw.Wizard$1$1$1.run(Wizard.java:75)
at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:70)
at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:108)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:130)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:463)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:371)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at com.processorexpert.derivative.npw.Wizard$1$1.run(Wizard.java:85)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)
at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:154)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:172)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:387)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.invokeRunnable(CWWizard.java:395)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.performFinish(CWWizard.java:316)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:799)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:429)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at com.processorexpert.ui.driversuite.newprojectwizard.MCUMenuHandler.execute(MCUMenuHandler.java:31)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
!ENTRY com.processorexpert.core.ide.newprojectwizard 4 0 2015-11-05 14:04:24.227
!MESSAGE
!STACK 1
org.eclipse.core.runtime.CoreException:
at org.eclipse.cdt.internal.core.settings.model.ExceptionFactory.createCoreException(ExceptionFactory.java:26)
at org.eclipse.cdt.core.CCorePlugin.mapCProjectOwner(CCorePlugin.java:767)
at org.eclipse.cdt.core.CCorePlugin$1.run(CCorePlugin.java:822)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.cdt.core.CCorePlugin.createCProject(CCorePlugin.java:803)
at com.processorexpert.derivative.npw.NewProjectCreator.createProjectResource(NewProjectCreator.java:71)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProjectResource(NewProjectCreator.java:699)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProject(NewProjectCreator.java:571)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProjects(NewProjectCreator.java:534)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.doRun(CWWizard.java:460)
at com.processorexpert.derivative.npw.Wizard$1$1$1.run(Wizard.java:75)
at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:70)
at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:108)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:130)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:463)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:371)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at com.processorexpert.derivative.npw.Wizard$1$1.run(Wizard.java:85)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)
at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:154)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:172)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:387)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.invokeRunnable(CWWizard.java:395)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.performFinish(CWWizard.java:316)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:799)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:429)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at com.processorexpert.ui.driversuite.newprojectwizard.MCUMenuHandler.execute(MCUMenuHandler.java:31)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
Caused by: java.lang.NullPointerException
at com.iar.cdt.project.utils.OptionUtils.getAllOptions(OptionUtils.java:152)
at com.iar.cdt.generic.toolchain.internal.info.ToolchainInfo2.getIncludePaths(ToolchainInfo2.java:520)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedExternalScannerInfoProvider.getIncludePaths(SdkBasedExternalScannerInfoProvider.java:280)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedLanguageSettingProvider.updateSettings(SdkBasedLanguageSettingProvider.java:103)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedLanguageSettingProvider.handleEvent(SdkBasedLanguageSettingProvider.java:190)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.notifyListeners(CProjectDescriptionManager.java:2212)
at org.eclipse.cdt.internal.core.settings.model.SetCProjectDescriptionOperation.executeOperation(SetCProjectDescriptionOperation.java:140)
at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:341)
at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:607)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.cdt.internal.core.model.CModelOperation.runOperation(CModelOperation.java:638)
at org.eclipse.cdt.internal.core.settings.model.AbstractCProjectDescriptionStorage.setProjectDescription(AbstractCProjectDescriptionStorage.java:203)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionStorageManager.setProjectDescription(CProjectDescriptionStorageManager.java:149)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:885)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:846)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:840)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor$SerializingJob.serialize(CConfigBasedDescriptor.java:137)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.apply(CConfigBasedDescriptor.java:267)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.checkApply(CConfigBasedDescriptor.java:281)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.remove(CConfigBasedDescriptor.java:622)
at org.eclipse.cdt.managedbuilder.internal.core.ManagedMakeProject.configure(ManagedMakeProject.java:50)
at org.eclipse.cdt.internal.core.COwner.configure(COwner.java:45)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.updateDescriptor(CConfigBasedDescriptorManager.java:199)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.configure(CConfigBasedDescriptorManager.java:167)
at org.eclipse.cdt.core.CCorePlugin.mapCProjectOwner(CCorePlugin.java:762)
… 84 more
!SUBENTRY 1 org.eclipse.cdt.core 4 0 2015-11-05 14:04:24.228
!MESSAGE
!STACK 0
java.lang.NullPointerException
at com.iar.cdt.project.utils.OptionUtils.getAllOptions(OptionUtils.java:152)
at com.iar.cdt.generic.toolchain.internal.info.ToolchainInfo2.getIncludePaths(ToolchainInfo2.java:520)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedExternalScannerInfoProvider.getIncludePaths(SdkBasedExternalScannerInfoProvider.java:280)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedLanguageSettingProvider.updateSettings(SdkBasedLanguageSettingProvider.java:103)
at com.iar.cdt.generic.toolchain.scanner.SdkBasedLanguageSettingProvider.handleEvent(SdkBasedLanguageSettingProvider.java:190)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.notifyListeners(CProjectDescriptionManager.java:2212)
at org.eclipse.cdt.internal.core.settings.model.SetCProjectDescriptionOperation.executeOperation(SetCProjectDescriptionOperation.java:140)
at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:341)
at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:607)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.cdt.internal.core.model.CModelOperation.runOperation(CModelOperation.java:638)
at org.eclipse.cdt.internal.core.settings.model.AbstractCProjectDescriptionStorage.setProjectDescription(AbstractCProjectDescriptionStorage.java:203)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionStorageManager.setProjectDescription(CProjectDescriptionStorageManager.java:149)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:885)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:846)
at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:840)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor$SerializingJob.serialize(CConfigBasedDescriptor.java:137)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.apply(CConfigBasedDescriptor.java:267)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.checkApply(CConfigBasedDescriptor.java:281)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.remove(CConfigBasedDescriptor.java:622)
at org.eclipse.cdt.managedbuilder.internal.core.ManagedMakeProject.configure(ManagedMakeProject.java:50)
at org.eclipse.cdt.internal.core.COwner.configure(COwner.java:45)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.updateDescriptor(CConfigBasedDescriptorManager.java:199)
at org.eclipse.cdt.internal.core.CConfigBasedDescriptorManager.configure(CConfigBasedDescriptorManager.java:167)
at org.eclipse.cdt.core.CCorePlugin.mapCProjectOwner(CCorePlugin.java:762)
at org.eclipse.cdt.core.CCorePlugin$1.run(CCorePlugin.java:822)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.cdt.core.CCorePlugin.createCProject(CCorePlugin.java:803)
at com.processorexpert.derivative.npw.NewProjectCreator.createProjectResource(NewProjectCreator.java:71)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProjectResource(NewProjectCreator.java:699)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProject(NewProjectCreator.java:571)
at com.processorexpert.core.ide.newprojectwizard.NewProjectCreator.createProjects(NewProjectCreator.java:534)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.doRun(CWWizard.java:460)
at com.processorexpert.derivative.npw.Wizard$1$1$1.run(Wizard.java:75)
at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:70)
at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:108)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:130)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:463)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:371)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at com.processorexpert.derivative.npw.Wizard$1$1.run(Wizard.java:85)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)
at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:154)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:172)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:387)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1002)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.invokeRunnable(CWWizard.java:395)
at com.processorexpert.core.ide.newprojectwizard.CWWizard.performFinish(CWWizard.java:316)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:799)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:429)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at com.processorexpert.ui.driversuite.newprojectwizard.MCUMenuHandler.execute(MCUMenuHandler.java:31)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
LikeLike
It seems to me that the IAR toolchain somehow has broken the toolchain installation? From the call chain it looks like CDT tries to access the SdkBasedLanguageSettingProvider), and then creashes. Have you reported this to IAR already? If not, I would recommend that.
LikeLike
Sorry – forgot that WordPress doesn’t like HTML characters in a post … I meant this but used greater than/less than characters around workspace-dir!
{workspace-dir}/.metadata/.log
LikeLike
Pingback: Tutorial: lwip with the FreeRTOS and the Freescale FRDM-K64F Board | MCU on Eclipse
Hello,
Thanks for your tutorial, great resource for keeping up to date environment. But I have a question about Terminal in Eclipse I read your tutorials on Luna and Keppler but where you able to reproduce it in Mars? I tried to install (there’s none TCF Terminal only TM Terminal, but I suppose it’s the same) but after installation of RXTX package from what you writed in Luna tutorial I cannot see ports in terminal.
LikeLike
Yes, I tried to use the Terminal view (RXTX) in Mars too, with the hope that it might work better than in Luna. But I had no success with it. I think the RXTX project is dead 😦
LikeLike
Erich where did my thread go?
UPDATE: I increased the HEAP to 2048 but that didn’t help: I can get it to run by using eclipse -clean -refresh OR eclipsec and I found more problems:
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
I’m waiting for a reply from PE micro and have posted the issue in the community.
LikeLike
Not sure about that thread thing (maybe I’m missing something). If that P&E plugin crashes, indeed the P&E support might be of help. Other that, I don’t know what could go wrong. But I had issues in the past with wrong Java VMs.
LikeLike
I ended up with:
“C:Program Files (x86)WICEDWICED_IDEeclipse.exe” -vm “C:Program Files (x86)Javajdk1.7.0_55binjavaw”
Since they installed WICED where they wanted it, a lot of double quotes.
For Java 1.8.0_65-b17 64-bit version
PATH=C:ProgramDataOracleJavajavapath;
Something new from Oracle but it doesn’t solve 32-bit application finding the 32-bit version of java. Oracle creates a symbolic link in the directory and I expect you can replace the links to where you have the default (JAVA_HOME) java….
LikeLike
Check my post on freescale community.
The P&E Micro software has been updated
Both GNU ARM pieces of software have moved to git.
The download area at Eclipse has changed
The MARS splash screen now says MARS.1 and is a different graphics
The order of install before installing the KSDK needs to reflect the update to PE 3.0 to 3.01 BEFORE installing the KSDK.
I just installed for the 4th time and this time there was no errors and Eclipse isn’t hanging.
To be sure: Preferences/General/UI Responsiveness Monitoring is now on!
LikeLike
And this morning it hung again….
While installing it on a SLED drive I discovered
CDT – http to download.eclipse.org/tools/cdt/releases/8.8
instead of 8.7
I also found out that Preferences/General/UI Responsiveness Monitoring does nothing, no log file no errors.
LikeLike
This link: http://nxp.com/lgfiles/updates/Eclipse/KDS
produces:
Forbidden
You don’t have permission to access /lgfiles/updates/Eclipse/KDS/ on this server.
LikeLike
That’s not a normal web page. You have to use it from the ‘Install new software’ section in Eclipse. That URL points to an Eclipse upate site.
LikeLike
I decided my problem was distractions and age so I setup a step by step as in 1. Download everything needed. 2. Install programs 3. Install Eclipse plug-ins 4. Configure Eclipse This is a work in progress: aaes.us/eclipse.html
The right way would be to tie all URL’s to a database that could be maintained with the current Versions and URL locations.
At any rate I finally have an installed MARS.1 working and it appears the -configuration option was needed on my Windows 10 workstation.
We’ll see…….
da.. old person thing my only excuse
LikeLike
Hi Kevin,
thank you very much for your list of steps and screenshots! I have added a link to it at the beginning of this post so readers can easily find it.
LikeLike
I used this method to get things working:
aaes.us/eclipse.html
I can upload it to the Freescale community if you’s like, I don’t see a means to upload here or you can grab it aaes.us/MCUEclipes.zip
LikeLike
Pingback: Atollic TrueSTUDIO Lite for ARM with Unlimited Code Size | MCU on Eclipse
Hi Erich,
I planned to change my development environment from KDS to Eclipse Mars. I’ve never made DIY toolchain like this, so I’m in trouble with some questionable thing. The purpose is to use the same compiler and debugger plugin, as I used in KDS. I found a lot versions of ARM GCC, but I couldn’t find out, what version is used in KDS. Apart from this, I can’t define, what plugins I have to use. Can you help me out to understand, how should I begin the work?
LikeLike
Hi Adam,
If you install KDS, you should see the exact version of plugins used/installed. Go to Help > Install New Software and there is a link to ‘what is already installed’.
The toolchain is in \toolchain and is the GNU ARM Embedded (launchpad) 4.8 2014q3 version.
Erich
LikeLike
Pingback: Tutorial: Building FreeRTOS Applications for ARM Cortex-M4 on i.MX7 with Eclipse | MCU on Eclipse
Hi Erich,
thanks a lot: useful as usual.
About item #5
What happens if I want to follow this post on KE02 without using processor expert but needing project wizard on standard Eclipse NEON?
I mean is there a package you mentioned above I should not install and others I should instead?
Thank you very much
Best Regards
Roberto
LikeLike
Hi Robert,
the thing is that the wizard to create projects is bundled with the Processor Expdrt plugin, so you have to install Processor Expert for this. But this does not mean you have to use it.
Erich
LikeLike
Thank you Erich.
Best Regards
LikeLike
Hello Erich,
following the tutorial (but on Eclispse NEON and gcc 6.0 q1-update) I could not install EmbSysRegView.
Moreover I successfully get the New Project Mask with MKE02Z64xxx4, but when I must enter SDK location I get an error that KE02 is not supported by the SDK.
In your tutorial you mention KSDK 1.2 together with KSDK 1.3: shall I install both?
Thank you very much
Best Regards
Roberto
LikeLike
> … Eclipse NEON and gcc 6.0 q1-update …
be sure you use Neon.3 and the latest GNU ARM Eclipse plug-ins, otherwise GDB 7.12, packed with GCC 6, is not functional in Eclipse (repeatedly mentioned in the GNU ARM Eclipse site).
LikeLike
> I could not install EmbSysRegView
if you have CMSIS Packs for your devices, you can use the GNU ARM Eclipse Peripheral Viewer (http://gnuarmeclipse.github.io/debug/peripheral-registers/).
LikeLiked by 1 person
Thanks a lot Liviu, Erich and TM.
Yes I’m using NEON.3 and CMSIS Packs are installed
Currently I’m having an issue with Program “make” not found in PATH.
In GNU Tools ARM Embedded \ 6 2017-q1-update \ bin I have neither make.exe nor arm-none-eabi-make.exe. Build Command inside C++ Build / Settings requires invoke make.
Thank a lot to all
LikeLiked by 1 person
> I’m having an issue with Program “make” not found
on Windows you have to install the separate build tools:
http://gnuarmeclipse.github.io/windows-build-tools/
and to configure the path to them.
LikeLike
Hello Liviu,
it has worked!
Just one question: I have 64 bit machine so I downloaded 64 bit Build Tools, but GNU ARM Embedded Tools are installed in Program Files (x86).
I’ve visisted LaunchPad again and I only have found 32 bit installation.
Is it a wrong installation pair?
Thanks a lot
Roberto
LikeLike
Personally I would prefer all 32 bit or all 64 bit tools. But a mix should work in my experience.
If you want 64 bit GNU arm embedded tools then you’ll need to download the source package and build it yourself – eg on MSYS2 MinGW-64.
LikeLike
Hi Liviu, thanks again.
I agree with what you said: better if I reinstall all tools.
Another question:
I get 3 warnings (pluto is the name of the project):
Invalid project path: Include path not found (pluto\#undef __ARM_ARCH_EXT_IDIV__). pluto pathentry Path Entry Problem
Invalid project path: Include path not found (pluto\#undef __ARM_ASM_SYNTAX_UNIFIED__). pluto pathentry Path Entry Problem
Invalid project path: Include path not found (pluto\#undef __ARM_FEATURE_IDIV). pluto pathentry Path Entry Problem
__ARM_ARCH_EXT_IDIV__
__ARM_ASM_SYNTAX_UNIFIED__
__ARM_ARCH_EXT_IDIV__
are seen as project include files as well as GNU Tools ARM Embedded ones
Best Regards
Roberto
LikeLike
Yes I get that problem too.
See here:
https://github.com/gnuarmeclipse/plug-ins/issues/197
LikeLike
Sorry TM, it was you and not Liviu replying to me! 🙂
Anyway my question is for anyone.
Thanks to all of you
LikeLike
> 64 bit Build Tools, but 32 bit GNU ARM Embedded Tools
> Is it a wrong installation pair?
as long as it is functional, it should be fine.
however, what you can do, is to post a question on the toolchain site and ask ARM when do they plan to release 64-bits windows versions too.
LikeLike
Hi Roberto,
the EmbSysRegView plugin does not install into any Neon version as far as I have tried (Neon.1, Neon.2 and Neon.3), and it is unclear to me if this ever gets fixed by the plugin owner.
As for the SDK 1.x: I don’t recommend to use them, better go directly to the SDK v2.x as this is much better and easier to use.
LikeLike
FYI: https://sourceforge.net/p/embsysregview/bugs/20/
LikeLike
Pingback: Breathing with Oxygen: DIY ARM Cortex-M C/C++ IDE and Toolchain with Eclipse Oxygen | MCU on Eclipse