How to use MCUXpresso to create portable projects?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to use MCUXpresso to create portable projects?

Jump to solution
2,747 Views
kora
Contributor II

I've been using Kinetis Design Studio with the KSDK over the last few years and have generally been very happy with how easy the SDK structure makes it to create self-contained application repositories that can be shared and imported on a different computer into the KDS without the need to set anything up. This was achieved by providing Eclipse “.project” and “.cproject” files for each example in the KSDK, which would use relative imports to link the resources to the parent KSDK files.

To create a self-contained firmware project, one could take a KSDK folder, remove unneeded files and put that into a repository. On any machine with an Eclipse based GNU ARM IDE installed a simple "Import->Existing Projects into Workspace" imports the project and resolves the dependencies.

With the new MCUXpresso I have not yet found a way to easily create a project which can be tracked in a repository and used on another machine. The "problem" is that the IDE now uses absolute file paths for project dependencies by default. No matter if the "Import SDK example" or "New Project" wizard is used the project settings will show that absolute paths are used (e.g. in the "Include paths" tab).

There is the option "Copy Sources" when creating a project (->"If true, copy sources in the workspace project, otherwise link existing sources in the SDK") but it causes the files to be linked to the absolute SDK path.

The “export project(s) to archive (zip)” function creates an archive that can only be used on the same machine by the same user. This is caused by the default import path of the MCUXpresso IDE when a SDK is installed/added which lies under the user folder “/users/username/mcuxpresso/0x/SDKPackages/sdk_name" and the fact that absolute imports are used instead of using a variable like “KSDK_Vxxx_PATH”.

Now of course it would be possible to manually change all imports and references to use a format that is portable across different environments, but it seems very cumbersome and takes away a lot of the advantages in terms of flexibility of the very promising new MCUXpresso features.

 

What is the suggested way to create projects for use in a repository/team based development environment instead of just locally?

1 Solution
1,916 Views
lpcxpresso_supp
NXP Employee
NXP Employee

The normal use of the IDE is to move all files into the workspace when projects are created from the SDK examples, or using the new project wizard. Note the option to "Copy sources" in both the "New project" and "Import SDK Examples" wizards, which is on by default.

However using references into the external file system should still work.

What version of the IDE are you using? Certainly we made a couple of tweaks in v10.1.0 that should improve the behaviour it sound like you might be experiencing. From: MCUXpresso IDE v10.1.0 Now Available :

  • Projects using linked references to SDKs sources now export with only relative include paths (to an environment variable) so simplifying project sharing

Regards,

MCUXpresso IDE Support

View solution in original post

1 Reply
1,917 Views
lpcxpresso_supp
NXP Employee
NXP Employee

The normal use of the IDE is to move all files into the workspace when projects are created from the SDK examples, or using the new project wizard. Note the option to "Copy sources" in both the "New project" and "Import SDK Examples" wizards, which is on by default.

However using references into the external file system should still work.

What version of the IDE are you using? Certainly we made a couple of tweaks in v10.1.0 that should improve the behaviour it sound like you might be experiencing. From: MCUXpresso IDE v10.1.0 Now Available :

  • Projects using linked references to SDKs sources now export with only relative include paths (to an environment variable) so simplifying project sharing

Regards,

MCUXpresso IDE Support