My wife tells me that I have too many boards on my desk. That is only *partially* correct: there are many, but not *too* many. But I’m working on too many tasks, but that’s a different aspect :-). I’m using more and more the Kinetis SDK V2.0, and as a result of this I have multiple SDKs installed on my machine. Because with the SDK V2.0 I get a download for each device/board installed (see “First NXP Kinetis SDK Release: SDK V2.0 with Online On-Demand Package Builder“). So my list of SDK folders is growing, as shown with the ‘New SDK 2.x’ wizard in Kinetis Design Studio:
The same time, the amount of free disk space is reducing. What if I could combine all these SDK’s?
With the previous SDK V1.x, there were multiple devices supported in one SDK folder. I understand that not everyone is using all devices so there were too many devices. And I think it is good to have just the devices in it which I want. So I was looking for a way to combine multiple SDK’s into one.
Checking the folder structure shows that they are very compatible: all the device specific folders are clearly separate.
So the idea is to merge the folders. So I have copied and merged the folders like this:
However, there is one file which would cause a conflict: the ksdk_manifest.xml in the SDK root folder:
This file is used by the KDS New Project wizard. First I was thinking to merge multiple manifest XML files, but actually there is a much trick: rename the XML files :-).
The trick is to rename them to *ksdk_manifest.xml (change the thing in the front of the files):
With this, I have a single folder with all the SDK’s in it, and it shows up as one in the wizard:
With this, I have all the devices combined 🙂
Summary
It is possible to combine multiple SDK’s (at least it worked for me with the SDK V2.0 using the New SDK V2.x Wizard in Kinetis Design Studio V3.2.0:
- Build the V2.0 Kineits SDK on http://kex.nxp.com (I recommend to build them all on the same day with the same version, tool chain and host OS).
- Unzip them all into a single folder.
OK to overwrite folders/files, as shared files (FreeRTOS and others) should have the same version.
- Rename the ksdk_manifest.xml file. Change only the text at the beginning, not at the end of the file name.
- In the wizard, browse to that folder and use it as SDK root folder.
I have combined that way the SDK for K22F, K64F, K82F and KL43Z. This greatly reduced the number of files and space on disk needed:
- Separate SDK: 15’612 Files, 1786 Folders, 1202 MByte
- Combined SDK: 10’785 Files, 1244 Folders, 441 MByte 🙂
Happy Combining 🙂
Nice !
LikeLike
Its would be great if NXP provided a git repository for KSDK for all devices and KDS updated this repository automatically when releases become available.
LikeLike
Thank you for this tip, it generally works great. One small observation though – I merged the multiple SDKs without problem but whenever I added a particular *ksdk_manifest.xml the “New KSDK Project Wizard” would only show the Boards and Processors from this manifest (in my case: FRDM-K22F
Turns out that the new Project Wizard only accepts multiple manifest files as long as the XML section matches exactly between all manifest files. As a workaround the section from one manifest file can be copied and pasted into the file that breaks the integration.
Side Note: I did generate/download all the SDKs on the same day and just double checked if I maybe used an old file from my harddrive – but the problem could be recreated
LikeLike
Are you using the latest Kinetis SDK wizard? I have updated the wizard with the latest version from the following update site: http://nxp.com/lgfiles/updates/Eclipse/KDS
I had no problems to show all the boards and devices, as shown in https://mcuoneclipse.files.wordpress.com/2016/06/combined-sdks.png
(Note: There is now a new version 2.0.0.20160691042 which has a little bit different dialogs).
LikeLike
I have the same version for the Kinets SDK wizard….
Here’s a copy of the kxxf_ksdk_manifest files that are not working for me (K22F, K65F and K82F)
K82F & K65F manifests play together nicely (they have the same settings), as soon as K22F is introduced the wizard only offers K22F based boards & processor projects…. (which can be fixed by making sure that all files contain the same settings in )
LikeLike
I do have the combination of K22F, K64F, KL27Z and KL43Z and that has worked on my side.
LikeLike