Kinetis SDK 2.0 API Reference Manual

The Kinetis Software Development Kit (KSDK) 2.0 is a collection of software enablement, for NXP Kinetis Microcontrollers, that includes peripheral drivers, high level stacks including USB and LWIP, integration with WolfSSL and mbed TLS cryptography libraries, other middleware packages (multicore support, fatfs), and integrated RTOS support for FreeRTOS, µC/OS-II, and µC/OS-III. In addition to the base enablement, the KSDK is augmented with demo applications, driver example projects, and API documentation to help users quickly leverage the support of the Kinetis SDK. The Kinetis Expert (KEx) Web UI is available to provide access to all Kinetis SDK packages. See the Kinetis SDK v.2.0.0 Release Notes (document KSDK200RN) and the supported Devices section at for details.

The Kinetis SDK is built with the following runtime software components:

  • ARM® and DSP standard libraries, and CMSIS-compliant device header files which provide direct access to the peripheral registers.
  • Open-source peripheral drivers that provide stateless, high performance, ease-of-use APIs. Communication drivers provide higher level transactional APIs for a higher performance option.
  • Open-source RTOS wrapper driver built on on top of KSDK peripheral drivers and leverage native RTOS services to better comply to the RTOS cases.
  • Real time operation systems (RTOS) including FreeRTOS OS, µC/OS-II, and µC/OS-III.
  • Stacks and middleware in source or object formats including:

    • A USB device, host, and OTG stack with comprehensive USB class support.
    • CMSIS-DSP, a suite of common signal processing functions.
    • FatFs, a FAT file system for small embedded systems.
    • Encryption software utilizing the mmCAU hardware acceleration.
    • SDMMC, a software component supporting SD Cards and eMMC.
    • mbedTLS, cryptographic SSL/TLS libraries.
    • lwIP, a light-weight TCP/IP stack.
    • WolfSSL, a cryptography and SSL/TLS library.
    • EMV L1 that complies to EMV-v4.3_Book_1 specification.
    • DMA Manager, a software component used for managing on-chip DMA channel resources.
    • The Kinetis SDK comes complete with software examples demonstrating the usage of the peripheral drivers, RTOS wrapper drivers, middleware and RTOSes.

    All demo applications and driver examples are provided with projects for the following toolchains:

    • Atollic TrueSTUDIO
    • GNU toolchain for ARM® Cortex®-M with Cmake build system
    • IAR Embedded Workbench
    • Keil MDK
    • Kinetis Design Studio

The peripheral drivers and RTOS driver wrappers can be used across multiple devices within the Kinetis product family without modification. The configuration items for each driver are encapsulated into C language data structures. Kinetis device specific configuration information is provided as part of the KSDK and need not be modified by the user. If necessary, the user is able to modify the peripheral driver and RTOS wrapper driver configuration during runtime. The driver examples demonstrate how to configure the drivers by passing the proper configuration data to the APIs. The Kinetis SDK folder structure is organized to reduce the total number of includes required to compile a project.

KSDK Folder Structure
Demo Applications<install_dir>/examples/<board_name>/demo_apps/
Driver Examples<install_dir>/examples/<board_name>/driver_examples/
USB Documentation<install_dir>/doc/usb/
lwIP Documentation<install_dir>/doc/tcpip/lwip/
DMA Manager<install_dir>/dma_manager_<version>/
lwIP TCP/IP<install_dir>/middleware/lwip_<version>/
SD MMC Support<install_dir>/sdmmc_<version>/
USB Stack<install_dir>/middleware/usb_<version>
CMSIS Standard ARM Cortex-M Headers, math and DSP Libraries<install_dir>/<device_name>/CMSIS/
Device Startup and Linker<install_dir>/<device_name>/<toolchain>/
SDK Utilities<install_dir>/<device_name>/utilities/
RTOS Kernels<install_dir>/rtos/

The rest of this document describes the API references in detail for the peripheral drivers and RTOS wrapper drivers. For the latest version of this and other Kinetis SDK documents, see the