Processor Expert Component Repositories

Processor Expert for Kinetis v3.0.0 (which is part of Freescale Kinetis Design Studio v3.0.0, KDS) has now the concept of ‘repositories’ for the components.

Previously, Processor Expert was able to use two paths for its components (e.g. in KDS v2.0.0):

  1. The ‘System‘ directory inside the Eclipse installation
  2. The ‘User‘ directory: a fixed path, global for all installations

These directories are listed in the workspace settings (menu Window > Preferences > Processor Expert > Paths):

Processor Expert Paths in v2.0.0

Processor Expert Paths in v2.0.0

In the ‘System’ directory there are all the components located which come with the installation. I cannot change these components, but the path to these components can be changed (e.g. if I have multiple versions of KDS installed).

Importing Components

The ‘User’ components directory is where I can place all my components I either develop myself with CDE (Component Development Environment), or when I import components e.g. from the McuOnEclipse repository (See “McuOnEclipse Releases on SourceForge“).

Import Components

Import Components

With that menu I select the *.PEupd files I want to import (e.g. from my recent release, see McuOnEclipse Components: 05-July-2015 Release):

Selecting Components to Import

Selecting Components to Import

Repository for Components

Previously, the components would have been automatically imported e.g. into the

C:\ProgramData\Processor Expert\PEXDRV_PE5_3

location (see as well “CDE Hacking: Where is my stuff? A dissection…“).

With Processor Expert v3.0.0, that fixed ‘User’ directory is replaced with a much more flexible approach, so-called ‘Component Repositories’:

Processor Expert Repositories

Processor Expert Repositories

💡 I can change the order of the entries with drag&drop of the repository lines.

The ‘Legacy User Components’ is what has been used as ‘User’ (C:\ProgramData\Processor Expert\PEXDRV_PE5_3) folder before.

Because that earlier ‘User’ folder was not really per user, there is now a ‘My Components’ default repository location, which points to

C:\Users\\MyComponents

on Windows

Multiple Repositories

I can now have the components in multiple locations, depending on my needs. I can add/remove/change repositories, and I can have them enabled or disabled. This opens up a new way to deal with components:

  • I can place my own components anywhere I want them
  • I can place my components inside the Eclipse project. That way I can easily bundle the components for that project (e.g. in a zip file and pass it to someone else)
  • I can work in parallel with different versions/releases of the components, or switch between them.

So when I open in Processor Expert v3.0.0 the files to import, there is now a dialog asking me which repository I want to choose:

Select Repository where to import

Select Repository where to import

‘My Components’ is the default proposed, and as discussed above, it would place the components into

C:\Users\\MyComponents

That one might be a good place, depending on your needs. What you could consider is to place different McuOnEclipse component versions in different places. For this I can create here a new repository:

Create New Repository

Create New Repository

Pressing OK will give me a dialog where I can enter the repository name and location. For the location (or URL) I can use Eclipse macros:

File location for repository

File location for repository

I create a repository e.g. in this path

file:/${ProcessorExpert_loc}/Repositories/McuOnEclipse_05-Jul-2015
McuOnEclipse Repository

McuOnEclipse Repository

If that folder does not exist and if I press OK, it will ask me to have it created:

Creating new repository folder

Creating new repository folder

Changing/Updating Repository Used

As I have now an additional repository, Processor Expert asks me if I want to reload my project(s), so I can configure them which repositories to use:

💡 Such a dialog will show up as well if you import a project which uses a different repository than you have on your system.

Repositories Configuration Changed

Repositories Configuration Changed

It then will ask me which repository I want to use for the components in the project:

Dialog to select which repository to use for component

Dialog to select which repository to use for component

💡 Note that the above dialog in Processor Expert v3.0.0 says “not supported for selected processor”. This is a bogus warning, and should be fixed in the next update of Processor Expert for Kinetis. My components *are* supported :-).

💡 The other ‘not so nice thing’ is that this dialog pops up for every component in the project, so there is no ‘do this for all the remaining items’. I hope this will be improved in an update too.

Inspecting and Changing Repository Used

So with this, I can use different repositories for each component. I can see which repository is used by a component with moving the mouse over it:

Repository used by component

Repository used by component

I can change the repository with a context menu:

Change Repository

Change Repository

Then I can change the repository I want to use for that component:

Changing Repository for a Component

Changing Repository for a Component

💡 I don’t know a way how to change multiple components in one step. I need to do this one by one.

In the Components Library view, I can select and filter for the component repository

Repositories in the Components Library

Repositories in the Components Library

Snapshot Components into Repository

Another cool feature is that I can store all the components used by a project into a repository. This functionality is behind the ‘triangle’ menu:

Snapshot Components

Snapshot Components

If I want to export the components into a repository inside the project, then I can create a repository folder inside my project:

Repository inside project for project components

Repository inside project for project components

Then I make a snapshot of the components into that repository, and my project will use the components from there:

Storing Components inside project

Storing Components inside project

💡 It takes a while until all the components are exported and Processor Expert has updated all the information.

💡 Sometimes I get an error saying “unassigned interface” after the snapshot. It seems that this is related to some issues with inherited components. It seems to be related to a bug that the ‘drivers’ folder is not copied by the snapshot functionality. Not sure if this is only related to my components, but I’m going to file a support ticket about this. The workaround I have found is to re-import my components into the snapshot repository. Until this gets fixed, be careful with using Snapshots.

Summary

Processor Expert for Kinetis V3.0.0 (e.g. in Kinetis Design Studio V3.0.0) comes with the ability to deal with multiple component repositories. This way I can use different versions of the components, or making a snapshot of the used components of a project into a dedicated repository. That way, projects can be moved easier to a different machine, or the components used by a project can be frozen.

Happy Repositing 🙂

4 thoughts on “Processor Expert Component Repositories

  1. Hey Great. Some flexibility here, with some potential to trip up.!
    It would seem better to turn off “Legacy user Components” to ensure only get a defined “McuOnEclipseXx”, and also move the active “McuOnEclipseXx” to be first in the search order.
    This also automatically does the “Change Repository” for all the components.
    Which mostly worked for me except (always one….)
    LEDbit which indicates and “Error in the inherited component settings” – I guess probably because it doesn’t think it is supported.?
    However if a new component McuOnEclips:Led is dropped in it works OK.!
    So perhaps some compatibility issues
    So now the LED is from repository McuOnEclipse and BitIO is from repostiroy Kinetis.
    What worked for me using MKL26Z128VFT4
    McuOnEclipse: CriticalSection XFormat Wait Utility Shell HardFault
    Kinetis: AsynchroSerial RTC_LDD BitIO_LDD

    Like

    • I did not realize that I can change the order ;-), so thanks for that tip, I will extend the post about it.
      I’m not sure about the ‘LEDbit’ problem you are facing, I don’t see that problem. Would you mind to send me an email with screenshots? The LEDBits is basically the same as LED, but with a different name, because on DSC there is already a component named LED.

      Like

What do you think?

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