In “MCUXpresso IDE: Importing Kinetis Design Studio Projects” I explained how Kinetis Design Studio projects can be imported and used inside the MCUXpresso IDE. Processor Expert projects can be used, but no new components added, modified or new Processor Expert projects created. To fully use Processor Expert, two plugins need to installed, and this is what this article is about.
MCUXpresso IDE Series
💡 The approach described in this article works for a DYI Eclipse Oxygen or with MCUXpresso IDE 10.0. With MCUXpresso IDE 10.1 (see “Eclipse MCUXpresso IDE 10.1 with integrated MCUXpresso Configuration Tools“), there is a conflict as the NXP configuration tools conflict with Processor Expert: you have to uninstall the Configuration Tools in 10.1 first.
This article is part of a series to get up to speed using the new NXP MCUXpresso IDE. Published so far are:
- MCUXpresso IDE: Unified Eclipse IDE for NXPs ARM Cortex-M Microcontrollers
- MCUXpresso IDE: S-Record, Intel Hex and Binary Files
- MCUXpresso IDE: Adding the Eclipse Marketplace Client
- MCUXpresso IDE: Importing Kinetis Design Studio Projects
- MCUXpresso IDE: Installing Processor Expert into Eclipse Neon
- MCUXpresso IDE: Terminate and Disconnect a Debug Session
- MCUXpresso IDE: Blinky the NXP LPC800-DIP Board
Outline
Processor Expert is a great tool: It supports component based software development, has a graphical user interface to add and configure settings and to generate code on the fly. However, NXP does not continue is development and the Processor Expert functionality gets replaced by the new MCUXpresso tools. Pins and Clocks are available, but that ‘Peripheral’ tool not yet which should help me with configuring the microcontroller UART, SPI, I²C, etc. So until that tool is available (expected this year) I have to use Processor Expert if I want a graphical configuration tool.
💡 Processor Expert in MCUXpresso is a ‘not supported by NXP’ configuration. It works fine for me, but aware.
The steps outlined here should work for any Eclipse Neon distribution (using Eclipse Neon.3, I had issues with Neon.1). Processor Expert would need GNU tools for compile and build, see “MCUXpresso IDE: Importing Kinetis Design Studio Projects” how to install them into any Eclipse distribution.
💡 MCUXpresso IDE supports both the Kinetis and LPC microcontroller families. Processor Expert only supports Kinetis!
GNU ARM Tools
Processor Expert creates and uses projects with the GNU ARM Eclipse build tools and the GNU ARM Embedded (gcc) toolchain. Both are *not* installed by default in MCUXpresso. To install them, follow the steps outlined in my earlier article: “MCUXpresso IDE: Importing Kinetis Design Studio Projects”
Processor Expert Installation
Go to
and download the Processor Expert for Kinetis v3.0 Eclipse plugin (Eclipse 4.4 or later):
The downloaded file is named
PEx_for_Kinetis_3.0.0_Install_into_Eclipse_4.4_Unzip_me.zip
As the name indicates, unzip it first. This gives the following four files:
From the same page, download the Processor Expert for Kinetis v3.0.2 update:
Then unzip the file:
Install the ‘freescale_updater.zip‘ first! That plugin is needed for Processor Expert as it allows to install any Processor Expert and the Processor Expert functionality. Without it, you cannot install Processor Expert!
For this, use the menu Help > Install New Software and drag&drop the file into the dialog, then install it:
After restarting Eclipse, install PEx_for Kinetis 3.0.0.zip in the same way:
Next, we install the v3.0.2 update for Processor Expert (file PEx_for_Kinetis_3.0.2.zip we have unzipped in the previous step!):
Then install the update it the same way as the other files:
Restart Eclipse, and done: We have the Kinetis Design Studio V3.2.0 Processor Expert capabilities added to MCUXpresso IDE 🙂 !
SDK Project Menus
💡 I don’t use the SDK 2.x projects anymore, as there is the newer (and better) MCUXpresso SDK available. So you can skip this part.
To have the ability to create SDK 2.x projects, install the following plugin from
http://nxp.com/lgfiles/updates/Eclipse/KDS
with the Help > Install new software menu:
This adds the SDK 2.x project menu:
Creating Processor Expert Projects
To create a new Processor Expert project, use the menu File > New > Processor Expert Project:
💡 I do not recommend creating new SDK 1.x projects: better use SDK v2.x projects with MCUXpresso IDE.
Give the project a name and pick your device:
Then choose Processor Expert with no SDK selected:
💡 With the Processor Expert option disabled, I can create ‘bare’ projects (no SDK, no Processor Expert) which is a nice benefit I get with the plugins.
Go through the next dialog and have GNU tools selected, and I have a Processor Expert project in MCUXpresso IDE :-).
If the Processor Expert views are not shown, use the menu blow or Window > Show Views > Other > Processor Expert.
With this, I have the power of Processor Expert in MCUXpresso IDE available:
Summary
MCUXpresso does not have Processor Expert installed, as the new route is to use the SDK with the Pins and Clocks tool. As the Peripheral tool is not available yet, and for continue using projects from Kinetis Design Studio, it is possible to install Processor Expert into the Eclipse Neon based MCUXpresso IDE. That way I have the same capabilities as in Kinetis Design Studio v3.2.0 (or any other Eclipse distribution with Processor Expert). To be clear: this is something ‘out of the main road’, and Processor Expert does not support the SDK v2.x (there is only a ‘hack’ I’m using it with SDK v2.x projects, see “Tutorial: Using Eclipse with NXP MCUXpresso SDK v2 and Processor Expert“). Regardless, adding Processor Expert to the MCUXpresso IDE allows me to leave both LPCXpresso and Kinetis Design Studio behind, as I have now a truly combined IDE and toolchain.
Happy Experting 🙂
Links
- MCUXpresso IDE web page: http://www.nxp.com/mcuxpresso/ide
- MCUXpresso IDE community: http://www.nxp.com/mcuxpresso/ide/forum
- MCUXpresso Config tools and SDK: https://mcuxpresso.nxp.com/
- Installing Processor Expert into LPCXpresso IDE: https://mcuoneclipse.com/2015/05/27/merging-nxp-lpcxpresso-ide-with-the-freescale-kinetis-design-studio-processor-expert-and-kinetis-sdk/
- Processor Expert Driver Suite: http://www.nxp.com/products/software-and-tools/software-development-tools/processor-expert-and-embedded-components/software-suites/processor-expert-software-microcontroller-driver-suite:PE_DRIVER_SUITE?&tab=Design_Tools_Tab
Pingback: MCUXpresso IDE: Unified Eclipse IDE for NXPs ARM Cortex-M Microcontrollers | MCU on Eclipse
Pingback: MCUXpresso IDE: S-Record, Intel Hex and Binary Files | MCU on Eclipse
Pingback: MCUXpresso IDE: Adding the Eclipse Marketplace Client | MCU on Eclipse
Pingback: MCUXpresso IDE: Importing Kinetis Design Studio Projects | MCU on Eclipse
Hi Erich,
how to install USBDM on MCUXpresso ?
LikeLike
Hi Carlos,
for unknown reasons, I have never been able to use USBDM on my Windows 7 or Windows 10 machine, so I even have not tried it with Eclipse Neon at all. Best if you try the steps outlined at http://usbdm.sourceforge.net/USBDM_V4.11/USBDM_JS16/html/software_installation_page.html and I hope you have more luck than I had.
LikeLike
Hi Erich,
I use on KDS ok, thanks.
other question, install MCUEprosso, update ok
now it problems license not found
Install the first! <—-second install, error order.
unitall all, re-install firt ‘freescale_updater.zip‘, others…
install components Components 2017-03-12.zip ok
I creat project PE ok, no oped project, not show views.
thanks,
Carlos.
LikeLike
Hi Carlos,
what kind of license not found? If you have this in the console view:
Processor Expert license file = not used (no license file)
CDE: no license found, using Community Edition License
then it is normal.
And use the menu Window > Show Views > Processor Expert to show any other views.
LikeLike
Pingback: Tutorial: Secure TLS Communication with MQTT using mbedTLS on top of lwip | MCU on Eclipse
Hi Erich,
I followed the entire blog thread on this topic and everything installed as expected.
Processor Expert was working and all was well.
Until… I close Eclipse and restarted. Now it just hangs in the splash screen at: “Loading com.freescale.processorexpert.ui.selector”
If I select a different workspace before the splash screen, it comes up.
After that, Switch Workspace back to the original, it crashes.
Any ideas? Perhaps some java related switches for mcuxpressoide.ini
It is running on Windows 7-64
Thanks, Bill
LikeLike
Hi Bill,
I remember I had that for some of the views showing up, but do not remember what was the problem.
What I did was open that workspace with another Neon Instance without processsor Expert, then closed all the Processor Expert views so they do not show up at the startup.
LikeLike
That’s a good idea! I didn’t think of that. 🙂
LikeLike
I have install, but do not support MK66 and MK26, just the Kinetis microcontrollers I need.
Some solution to install Processor Express in MCUXpresso with support for MK66 and MK26 ??
Thanks
LikeLike
Hi Luis,
newer processors are not supported by Processor Expert. NXP has decided that with the start of the SDK v2.0 (see https://mcuoneclipse.com/2016/01/29/first-nxp-kinetis-sdk-release-sdk-v2-0-with-on-demand-package-builder/). I believe there was a SDK v1.3 package for the K66, but not sure (and I’m not using the SDK v1.x any more). What I did is rewriting my own Processor Expert components so they can work with newer devices like K66 in combination with the SDK v2. But this does not cover pin muxing, for this NXP proposes the Pins (and Clocks) tool: https://mcuoneclipse.com/2016/06/08/tutorial-muxing-with-the-new-nxp-pins-tool/
I hope this helps,
Erich
LikeLike
Thank you Erich.
SDK v1.3 support MK26/MK66, I tested it in KDS and work fine.
I will check your instructions. I hope some time NXP add again Processor Expert to MCUXpresso. I can not understand why they have remove, its an essential tool, all another MCU manufacturers add a similar tool to config device.
Kind Regards
LikeLike
Pingback: MCUXpresso IDE: Terminate and Disconnect a Debug Session | MCU on Eclipse
Pingback: MCUXPresso IDE: Blinky the NXP LPC800-DIP Board | MCU on Eclipse
¿Processor expert is avalaible for GNULinux (e.g Ubuntu)?
LikeLike
I’m not actively using Linux, but yes, some of my students are using it on Mac and Linux.
LikeLike
Pingback: Tutorial: Porting BLE+NRF Kinetis Design Studio Project to MCUXpresso IDE | MCU on Eclipse
Hi, Erich, I’ve succeeded in install the Processor Export within MCUXpresso, but when I selected the components, it reminds of some error, saying “An internal error has occurred, java.lang.NullPointerException. “and when I restart MCUXpresso, it stalled somewhere. Saying “Loading com.freescale.processorexpert.ui.selector. “Could you help me figure out what happened?
LikeLike
Not sure if this is the same problem I saw occasionally. It seems to be triggered by the Component Library view, if it is open and visible in the workspace/perspective.
The solution I have used is the following:
a) I have installed MCUXpresso IDE in a separete directory (‘native’ installation, without Processor Expert)
b) launch that ‘native’ MCUXpresso IDE and open that workspace with the problem
c) Close any Processor Expert views (especially the ‘Component Library’ one
d) Close the IDE and and use the Processor Expert IDE with that workspace
That solved the problem for me. I’m not sure if there in easier way. But there seems to be a problem withe Eclipse loading the view during startup. I saw the same issue with Eclipse Oxygen too.
I hope this helps,
Erich
LikeLike
Pingback: Eclipse MCUXpresso IDE 10.1 with integrated MCUXpresso Configuration Tools | MCU on Eclipse
Pingback: Overview of MCUXpresso IDE v10.2.0 | MCU on Eclipse
Hi Erich,
I just followed your instructions but I am experiencing some problems. When I create the Processor Expert Project all goes well but trying to build the project I get the following:
“**** Build of configuration Debug for project 01_KL25_Blink_PEx ****
Nothing to build for project 01_KL25_Blink_PEx
”
Looking to the project properties I realized that in Current Toolchain option, “Empty Tool Chain” is selected, but any option I select there is no way to get it working.
Please, could you help?
Best Regards
LikeLike
I just saw the previous post installing the toolchain apart from the IDE. Ohg, do you know if NXP will support PEx natively. This process is really exhausting, hard to reproduce or deploy and not maintainable…
However, thanks for your continuous support.
Best Regards
LikeLike
NXP has abandoned Processor Expert and it has been replaced with the new MCUXpresso configuration tools.
But I’m having many, many existing projects with Processor Expert, so I have found a way how to continue to use it.
But this is not supported or maintained by NXP.
LikeLike
Did you install the GNU ARM Eclipse plugins as well?
LikeLike
Yes, i did install the GNU ARM Eclipse plugins as well
LikeLike
Pingback: Porting Processor Expert Projects to MCUXpresso IDE | MCU on Eclipse
Hi Erich,
I did your tutorial but at the point when I should install “New Kinetis SDK 2.x Project Wizard” it says: The installation cannot be completed as requested
As a solution MCUXpresso wants to upgrade/dowgrade the GNU ARM PEMicro Interface Debugging Support
Any idee how I can install the SDK correct?
Best regards
Corsin
LikeLike
Hi Corsin,
I did not see that problem. On the other hand: I don’t think you will need that wizard, so you can skip that part? If you want to use any SDK project, then I recommend to use the MCUXpresso one and not that outdated v2.x
LikeLike
Hi, Erich,
After reading “MCUXpresso: Importing Kinetis Design Studio Projects” and “MCUXpresso IDE: Installing Processor Expert Into Eclipse Neon”, I installed MCUExpresso IDE v11,1,1_3241. It’s perfect ! After a few hours of using MCUXpresso seems to me to be more reactive than KDS.
Unfortunately, I have the impression that “Component Development Environment 1.8.0.RT7_b1530-1106” is buggy or that I do not know how to make it work, because I cannot create my own components. The drv file quickly corrupts.
What tools do you use to create and manage all of your components?
Thanking you in advance for your response.
LikeLike
Hi Rémy,
glad to hear you were able to make it work with the help of the two articles!
I had tried the Eclipse version of the CDE (Component Development Environment), but it never worked well for me, mainly there were too many issues and problems, and the beans files got very convoluted with unnecessary information. I had submitted several tickets, but oviously development got stopped and things were not addressed.
So I’m still using what I’m using from the beginning for the component developemt: The ‘Bean Wizard’ which was (is?) part of the CodeWarrior Professional Edition: that wizard was bundled with CodeWarrior and luckily it runs outside of CodeWarrior, and it runs without problems under 64bit Windows 10 still. The only minor issue is that there is limit of I think 128 components in a package for export, that’s why I package my components in two pices. But not a big deal. You get the Wizard with the free-of-charge standard edition of CodeWarrior for MCU too, you can find it in C:\nxp\CW MCU v11.1\MCU\ProcessorExpert\BeanWizard.exe. But it will need a license.
LikeLike
Pingback: MCUXpresso IDE V11.2.1 | MCU on Eclipse
Hi Erich, you said at the beginning to uninstall the config tools from MCUXpresso to avoid conflicts, but how I do that? I couldn’t find any article explaining what is the steps.
LikeLiked by 1 person
I can say that with later versions this was not necessary any more. If you are using that 10.1 (or any other version), you can use the approch I have described in https://mcuoneclipse.com/2012/06/10/uninstalling-eclipse-plugins/ to uninstall a plugin. There you can find something like a MCUXpresso Configuration Tools plugin or intergration.
LikeLike
Ok, I´m not uninstall the config tools but when I try to install the “freescale_updater.zip” I got stucked installing the software at 53% and I don´t now why. I wish I could attach a printscreen to show you here but it´s not possible, right?
LikeLiked by 1 person
No, WordPress does not allow to upload screenshots. What version of IDE are you using? I ask because with later versions you did not had to uninstall anything.
LikeLike
MCUXpresso IDE v11.5.0 [Build 7232] [2022-01-11]
I think this is this latest version.
LikeLiked by 1 person
https://mcuoneclipse.com/2022/04/19/mcuxpresso-ide-11-5-1/ would be the latest version, but 11.5.0 is the same in for our discussion. I admit I have not installed PEx in 11.5.0 (or 11.5.1) yet, so if you give me some time, I’ll try that on my side (Windows 10) to see if there are any issues?
LikeLike
Of course, thanks for replying promptly Erich!
LikeLiked by 1 person
some good and bad news:
good: I was able to install the plugins into 11.5.0 without issues.
bad: I have some errors opening up the PEx views, under investigation….
LikeLike
Update: I was able to resolve the problems I saw, it is working now. I’m going to record a video and prepare a write-up for a new article about it.
LikeLike
Ok, thanks Erich, any news there please let me know.
LikeLiked by 1 person
I hope I can publish it tonight. What I noticed that during installation it might ‘hang’ for several minutes, but then it proceeds. I did not had this with the updater, but with the 3.0.0 base install.
LikeLike
I did publish it here: https://mcuoneclipse.com/2022/05/05/installing-processor-expert-into-mcuxpresso-ide/
I hope this helps.
LikeLike
Hi Erich, thank you very much for your help, sorry for the delay in responding to you. I was able to successfully install the processor expert and import KDS projects in MCUXpresso 11.5.1, but I’m facing a new problem that is leading me to an unexpected Hard Fault (as far as I could detect), let me explain briefly:
I have a project with the MK22FN1M0VLL12 and I´m using functions like strncpy, memset, memcpy, etc. from the standard C library like this:
(void)memcpy(Write_Buffer_EEPROM[342], detector_name, sizeof(detector_name));
When I’m debbuging and step over this line for example I enter in a hard fault. The size of “Write_Buffer_EEPROM” is 4096 and “detector_name” is 16. The buffer is declared as a byte type and “detector´s name” is char detector_name[17] .
I know this is not the object’s topic but do you have any idea what is going on here? I already have include the libraries too:
#include
#include
Another thing: when it´s not a hard fault it works fine in debugging mode, but when I reset the board (not in debug) the program does not run. Can you please give me a tip to solve this problem too?
Thanks in advance,
Marcio.
LikeLiked by 1 person
About that memcpy(): it looks ok, but what type is Write_Buffer_EEPROM? Is it a char array? Does this array cross the memory controller boundary (see https://mcuoneclipse.com/2013/07/10/freertos-heap-with-segmented-kinetis-k-sram/) because the Kinetis does have two ‘banks’ which are not really combined.
LikeLike
as for the hardfault: are you using printf() or something like that with semihosting? if yes, your hardfault handler needs to deal with it.
LikeLike
Write_Buffer_EEPROM is a byte (unsigned char) array, but I really don´t know about the memory controller boundary, I’ve thought that the Kinetis microcontrollers had linear RAM memory (without paging). When I compile the project I have this memory usage output:
text data bss dec hex filename
99052 568 62864 162484 27ab4 TRX_REPO.elf
LikeLiked by 1 person
No, most of the Kinetis devices use a segmented memory map, so it is not really linear: you have to deal with them as it would be two different memory areas. Your .elf file information only tells about the size, not about the mapping, have a read at https://mcuoneclipse.com/2013/04/14/text-data-and-bss-code-and-data-size-explained/
LikeLike
Thank you for your explanation Erich!
Indeed, the MK22FN1M0VLL12 has the lower and upper sections of the SRAM and right now I’m using 568 bytes of data plus 62864 bytes of bss which leads us to 63432 bytes of the RAM, right? Despite having a small margin of closely 2K in lower SRAM, do you have an article or something to help me to correctly use and switch data between this SRAM sections?
LikeLiked by 1 person
It’s a baremetal project with processor expert and I’m not using SDK.
LikeLiked by 1 person
You can use the __attribute and map variables to different sections/segments, see https://mcuoneclipse.com/2013/07/10/freertos-heap-with-segmented-kinetis-k-sram/
LikeLike