| Kinetis SDK API Reference Manual 1.0.0-beta Freescale Semiconductor, Inc.

- Introduction
- Related Pages
- API Usage

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Introduction

The Kinetis software development kit (SDK) is an extensive suite of robust peripheral drivers, stacks and middleware designed to simplify and accelerate application development on any Freescale Kinetis MCU. The addition of Processor Expert technology for software and board support configuration provides unmatched ease of use and flexibility. The Kinetis SDK is complimentary and includes full source code under a permissive open-source license for all hardware abstraction and peripheral driver software.

The Kinetis SDK consists of the following runtime software components written in C:

- ARM CMSIS Core and DSP standard libraries and CMSIS-compliant device header files which provide direct access to the peripheral registers and bits
- An open-source hardware abstraction layer (HAL) that provides a simple, stateless driver with an API encapsulating the low-level functions of the peripheral
- *System services for centralized resources including a clock manager, interrupt manager, low-power manager, and a hardware timer
- Open-source, high-level peripheral drivers that build upon the HAL layer and may utilize one or more of the system services; drivers may be used as-is or as a reference for creating custom drivers
- An operating system abstraction (OSA) layer for adapting applications for use with a real time operating system (RTOS) or bare metal (no RTOS) applications. OSAs are provided for:
  - Freescale MQX™ RTOS
  - FreeRTOS
  - Micrium uC/OS-II
  - Micrium uC/OS-III
  - CMSIS-RTOS API compliant RTOS
  - bare-metal (no RTOS)
- Stacks and middleware in source or object formats including:
  - a comprehensive device and host USB stack with comprehensive USB class support
  - CMSIS DSP, a suite of common signal processing functions
  - *Freescale MQX™ Real-Time TCP/IP Communication Suite (RTCS)
  - *Freescale MQX™ File System (MFS)
  - *FatFs, a FAT file system for small embedded systems
  - Encryption software utilizing the mmCAU hardware acceleration unit

The Kinetis SDK comes complete with software examples demonstrating the usage of the HAL, peripheral drivers, middleware, and RTOSes. All examples are provided with projects for the following toolchains:

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

The HAL, peripheral drivers and system services can be used across multiple devices within the Kinetis product family without code modification. The configurable items for each driver, at all levels, are encapsulated into C language data structures. Kinetis devices specific configuration information is provided as part of the SDK and need not be modified by the user. HAL, peripheral driver, and system services configuration is not fixed and can be changed at runtime. Optionally, the entire driver set can be pre-built into a library.

The example applications demonstrate how to configure the drivers by passing configuration data to the APIs. In addition to the software source, Processor Expert is provided as a time-saving option for software configuration. Processor Expert is a complimentary PC-hosted software configuration tool (Eclipse plug-in) with complete knowledge of all Kinetis MCUs. It provides a graphical user interface to handle MCU-specific board configuration and driver tuning tasks including:

- Optional generation of low-level device initialization code for post-reset configuration
- Package I/O allocation and pin initialization source code generation
- Creation and management of HAL and peripheral driver C source configuration data structures

Note – items indicated with as asterisk above are not completed and/or not included in this 1.0.0 Beta release of the Kinetis SDK. See the release notes for the set of features supported. The indicated items are planned for a 1.0.0 General Availability (GA) release in Summer 2014. Please contact your local Freescale Representative for additional future release information.

The organization of files in the Kinetis SDK release package is focused on ease-of-use. The Kinetis SDK folder hierarchy is organized at the top level with these folders:

The rest of the document describes the API references in detail for HAL and Peripheral drivers.