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):
- The ‘System‘ directory inside the Eclipse installation
- The ‘User‘ directory: a fixed path, global for all installations
These directories are listed in the workspace settings (menu Window > Preferences > Processor Expert > Paths):
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“).
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):
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’:
💡 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:
‘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:
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:
I create a repository e.g. in this path
file:/${ProcessorExpert_loc}/Repositories/McuOnEclipse_05-Jul-2015
If that folder does not exist and if I press OK, it will ask me to have it created:
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.
It then will ask me which repository I want to use for the components in the project:
💡 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:
I can change the repository with a context menu:
Then I can change the repository I want to use for that 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
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:
If I want to export the components into a repository inside the project, then I can create a repository folder inside my project:
Then I make a snapshot of the components into that repository, and my project will use the components from there:
💡 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 🙂
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
LikeLike
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.
LikeLike
Any workaround for the “unassigned interface” error when snapshotting components?
LikeLike
Hmm, typically I don’t do a snapshot. Unassigned interface means typically that some files and template are missing. Maybe the snapshot function is broken?
LikeLike