Combining Multiple NXP Kinetis SDKs into One

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:

Multiple Kinetis SDKs

Multiple Kinetis SDKs

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.

SDK Folder Structure

SDK Folder Structure

So the idea is to merge the folders. So I have copied and merged the folders like this:

Merged SDK V2.0

Merged SDK V2.0

However, there is one file which would cause a conflict: the ksdk_manifest.xml in the SDK root folder:

ksdk_manifest.xml file

ksdk_manifest.xml file

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):

Multiple Manifest Files

Multiple Manifest Files

With this, I have a single folder with all the SDK’s in it, and it shows up as one in the wizard:

Single SDK Root Folder

Single SDK Root Folder

With this, I have all the devices combined 🙂

Combined SDKs

Combined SDKs


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:

    1. Build the V2.0 Kineits SDK on (I recommend to build them all on the same day with the same version, tool chain and host OS).
    2. Unzip them all into a single folder.

OK to overwrite folders/files, as shared files (FreeRTOS and others) should have the same version.

  1. Rename the ksdk_manifest.xml file. Change only the text at the beginning, not at the end of the file name.
  2. 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 🙂


6 thoughts on “Combining Multiple NXP Kinetis SDKs into One

  1. 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


What do you think?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s