Introducing Kinetis SDK v2
Kinetis SDK v2 is available on www.nxp.com/ksdk web page. Click on Build your SDK now to customize the KSDK based on your selection of device or evaluation hardware, RTOS, build system and more.
(Did you see the announcement of MCUXpresso IDE, SDK and Config Tools? Kinetis SDKv2 is being renamed to MCUXpresso SDK and expanding to cover LPC devices as well. Check out the MCUXpresso SDK webpage and Community for more information.)
What's New in Kinetis SDK v2?
As was true for KSDK v1, v2 is a collection of comprehensive software enablement for NXP Kinetis Microcontrollers. It includes system startup, peripheral drivers, USB and connectivity stacks, middleware, and real-time operating system (RTOS) kernels. The Kinetis SDK also includes getting started and API documentation (online, PDF) along with usage examples and demo applications. However, v2 features several new components and improvements upon v1.
Note: The Kinetis SDK v2.0 Transition Guide provides more details about the differences and things to consider when moving from KSDK v1 to v2.
Updated Peripheral Drivers
KSDK v2 eliminates the separate HAL and Peripheral Driver, replacing these two layers with a single driver for each peripheral. The single driver provides both the low-level functionality of the HAL and the non-blocking interrupt-based functionality of the Peripheral Driver. Peripheral drivers in KSDK v2 also eliminate external software dependencies on an OSA, Power Manager, and Clock Manager. This makes the drivers easier to configure and more suitable for usage outside of the KSDK environment.
Simplified Folder Structure
The folder structure of KSDK v2 has been simplified. The image below shows the folder structure for a KSDK v2 build for FRDM-K64F.
The boards folder has been elevated to the top level and contains folders for all supported evaluation hardware. Specific board folders contain demo application, driver examples, middleware examples, and RTOS examples—all designed and tested to run on that specific board.
The CMSIS folder contains the ARM® CMSIS vendor-independent hardware abstraction layers for Cortex®-M devices including CMSIS-CORE include files and CMSIS-DSP source and libraries.
The devices folder has also been elevated to the top level. This folder contains sub-folders for each supported Kinetis MCU device. KSDK v2 does not have a separate platform library. All peripheral drivers can be found in the drivers folder contained within each device. Here you’ll find all the drivers for the given device. This greatly simplifies include path requirements and makes it easy to determine which drivers apply to which devices.
You’ll also find middleware, and rtos folders at the top level that contain subfolders with source code for all middleware components and RTOS kernels supported.
One of the most notable changes in KSDK v2 is the focus on FreeRTOS. All RTOS examples now use the FreeRTOS kernel. Micrium μC/OS-II and μC/OS-III kernels are also pre-integrated into the KSDK (under an evaluation license). RTOS peripheral driver wrappers for FreeRTOS and uC/OS-II & III are also provided that leverage native RTOS services (with no OSA). These are provided for use as-is or as examples for how to integrate KSDK drivers and middleware with other Operating Systems.
The MQX kernel, stacks and middleware have been removed from the Kinetis SDK. However, MQX Software is still a supported software suite from NXP that is available in the MQX RTOS and MQX for KSDK v1.3 products. New ports of MQX following the “Classic” architecture (i.e. similar style to MQX v4.x) will soon be available for newer Kinetis devices. From here forward, the Kinetis SDK will focus on open-source RTOS solutions.
KSDK v2 features a few new and updated middleware packages. The USB stack is new and now offered under an open source, permissive license. lwIP and FatFS are retained as open source solutions or TCP/IP communications and filesystem support, respectively. There are also two optional cryptography packages, available separately, that have been pre-integrated and tested with the Kinetis SDK: wolfSSL and mbedTLS.
A complete list of support devices has been published in the new MCUXpresso Community.
KSDK v2 supports the latest versions of:
Kinetis Design Studio (KDS) and Kinetis SDK v2
An update is available for KDS v3.x that adds a Kinetis SDK v2.x New Project wizard. See this KDS Community post for details on installing the update.
Stand-alone KSDK Project Generator
To quickly create new Kinetis SDK projects, or to clone existing projects, use the Kinetis SDK Project Generator
Unlike KSDK v1, v2 does not have Processor Expert support available. A new suite of configuration tools is being created that will build on KSDK v2 and will be rolled out throughout 2016.
Please could you clarify when K20 support with SDK 2.0 will be available. Specifically for MK20DX256VLK10.
K20 is not listed individually but is possibly covered by the reference to K10D-K60D in Release 2.
Can you say if/how "Kinetis SDK v2.x New Project wizard" will be evolved, will it stay as is, evolve into something like Processor Expert or will Processor Expert eventually support SDKv2.x?
Anyway thanks for the above post it is good to see some roadmap in these times of change.
Looks like the wireless Kinetis W devices will be included sometime around May. Will the wireless capability (802.15.4 stack) be included?
Yes, the MK20DX256xxx10 devices are supported in KSDK v1.3 today and they will be brought into KSDK v2 in the March release. You can build a KSDK v1.3 based SDK today using the new Kineis Expert - SDK Builder tool: kex.nxp.com.
When do you expect to add the K50 parts?
Sometime after the next Eagles reunion tour (which will now be very difficult to achieve)?
Thanks for the confirmation. I am currently using KDS with SDK 1.3.0 for
our current development but it is good to know roughly when we can move to
the new SDK.
On Thu, Feb 4, 2016 at 8:26 PM, mnorman <email@example.com>
We have a few things in the works. In Kinetis Design Studio, we will continue to enhance the New Project wizard as needed. The KDS New Project wizard focuses on quickly creating an SDK-based project--obviously for KDS IDE only.
There is another standalone tool, the Kinetis SDK Project Generator, that is a simple utility, outside of an IDE, that can be use to create a new or clone an existing SDK and generate native IDE projects for IAR EWARM, Keil MDK, KDS, and GCC (GNU ARM) with CMake projects. The updated version (v2) of the KSDK Project Generator supporting KSDK v2 was just posted to the web today (http://www.nxp.com/ksdk)
Finally, we are working on new configuration tools, namely Kinetis Expert, which will take the best from Processor Expert and streamline the workflow, providing a more intuitive user experience. This tool will be available outside of any specific IDE and will offer the ability to configure the MCU (pins, clocks, peripherals, etc.) and higher-level software components. This tool will also feature a seemless project generator tool that takes the output of the encapsulated tools (pins, clocks, etc.) and creates native IDE projects. So far we've released only a simple version of Kinetis Expert that offers the SDK Builder and a Power Estimation tool. Watch for more releases of this tool throughout 2016.
Yes, the Kinetis W connectivity stack will be updated and built on top of the KSDK v2 foundation and available in the May timeframe. We'll update the Kinetis SDK v2 doc with that latest release information as it becomes available.
Sorry about Glenn Frey, may he rest in peace.
On the good news front, the K5x devices are currently supported in KSDK v1.3 and will be added to KSDK v2 in our end-March release (exactly timing still being finalized). Hopefully this news gives you a peaceful, easy feeling.
Can you please be more specific about “Kinetis Expert” product.
I’m exposed to KDS, KSDK and PE for more than half a year (beginner).
As a learning curve I tried to work (self-study) with a lot of I/O peripherals using PE with KSDK and without.
The beginning was painful I’m not sure about the code efficiency and performance but now it is working without
diving too deep into processors reference manuals.
I looked at the demos, driver and API reference manual as a new Kinetis user (and potential new
users/students) at this stage I don’t dare to work with v2 without something equivalent to PE.
Thank you for this information.
I have been working on a project for the last year using the KSDK 1.1 then 1.2 and now 1.3 with the MQX RTOS and more importantly the web server part of the RTCS. I have relied heavily upon the Processor Expert features of KDS 3.0 to configure the hardware and my project is built with the IAR embedded workbench.
I have looked at the code of the new KSDK 2.0 and it looks very clean and efficient so I am very interested in using it.
Do you know if future versions of MQX will use the new 2.0 drivers?
Is it possible to combine MQX classic with new 2.0 drivers for other peripherals and if so will there be a guide to do so?
Using PE allowed me to get up and running with the core very quickly but it has kept me away from the low level workings so going about the task of updating is a bit of a mystery.
I tried to use the SDK last year but was reined in by the fact that projects 'imported' from it were indirectly referenced, such that any attempt to modify such a project would trash the source files in my SDK. Has this been fixed in the upgrade?
Yes. The KSDK Project Generator and KDS Project Wizard can copy the relevant pieces of KSDK into your project folder so that you don't need to modify the KSDK installation. KSDK v2 also makes it much easier to pluck individual drivers or components out of KSDK and put them into your own environment if desired.
My O.S. is Windows 10 and ran into an error as I tried to unzip the KSDK v. 2 package. It shows up a message saying it can't copy the files because the path it too long. How can I fix that?
Hi, again, Michael
I solved the problem about the long path. I just extracted the files to a shorter path like C:/Freescale and it worked, but it only includes KS22F package. I don't undertand why the other packages didn't come together.
Do I have to install all the packages separately, through SDK Builder, one at a time?
Looks like Kinetis KW22 and KW24 are now available. I generated and downloaded the SDK, but I couldn't find any mention of Phy, MAC, or ieee_802_15_4 in the file/folder structure. I also used the KSDK Project Generator, but I couldn't find any mention of wireless connectivity in that either. Perhaps the wireless layer(s) aren't included yet?
I was using MK20DN512VLQ10 in my previous project, this one seems to be supported by KSDKv1.3. For my current project a switched to MK10FN1M0VLQ12, as I do not need USB at all and I was "memory hunting". So I chose more Flash and more RAM. But I do not see this particular chip covered by neither KSDK v1.3 nor v2.0. Will this one be added to some future KSDK release? If so, when?
As today, SDK2.0 does not include support for the TWR-K60F120M and or its MK60Fxxx MCU. Does anybody has an idea whether this will come and if yes, when, please ?
Thanks and regards
Is there a roadmap available with release dates for Kinetis Expert features?
"A new suite of configuration tools is being created that will build on KSDK v2 and will be rolled out throughout 2016." is a little vague.