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 🙂
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 🙂
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.
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
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 18.104.22.16860691042 which has a little bit different dialogs).
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 )
I do have the combination of K22F, K64F, KL27Z and KL43Z and that has worked on my side.