Going to Mars: Building a DIY Eclipse IDE for ARM Embedded Microcontrollers

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).

Eclipse Mars Splash Screen

Eclipse Mars Splash Screen

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:

  1. IDE: Eclipse IDE and C/C++ CDT tools from http://www.eclipse.org
  2. GNU ARM Plugins: GNU ARM Eclipse plugins from https://sourceforge.net/projects/gnuarmeclipse/
  3. Build tools: GCC ARM Embedded (launchpad) from https://launchpad.net/gcc-arm-embedded and
  4. Debugging: Segger J-Link and/or P&E Multilink
  5. 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’

Eclipse Download

Eclipse Download

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.

Eclipse Mars Splash Screen

Eclipse Mars Splash Screen

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“.

C and C++ GDB Hardware Debugging

C and C++ GDB Hardware Debugging

💡 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.

Installing Plugins from GNU ARM Eclipse

Installing Plugins from GNU ARM Eclipse

💡 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
Installer for GNU Tools for ARM Embedded Processors

Installer for GNU Tools for ARM Embedded Processors

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.

GNU ARM Eclipse Build Tools Setup

GNU ARM Eclipse Build Tools Setup

Inside Eclipse (menu Window > Preferences), using the GNU ARM Eclipse plugins I can point my workspace setting to the build tools and toolchain folder:

Workspace Tools Paths

Workspace Tools Paths

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:

Segger J-Link Setup

Segger J-Link Setup

In Eclipse, make sure that you point to that installation location (menu Window > Preferences):

Segger J-Link Location in Eclipse

Segger J-Link Location in Eclipse

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
GNU ARM PEMicro Interface Debugging Support

GNU ARM PEMicro Interface Debugging Support

💡 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):

Processor Expert for Kinetis

Processor Expert for Kinetis

That package contains several files:

Processor Expert for Kinetis package

Processor Expert for Kinetis package

Unpack them and install first the ‘freescale_updater.zip’ with Help > Install New Software:

Installing Freescale Updater

Installing Freescale Updater

Then do the same using PEx_for_Kinetis_3.0.0.zip:

Processor Expert for Kinetis V3.0.0 installation

Processor Expert for Kinetis V3.0.0 installation

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:

Processor Expert for Kinetis V3.0.1

Processor Expert for Kinetis V3.0.1

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
Kinetis SDK Eclipse Update

Kinetis SDK Eclipse Update (screenshot for Kinetis SDK V1.2.0)

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.

Processor Expert for Kinetis v3.0.1 update

Processor Expert for Kinetis v3.0.1 update

Download that file, *unzip* it and update Eclipse with the zip file inside the downloaded package:

PEx for Kinetis V3.0.1

PEx for Kinetis V3.0.1

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

73 thoughts on “Going to Mars: Building a DIY Eclipse IDE for ARM Embedded Microcontrollers

  1. 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.

    Like

  2. 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.

    Like

    • > 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).

      Like

      • 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? 😉

        Like

      • 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.

        Like

    • > 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.

      Like

      • 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?

        Like

      • > 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.

        Like

      • 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).

        Like

    • 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

      Like

  3. 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).

    Like

  4. Pingback: New in Eclipse Mars: Launchbar | MCU on Eclipse

  5. 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?

    Like

  6. Pingback: ARM Programming on Mars | Hackaday

  7. Pingback: Freescale CMSIS-SVD Register Files with Eclipse MARS and EmbSysRegView | MCU on Eclipse

  8. 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?

    Like

    • 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.

      Like

  9. 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

    Like

    • 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

      Like

  10. 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

    Like

        • 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)

          Like

      • 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)

        Like

        • 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.

          Like

  11. 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

    Like

  12. Pingback: Tutorial: lwip with the FreeRTOS and the Freescale FRDM-K64F Board | MCU on Eclipse

  13. 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.

    Like

  14. 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.

    Like

    • 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.

      Like

      • 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….

        Like

  15. 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!

    Like

  16. 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.

    Like

      • 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

        Like

        • 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.

          Like

      • 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

        Like

  17. Pingback: Atollic TrueSTUDIO Lite for ARM with Unlimited Code Size | MCU on Eclipse

  18. 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?

    Like

    • 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

      Like

  19. Pingback: Tutorial: Building FreeRTOS Applications for ARM Cortex-M4 on i.MX7 with Eclipse | MCU on Eclipse

  20. 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

    Like

  21. 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

    Like

    • > … 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).

      Like

      • 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

        Liked by 1 person

        • 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

          Like

        • 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.

          Like

        • 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

          Like

        • Sorry TM, it was you and not Liviu replying to me! 🙂
          Anyway my question is for anyone.

          Thanks to all of you

          Like

        • > 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.

          Like

    • 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.

      Like

  22. Pingback: Breathing with Oxygen: DIY ARM Cortex-M C/C++ IDE and Toolchain with Eclipse Oxygen | MCU on Eclipse

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.