DIY Free Toolchain for Kinetis: Part 4 – Processor Expert for Eclipse

I covered in a previous tutorial how add ARM gcc to Kepler Eclipse to build a DYI toolchain. I’m using Processor Expert a *lot* in my project, because it simplifies and speeds up the development of my embedded applications. What is missing so far is how Processor Expert can be added to Eclipse. As Kepler is as of this writing the latest Eclipse version, this tutorial is using that version.

Eclipse Luna is *NOT* supported in Processor Expert 10.4! Eclipse Luna is expected to be supported in Processor Expert 10.5 coming out in 2015! So if you are using Processor Expert 10.4, then make sure you are using Eclipse Kepler.

Processor Expert Project in Kepler Eclipse

Processor Expert Project in Kepler Eclipse

List of Tutorials

Processor Expert Plugin Installation

Processor Expert comes in different forms:

  1. Integrated in the Freescale standard CodeWarrior tool chain
  2. Standalone Eclipse version which can be used with non-Eclipse tool chains like IAR or Keil.
  3. or as a plugin which can be integrated into Eclipse distributions like CodeRed or standard Eclipse like Kepler.

So for my case here, I use the plugin version. Download the Processor Expert Driver Suite 10.2 Eclipse plugins from here. From the ‘Download’ Tab, download ‘Microcontrollers Driver Suite v10.2 plug-in for existing Eclipse 3.7 (Indigo) installations‘ (requires registration):

Processor Expert Driver Suite Pag
Processor Expert Driver Suite Page

This should download ‘PExDrv_v10_2_Eclipse_3_7.zip‘. Unpack the archive. There are two packages/zip files in there:

  1. com.freescale.eclipse.3.7.updater.custom.updatesite.zip: Updater to update Processor Expert with new processor support
  2. com.freescale.eclipse3.7.pexdrv10_2.updatesite.v1_0_0_b130514.zip:  Processor Expert Plugins itself

They have to be installed in the above order (first the updater, then the pexdrv10_2):

  • Start Eclipse
  • Use the menu File > Add New Software, then press Add
  • Use the ‘Archive’ button to browse to your updater file and install it:

    Add Repository for PEx Updater

    Add Repository for PEx Updater

  • Then do the same again, this time with the pexdrv10_2.updatesite file:

    Add Repository for 10.2 PEx Driver Suite Plugins

    Add Repository for 10.2 PEx Driver Suite Plugins

Then restart Eclipse as needed.

Creating Processor Expert Project

Creating a project is easy: I use the menu File > New > Processor Expert Project. That wizard is straightforward. Only when asked for the Processor Expert Target Compiler, select ‘GNU C Compiler’:

Selecting GNU C Compiler for PEx Project

Selecting GNU C Compiler for PEx Project

With this, I have my first Processor Expert project. As the project has been created with an ‘Empty toolchain’, I need to tweak it to use the ARM GNU tools.

Changing Project Settings

  1. I select the Project Properties, and I go to C/C++ Build > Tool Chain Editor
  2. Deleselect ‘Display compatible toolchains only’ and select ‘Cross GCC‘:

    Cross GCC as current tool chain

    Cross GCC as current tool chain

  3. Then press Apply:

    Pressing Apply for new Tool Chain Editor

    Pressing Apply for new Tool Chain Editor

  4. In the settings, use the ‘Manage Configurations’ to rename the configuration to FLASH (or any other name you like):
    Cross GCC as current tool chain

    Cross GCC as current tool chain

    Managing configuration to change configuration name

    Managing configuration to change configuration name

  5. Set the Prefix to
    arm-none-eabi-
    and the path to the GNU tool chain where you have it installed (for me it is
    C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 2013q2

    Set Prefix and Path to GNU tools

    Set Prefix and Path to GNU tools

  6. Add for the compiler where it has to search for the include files with the path to the compiler library include directory:
    “${ProjDirPath}/Sources”
    “${ProjDirPath}/Generated_Code”
    “${ProcessorExpertPath}/lib/Kinetis/iofiles”
    “${ProcessorExpertPath}/lib/Kinetis/pdd/inc”
    “C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 2013q2\lib\gcc\arm-none-eabi\4.7.4\include”

    Compiler Include Paths

    Compiler Include Paths

  7. Specify
    -c -fmessage-length=0 -mcpu=cortex-m0 -mabi=aapcs -mthumb -msoft-float
    as compiler options, where cortex-m0 is for the Kinetis-L. Use cortex-m4 for the Kinetis K family:

    Compiler Miscellaneous Options

    Compiler Miscellaneous Options

  8. If using C++, do the same for the C++ compiler options.
  9. Enable ‘Do not use standard start files’ for the linker:

    Do not use standard start files for Linker

    Do not use standard start files for Linker

  10. Specify the linker flags as
    -mthumb -T”${ProjDirPath}/Project_Settings/Linker_Files/ProcessorExpert.ld”

    Linker Flags to use thumb mode and to use Processor Expert Linker File

    Linker Flags to use thumb mode and to use Processor Expert Linker File

  11. To generate an S19 file from the ELF file, configure the Build Steps to use
    arm-none-eabi-objcopy -O srec “${ProjDirPath}/FLASH/${ProjName}.${BuildArtifactFileExt}” “${ProjName}.s19”

    Configured Post Build Step to Generate S19 File

    Configured Post Build Step to Generate S19 File

  12. Configure the Build Artifact to use the ‘elf‘ extension:

    Build Artifact using elf extension

    Build Artifact using elf extension

  13. Configure the project to use the external builder:

    External Builder

    External Builder

  14. I need to change the Provider to recognize the include paths. For this I enable the ‘CDT GCC Build Output Paser‘ and set the compiler command pattern to
    ${COMMAND} -E -P -v -dD “${INPUTS}”

    CDT GCC Build Output Parser

    CDT GCC Build Output Parser

That’s it, finally :-).

💡 If you get an error about gcc or g++ not found in PATH, then this means that Eclipse cannot find it. In my case adding “C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 2013q2\arm-none-eabi\bin” to my global PATH variable solved that problem.

Program g++ or gcc not found in PATH

Program g++ or gcc not found in PATH

Startup Code

One thing is still missing: the startup code. The one generated by the wizard does not match the library we are using with gcc. So I need to delete the startup.c:

Deleting startup.c

Deleting startup.c

Instead, use the startup.S I used in part one of the tutorial:

Replaced Startup Code

Replaced Startup Code

By default, Processor Expert generates the startup code. As I’m using my own startup, I need to disable startup file generation in the CPU properties:

Disabled Startup File Generation in Processor Expert Settings

Disabled Startup File Generation in Processor Expert Settings

Now I can add and generate code with Processor Expert as usual.

Example Project

As a reference point, I have put the example project created above on GitHub here.

Summary

Adding Processor Expert to a standard Eclipse can be done with using the Processor Expert Eclipse plugins. To have them working with ARM GNU gcc requires some fine tuning in the project settings, but is very doable. With this I can use the Processor Expert power of code generation with Kepler Eclipse.

Happy Experting 🙂

Advertisements

108 thoughts on “DIY Free Toolchain for Kinetis: Part 4 – Processor Expert for Eclipse

  1. Pingback: DIY Free Toolchain for Kinetis: Part 1 – GNU ARM Build Tools | MCU on Eclipse

  2. Pingback: DIY Free Toolchain for Kinetis: Part 2 – Eclipse IDE | MCU on Eclipse

  3. Pingback: DIY Free Toolchain for Kinetis: Part 3 – Debugger (GDB Server with P&E and Segger) | MCU on Eclipse

  4. Hi Erich,
    Nice post, thank you! Just a question: did you try to find a way for Linux developers/users?
    Since F.S.L. discontinued Linux’s support, the “Freedom” is only for Windows, but real hackers always find out the true FREEDOM.
    “The open-source puts the ability to change the world into everyone’s hands.” — Julie Uhrman

    Like

    • I admit, I have used the P&E and Segger GDB Server only for Kinetis. So I think the only possible ways would be that P&E would port its server to Linux, then it would support their run control devices. I looked at USBDM, but looks like there is no GDB server for S08 neither. So to me the only working solution for S08 on Linux is CodeWarrior for MCU10.2.

      Like

      • I meant, the release notes mention ProcessorExpert only supports Kinetis and ColdFire+.

        I should admit, too, I’m still using CW 6.3 for S08 and 51JM128 projects.

        Like

  5. Pingback: DIY Free Toolchain for Kinetis: Part 5 – FreeRTOS Eclipse Kernel Awareness with GDB | MCU on Eclipse

  6. Great tutorial. Up until now I’ve had no issue. But after installing PE I am getting this error:

    “Processor Expert configuration file not found or corrupted (PE[_??].cfg).”

    I’ve tried to uninstall, re-download and install it again, but I’m still getting the same error.

    Like

      • Some of the include files use #include_next to look further into the INCLUDE path for another definition. The two include dirs are for more generic gcc includes and then more specific to the chip or runtime library being used. An example of this is .

        My projects are set up to include …/lib/gcc/arm-none-eabi/4.7.3/include first, then …/lib/gcc/arm-none-eabi/4.7.3/include-fixed, and finally …/arm-none-eabi/include

        Like

  7. Pingback: DIY Free Toolchain for Kinetis: Part 6 – Linux Host with OpenOCD and CMSIS-DAP | MCU on Eclipse

  8. Pingback: Tutorial: FreeMASTER Visualization and Run-Time Debugging | MCU on Eclipse

  9. Hey Erich, I got some kl24z QFN 32 pin microcontrollers and was looking for some linker files and startup code to just “blink an LED”. I making a prototype PCB tomorrow 🙂 and i have to admit, i think i can only easily do that by following this and installing the processor expert plugin. Thanks a lot for having this info within reach. I will report back how good i get at using PE…

    Like

    • Yes, it is possible to do these things without Processor Expert. But once learned the basics, it is so much easier. I compare it with like assembler vs. C programming: in the old days, everyone was using assembler, and was happy about it. But once learned C, you can be much more productive. Still, you will use some assembly, but you cannot imagine that you would go back to assembler and write the whole application in assembly.

      Like

  10. Pingback: Processor Expert in Eclipse Generating code for L-series microcontrollers >> Karibe

  11. About that startup file “startup.S”, will I need to change anything for the kl24 chip? I dont know, coz they are the same cortex M0 core and I have the correct linker script “ProcessorExpert.ld”

    Like

      • OK, thanks. I am getting a strange error on build by *arm-none-eabi-ld* cant find the linker script file “ProcessorExpert.ld” in the path Project_Settings/Linker_Files/, although when i browse there i find the file. I tried setting permissions to the folder and the file but.. i have no idea why. when i restart eclipse, the processor expert service start shows same error, “cannot open linker script file ”/home/simlab/src/git/freescale/kl24_test/Project_Settings/Linker_Files/ProcessorExpert.ld”: No such file or directory kl24_test C/C++ Problem”. I tried deleting that file and generating code again, same thing.

        Like

      • hmm, strange. Can you verify if the naming is exactly the same (lower/upper case)? Otherwise: copy the linker file to a different location and try to link with this one?

        Like

      • Still… i have a feeling may be its a problem with GNU-ARM toolchain coz the file is really there when i *ls* the path, copying the file to a different location doesnt help.

        Like

      • aaaah man!!!, the problem was a minor mistake, the left side quotatiom mark was a closing one and hence wrong for the linker path in the linker flags… 🙂 i copy-pasted from the browser. The browser represents opening/closing speech marks differently in *HTML*. I really had to check closely.

        Like

      • hahaha, I just had to find that one for myself, lesson well learnt. I wish i’d have seen that post though 🙂 would have saved me time to do the board.

        Like

      • I run into that sort of problem a lot at work, when people paste stuff into M$FT Outlook, it goofs up all the quotes and hyphens to make them look pretty. Pasting that into code doesn’t do you much good. 🙂

        Like

  12. Hi Erich,
    I’ve build the whole environment follow your building step. but when ‘make clean’, I found the ‘makefile’ use ‘del’ command to delete all ‘*.o’ file, and failed to delete file like “del ./Sources/Events.o ….” , I have install ‘rm.exe’ in PATH.
    how can I change makefile use ‘rm’ instead of ‘del’.

    Like

    • good question! I have not found a solution. This problem is discussed here too: https://bugs.eclipse.org/bugs/show_bug.cgi?id=242649
      What I see is that it seems that the Processor Expert builder is forcing the ‘rm’. If I create a normal non-PEx project, than it is using rm instead of del.
      You can verify this in the .cproject file: it has cleanCommand=”rm -rf” in it.
      But I have no idea how to control this.
      What I noticed is if I switch from the ‘External Builder’ to the ‘Internal Builder’, that it correcly removes the output folder with clean (still it reports about del command, but at least it does what it is supposed to do).

      Like

  13. After installing PE, restarting eclipse and creating a new PEx project, I got this message in console and rising an dialog window with the same message:

    An internal error occurred during: “Open last Processor Expert project”.
    java.lang.NullPointerException

    Like

    • Hi Robson,
      does this happen for every project and new workspace? Then somehow your installation seems corrupted. You might have a look into the .metadata\.log file, as it shows the stack dump of the null pointer exception. Maybe it gives a hint what could be wrong?

      Like

      • Reading the log, these three messages appear many times:

        !ENTRY com.freescale.processorexpert.core 4 0 2013-09-07 01:45:19.428
        !MESSAGE reg.getExtensionPoint is empty

        !ENTRY com.freescale.processorexpert.core 4 0 2013-09-07 01:45:19.531
        !MESSAGE No com.freescale.processorexpert.core.PEservice extension found!

        !ENTRY com.processorexpert.core.ide.wizard.ui 2 0 2013-09-07 01:45:29.810
        !MESSAGE External elements location /Applications/eclipse/ProcessorExpert/Config/PE/CPE/wizard_data/wizards/components does not exist

        I’m using mac os x.
        Thanks!

        Like

      • Oh! I have no Mac, so never tried this on a Mac. I have no idea if PEx would work on a Mac :-(. So it seems that it cannot find the extension points. Does CodeWarrior run for you Mac OS X?

        Like

  14. BTW, openocd arm toolchain + eclipse now works fully in Linux for the kl25z board, there are comments here, but i meant to ask, only 2 hardware breakpoints, you put more than that and you get the problem of resource not found, which makes sense, do you also have 2 hardware breakpoints when using other tools? I am used to unlimited breakpoints with older micros and I have no experience with software breakpoints, or understand what that means. may be a link…

    Like

    • In my experience, segger’s J-link can make soft break point, some like unlimite. you can install JLink_OpenSDA firmware into kl25z to make some test

      Like

      • How do soft breakpoints work? Does is single step at some greatly reduced speed until it wanders into a soft breakpoint, vs. using the internal BDM hardware in the chip?

        10.5 is out? Hmmm. I’ll have to give it a try. You may remember 10.4 Setup crashed on my system duing the PEMicro driver installation.

        Like

      • Yes, 10.5 is out. I’ll plan on writing a short review. At least for myself it has the ‘segger unlimited breakpoint’ thing implemented, plus pin assingments in Processor Expert is much easier. And I thing debugging/downloading in general is much faster too (but would need to measure it). My feeling is that it is maybe twice as fast as e.g. 10.3 (not that much from 10.4, but still I feel it is faster).
        What Segger does is: it re-programs the flash memory ‘on-the-fly’ and has ‘break’ or ‘trap’ instructions in the code (like a software breakpoint in RAM). They have a very fast flash programming, so it is somewhat slower in that case if it runs out of hardware breakpoints, but not much noticable.
        And yes: you might give 10.5 a try on the drivers side too.

        Like

      • That’s cool. I have my source loaded with breakpoint traps to partially work around that limitation. Very annoying. I’d pay $10 or a $5 MCU if they’d seriously increase that hard breakpoint limit. The ST ARM MCU I’ve been playing with recently has 5. I’d like to have 50!

        Like

      • Bill,
        I think ARM allows a much higher breakpoint numbers, more than what Freescale has decided to implement on that Cortex-M0+. Clearly, more breakpoints means problably more silicon,, means higher costs. I’m just guessing that having 5 instead of only 3 hardware breakpoints would have increased the silicon costs by a few cents. But if companies buy silicon purely on costs, and not ease-of-use-for-development, things maybe never change. And maybe it is just because the silicon designers deal with VHDL and SystemC, but do not have to debug applications on their own devices? 😉
        Seriously, I think in the long run, the devices which are easiest to develop for (debugging capabilities, software and tools availability, etc) will win the market. At least I hope so. 🙂

        Like

    • Excellent, now I only need to have this fully functional on Windows 🙂 About the breakpoints: yes, the KL25Z has unfortunately only 2 hardware breakpoints. But e.g. the Segger OpenSDA firmware or Segger J-Link offer an implementation which removes that limitation.

      Like

  15. I think the linker miscellanous settings is missing the cpu type (-mcpu flag). It should be:
    -mthumb -mcpu=cortex-m0 -T”${ProjDirPath}/Project_Settings/Linker_Files/ProcessorExpert.ld”

    Also you can switch the cpu type from cortex-m0 to cortex-m0plus to allow the compiler to use the extra instructions and optimizations it has.

    Like

  16. Dear Erich,

    Thanks for your great tutorials! I’m in the middle of applying this knowledge to develop a custom PCB using the KL46Z processor. For starters, I have acquired a FRDM-KL46Z board and I have followed all your tutorials up to this one (I skipped the debugger setup since I currently don’t have one). Besides that I’m a little bit lost on how to get myself past this stage. I looked through your GitHub submissions and I found an example project called FRDM-KL46Z_Demo. I have loaded it into Eclipse and I see many warnings of the type “Orphaned configuration…”, “Orphaned toolchain…”, “Orphaned builder…” as well as “Invalid project path: Include path not found…”.

    I come from the world of developing sensor systems using FPGAs as well as developing Android software/hardware using the IOIO-OTG board and Google’s ready-made Eclipse bundle. So I use Eclipse but I’m embarrassed to admit that I’ve never had to configure it to get myself running on previous projects. Also, I do have C/C++ experience with microcontrollers but only using ready-made IDEs.

    What would you advice all of us folks developing hardware for the first time on the KL46Z with the DIY Eclipse tool chain? Is there an easy way to adapt your KL46Z demo to the Eclipse setup described on your tutorials? Also, could you recommend any specific tutorials out there which deal with topics beyond just setting up the DIY tool chain you’ve been teaching us about?

    Thanks again Erich!

    Like

    • Hi Carlos,
      You get that ‘orphaned configiguration/toolchain’ because that project is set up for the CodeWarrior GNU toolchain, and your DIY toolchain has this one not present.
      Not much you could do about this except using CodeWarrior. Or that you create a make file project as in my tutorial and then add the sources.

      I hope this helps.

      Like

      • Thanks for your reply! As you said (and as I just now noticed), your GitHub says that this project was created using CodeWarrior.

        When you say “create a make file project… and then add the sources.” do you mean creating a new Processor Expert project and then copying the source files within your CodeWarrior example’s “Sources” folder over to the new project’s “Sources” folder?

        Would you say that this is in general the overall process for porting any CodeWarrior examples over to this specific DIY toolchain setup?

        Lastly, would you suggest for a Freescale/Kinetis newbie like me to first get a hang of the FRDM-KL46Z work flow using the free CodeWarrior edition and examples until I’m practiced enough to jump into the DIY toolchain? Or is it really that simple that I should be able to start coding some blinking LEDs once I’ve completed your tutorial #4? The “newness” of it all is making it hard for me to judge how close I am.

        I sure wish there were more well written tutorials like yours. Searching on Google shows that you’re pretty much the only expert on these matters who has been kind enough to share back with the community. That’s a compliment by the way and also a big thank you! 😉

        Thanks again Erich!

        Like

      • Hi Carlos,
        many thanks for your kind words, highly appreciated!
        Yes, I meant that the standard process is to create a new project as outlined in this tutorial, and then add the source files. With using Processor Expert, you could copy the components with their settings say from CodeWarrior to the DYI toolchain (as Processor Expert components). But this requires that you have CodeWarrior installed.
        To that point: using the DIY toolchain requires a level of expert knowledge and deep understanding how things work. This is the value of Freescale with providing CodeWarrior: it is much easier to install and use for a newby compared to create a toolchain on your own. Freescale probably has put many man years into making it a smooth process as much as possible. So yes, I would suggest to use the free CodeWarrior edition first. With this you can gather experience with Eclipse and the GNU tools, and can easier switch to an DYI toolchain. Anyway the Kinetis limiation of 64KByte for Kinetis L is rather high (e.g. twice as the 32 KByte of IAR), and with compiler optimizations enabled I can use it for larger programs. And flash programming s19 files is not limited at all!

        I hope this helsp on your way to develop your application.

        Like

  17. Hi Erich,

    First : Great job !!!!! This tutorial will help a lot of people !
    I have a request about the fact to use Eclipse with a Kinetis but a K20.
    I’m a bit lost with all the settings but I would like to know what i’ve to change or do for making toolchains ! Just be a little bit guided.. First I supposed I need to rewwrite the Startup.S and sysinit ?
    But another stupid question : Have your heard about someone who has already do that ?

    Sorry for my English ! I try to improve but my french blood always trying to prevent me !

    Thanks for all !

    Like

    • Hi Jems,
      thanks :-).
      I have not used it for the K20, but should not be a big deal. Just make sure you set the linker and compiler options to use the Cortex-M4 instead of the M0+. Startup code should work for both the M4 and M0 the same way.

      Like

      • Thanks ERIC !
        I repeat but your website is so usefull !!!
        And thanks again for taking time to answering !

        Like

  18. Hi Erich,
    Thanks for the great tutorials,
    I am trying to build a sample led project with eclipse and processor expert on kl25z freedom board.
    The program compiled with out any errors but when i debug the same with P&E GDB, the program gets stuck and shows errors on the processor expert generated files- /Generated_Code/BitIoLdd1.c
    Symbol ‘uint32_t’ could not be resolved
    Type ‘uint32_t’ could not be resolved

    Could you please help me clear this.
    Regards,
    Ben

    Like

      • Hi Erich,
        I tried with your Github example FRDM-KL25Z_BlinkEclipse_PEx. This one compiled successfully and worked on GDB debugger with out any errors. But when i reopened the project, it shows the same errors on PE generated codes ‘‘uint32_t’ could not be resolved’..
        Rebuilding the project didn’t solve this issue.

        Regards,
        Ben

        Like

      • Hi Ben,
        ok, I see now what you mean. The problem is with the Eclipse Indexer: It does not find the right header files, but the compiler does. You can fix this with adding the following path to the
        “C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 2013q2\arm-none-eabi\include”
        to the include path setting of the project (Project Properties > C/C++ build).
        Of course use the right path were you have installed your compiler.
        That way the Eclipse Indexer finds the header files, and does not show that error.

        Like

    • Hi Ben,
      cool, good to hear that this has been resolved. Just one thing: In my projects I’m using an absolute path to the GNU gcc installation path, as it is outside of my Eclipse installation. I recommend to use an environment variable pointing to the installation path if possible.
      Erich

      Like

    • 23:05:15 **** Incremental Build of configuration FLASH for project FRDM-KL25Z_BlinkEclipse_PEx ****
      make all
      ‘Building target: FRDM-KL25Z_BlinkEclipse_PEx.elf’
      ‘Invoking: Cross G++ Linker’
      arm-none-eabi-g++ -nostartfiles -mthumb -T”C:/tmp/wsp_kepler/FRDM-KL25Z_BlinkEclipse_PEx/Project_Settings/Linker_Files/ProcessorExpert.ld” -o “FRDM-KL25Z_BlinkEclipse_PEx.elf” ./Sources/Events.o ./Sources/ProcessorExpert.o ./Project_Settings/Startup_Code/startup.o ./Generated_Code/Cpu.o ./Generated_Code/PE_LDD.o ./Generated_Code/Vectors.o
      arm-none-eabi-g++: error: FRDM-KL25Z_BlinkEclipse_PEx.elf: No such file or directory
      make: *** [FRDM-KL25Z_BlinkEclipse_PEx.elf] Error 1

      23:05:16 Build Finished (took 945ms)

      Like

      • Hello,
        hmm, my workspace is in c:\tmp\wsp_kepler, so it seems your settings still have this. Can you perform a Project > Clean Project (right click on the project and select Clean) to see if this solves the problem?

        Like

  19. Pingback: DIY Free Toolchain for Kinetis: Part 7 – GNU ARM Eclipse Plugins | MCU on Eclipse

  20. Pingback: Processor Expert Driver Suite V10.3 Available | MCU on Eclipse

  21. Pingback: DIY Free Toolchain for Kinetis: Part 8 – Processor Expert, Eclipse and GNU ARM Eclipse Plugins | MCU on Eclipse

  22. Pingback: DIY Free Toolchain for Kinetis: Part 9 – Express Setup in 8 Steps | MCU on Eclipse

  23. Pingback: DIY Free Toolchain for Kinetis: Part 10 – Project Creation with GNU ARM Eclipse 2.1.1 | MCU on Eclipse

  24. Erich, Thank you for your blog. However I must post here that PEx doesn’t work for the Mac! Freescale (as of now) doesn’t support OS X. I should have read the comments before spending 3 hours trying to follow this tutorial and not understanding why I couldn’t make it work!!! Back to Windows… 😦

    Like

    • Yes, unfortunately it does not support Mac OX (yet). But I think Freescale realized that Mac OS X needs to be supported (I admit that I’m a Windows user, but about 20% of my students use Mac, so having Mac support would be really great).

      Like

  25. Hi Erich, the processor expert 10.4 is out (03/28/2014). I think you may need to update the references.

    Like

  26. I just did Part 1~4 (Part 3, I died – no board yet) and this Part, Part 4 has the most changes so far. There are extra options and the PE environment is not setup so I had to surf to the file directories then cut and paste them. I had a red x on my Project name, the path to the bin, in the project properties – C/C++ Environment I added arm-none-eabi to the existing path before the /bin
    So are we pointing to the C:\Program Files (x86)\GNU Tools ARM Embedded\4.8 2014q1\bin or to the C:\Program Files (x86)\GNU Tools ARM Embedded\4.8 2014q1\arm-none-eabi\bin ? It looks like Eclipse grabbed the “PATH” and stuck it into the Environment box which means I can set it to point where I need, I need these setting at the project level, I build GTK stuff that uses c++/gcc for x64.

    Like

  27. I have eclipse configured according to parts 1-4 of this tutorial and at first it was working perfectly.
    I was able to create a new processor expert project and build the project.
    However, when I tried to open eclipse and the project the next day, I got the following error message after some time.

    Plugin Plug-in “com.freescale.processorexpert.core.service” was unable to instantiate class “com.processorexpert.core.client.PEApplicationClient”.
    Could not open project /ProcessorExpert.pe. Processor Expert service is not initiated yet.

    I am still able to make new processor expert projects, but I cannot close eclipse and then pick up where I left off later.
    I have tried it with multiple workspaces and it is happening consistently.

    Like

    • I’m not sure what is happening here, but it looks to me that maybe a file (or multiple ones) got removed/damaged? Does it happen too if you create a new project? The other thing could be that the .pe file in your project might be corrupted? Can you open it in a text editor to see if there is any thing wrong in it?

      Like

      • I opened up the *.pe file in a text editor and nothing seemed suspicious at first glance. I also ran it through an xml validator and it came up clean.
        I uninstalled/reinstalled the PEx updater and PEx itself, but the problem persists.
        One of the times I restarted eclipse, the project opened without any problems, meaning there must be a workaround, but I haven’t been able to recreate it.
        Unfortunately, it takes several minutes before opening the *.pe file fails, which is slowing me down.

        Like

      • Maybe you could send me that project (zipped) so I can check if the problem is with my Eclipse too?

        I’m thinking it could be with heap/memory on the host too?

        Do you have many projects open the workspace? Try to close all projects not needed.

        Like

      • Hi Ryan,

        I appologize for responding so late on your question….

        I tried your project, and it it loads fine on my side, no problem.

        So I believe something is wrong with your installation.

        Would it help you if I share my Eclipse installation with you?

        Erich

        Like

      • I have found the issue.
        In March, Oracle released a new Java Runtime Environment.
        Processor Expert will start fine using an older 32-bit JRE7, the 64-bit JRE8 was causing my issues.
        Thanks Erich

        Like

  28. A great series of articles! I made it all the way through to installing the processor expert, but when loading the PE plug-in I hit a snag. I am using all the latest loads, so maybe I should go back to the versions you were using…here is the error I get from the Add-In Manager:
    An error occurred while installing the items
    session context was:(profile=epp.package.cpp, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null –> [R]com.freescale.processorexpert.standalone_root 10.4.0, action=com.freescale.updater.customactions.actions.FreescaleInstall).
    org/eclipse/core/runtime/adaptor/LocationManager
    org/eclipse/core/runtime/adaptor/LocationManager

    short of starting over, any ideas?

    Like

    • Hi William,
      thanks 🙂
      Have you downloaded DriverSuite_10.4_Install_into_Eclipse_3.7_4.2? And then extracted it?
      And then installed first com.freescale.eclipse3.7-4.2.updater.custom.updatesite.zip?
      I think you missed that step (installing the updater.custom.updatesite one?

      Erich

      Like

      • Thanks Erich,
        No, I made that mistake earlier (tried to install PE before the freescale.eclipse), but this immediately threw an error. The PE install will work until about 70% complete, then it barfs. In the DriverSuite_10.4_Install_into_Eclipse_3.7_4.2 folder there is a file called PExDrv_10.4_Release_Notes.pdf which is a more detailed explanation on top of your directions. I followed this exactly. I was wondering if there may be an issue of 32-bit versus 64-bit. I installed the JRE runtime/Eclipse with 64-bit versions as I am running Win7. As this is a first time install, I am scratching my head a bit!.

        Like

      • Hmm, I’m wondering if your first mistake (not to install that custom update) might have leave some garbage behind? As another point: are you using Eclipes Kepler (and *NOT* Luna)? Luna is not supported yet. 32bit vs 64bit should not be an issue, I’m using Windows 7 64bit too.
        This is what ‘jave -version’ gives on my machine:
        java version “1.7.0_67”
        Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
        Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

        Like

      • and there be the problem. I just went to the latest release and picked up Luna! Oh well, time to uninstall/reinstall! Thanks for all the help…

        Like

      • oh well, it looks I should have made that clear in the posts :-(. When I wrote the articles, LUNA was not availble yet, and I was running myself into that issue. I have now added a note (in red font) about to use Eclipse Kepler with Processor Expert 10.4 until Luna is supposed to be supported in 10.5.
        Sorry that I made it not that clear…

        Like

      • no problem at all, glad to have run into this issue, so others benefit; as Eclipse download looks like Luna is the latest release, I would not be the only one to fall into this trap. Hopefully, Freescale will catch up to the Luna release soon. Thanks for all the help and the really cool articles…

        Like

  29. A few comments state that PEx v10.5 will be released in 2015, which will work with Eclipse Luna (v4.4). Just wondering if anyone has any idea when in 2015 that will happen? Is there a beta or snapshot to try so I can use Luna ?

    Like

  30. Pingback: Some notes on how to use FreeRTOS with a FRDM-KL25Z (almost) without Processor Expert | Robot Overlord

  31. Pingback: USB with the TWR-K60F120M and TWR-K70F120M | MCU on Eclipse

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s