Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide

Similar documents
Getting Started with Freescale MQX RTOS for Kinetis SDK and MDK-ARM Keil

Getting Started with Freescale MQX RTOS for Kinetis SDK and ARM GCC

Getting Started with Freescale MQX RTOS for Kinetis SDK and Kinetis Design Studio IDE

Getting Started with Kinetis SDK (KSDK) v.1.3

Getting Started with Kinetis SDK (KSDK) v.1.2

MQX RTOS Release Notes for Kinetis SDK v1.2.0 for KL33Z64 for FRDM-KL43Z Freescale Freedom Development Platform

MQX RTOS Release Notes for Kinetis SDK FRDM- KV10Z Freescale Freedom Development Platform

TWR-KV10Z32 Sample Code Guide for IAR Board configuration, software, and development tools

Getting Started with FreeRTOS BSP for i.mx 7Dual

TWR-KV10Z32 Sample Code Guide for CodeWarrior Board configuration, software, and development tools

Kinetis SDK v Release Notes for KV5x Derivatives

Freescale MQX USB Stack for TWR-K24F120M GA User s Guide

Quick Start Guide for FRDM-KL05Z

Quick Start Guide for the Freescale Freedom Development Platform FRDM-KL43Z

Quick Start Guide for FRDM-KL46Z Rev 1

Kinetis SDK Release Notes for the TWR-K24F120M Tower System Module

Getting Started with MCUXpresso SDK

Freescale MKW40Z IEEE Software Quick Start Guide

Load Position-Independent Code (PIC) on a Kinetis Platform Using the IAR EWARM Compiler

Getting Started with MQX RTOS for Kinetis SDK

Quick Start Guide for FRDM-KL46Z Rev 1

Kinetis Bootloader v1.2.0 Release Notes

Getting Started with the MCU Flashloader

Freescale Kinetis Software Development Kit Release Notes

FRDM-KL03Z User s Guide

Getting Started with MCUXpresso SDK CMSIS Packs

Offline Flash Programmer for Kinetis K- and L-series MCUs

Kinetis SDK v Release Notes for the MK21DA5 and MKW24D5 Devices

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

Emulating Dual SPI Using FlexIO

Kinetis Bootloader Demo Application User's Guide

Quick Start Guide for FRDM-FXS-MULTI-B

Emulating I2C Bus Master by using FlexIO

OpenSDA on TWR-KW2x. User s Guide Rev 1.1

HVP-KV10Z32 User s Guide

FRDM-K64F Board Errata

Kinetis Bootloader to Update Multiple Devices in a Field Bus Network

NXP Semiconductors MCU Bootloader Demo Applications User's Guide

Kinetis Updater User's Guide

Kinetis USB-KW41Z Wireless Protocol Sniffer Quick Start Guide

Building U-Boot in CodeWarrior ARMv8

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

MCU Bootloader Release Notes

Freedom FRDM-KV31F Development Platform User s Guide

WPR1500-LDO MP Receiver V2.1 Reference Design User s Guide

Reference Design KL25-AGMP01 User Guide 10-Axis Data Logger Tool Kit

HVP-KV31F120M User s Guide

RN2483_Silica Documentation

Adding a run control interface into an existing CodeWarrior for MCU v10.x project

FRDM-KE02Z User s Manual

Freescale MQX RTOS TWR-K64F120M Release Notes

Three-Phase Power Meter Hardware Design Reference Manual

Freedom FRDM-MC-LVBLDC Development Platform User s Guide

Hands-On Workshop: ARM mbed

Quick Start Guide. TWR-KV10Z32 Development Kit for Kinetis KV1x Family TOWER SYSTEM

Kinetis KE1xF512 MCUs

Processor Expert Software for i.mx Processors Version 1.0

Freescale MQX RTOS for Kinetis SDK Release Notes version beta

Collecting Linux Trace without using CodeWarrior

Kinetis Flash Tool User's Guide

Kinetis Flash Tool User's Guide

MCUXpresso SDK USB Power Delivery

The process also requires the use of the following files found in the Micriµm Quick Start Package for the FRDM-KL46Z:

TWR-KL28Z User s Guide

FRDM-KL26Z User s Guide

Using an External GCC Toolchain with CodeWarrior for Power Architecture

How to Enable Boot from QSPI Flash

µc/probe on the Freescale FRDM-KL05Z without an RTOS

Kinetis KL1x General-Purpose Ultra-Low- Power MCUs Up to 256 KB Flash and 32 KB SRAM

TWR-LS1021A Getting Started

How to Enable Boot from HyperFlash and SD Card

Controller Continuum. for Microcontrollers V6.3. Quick Start

How to use FlexMemory as D-Flash and EEPROM in KE1xF

TWR-LS1021A Getting Started

Kinetis Motor Suite v1.2.0 Release Notes

Quick Start Guide TRK-KEA. Kinetis EA Series MCUs for Automotive Electronics Applications. StarterTRAK

Release Notes. S32 Design Studio for ARM v1.1

PMSM Field-Oriented Control Using MC56F84789 DSC With Encoders Demo Guide

CodeWarrior Development Studio for StarCore DSP SC3900FP Architectures Quick Start for the Windows Edition

Watt Saver Software Component (WSC)

General C Functions for the etpu Covers the MCF523x, MPC5500, MPC5600, MPC5700, MPX40 and all etpu-equipped Devices

Smart Plug Software Design Reference Manual

MCUXpresso SDK USB Stack User s Guide

UM1727 User manual. Getting started with STM32 Nucleo board software development tools. Introduction

DDR Validation Tool Getting Started Guide

Quick Start Guide for mbed enabling Freescale FRDM-KL25z Freedom board

FRDM-KE04Z User s Guide User Guide

for ColdFire Architectures V7.2 Quick Start

Keil TM MDK-ARM Quick Start for. Holtek s HT32 Series Microcontrollers

TWR-K60F120M Quick Start Guide

Hands-On Workshop: Developing with the Kinetis Software Development Kit

NADK Reflector Application Debug

CodeWarrior Development Studio for Power Architecture Processors Version 10.x Quick Start

MMA845x Driver: Quick Start Guide

P1010RDB-PB Quick Start Guide

Working around ERR7026 according to application needs

Kinetis KM3x Metrology MCUs based on ARM Cortex -M0+ Core

KW40 ZumoBot Reference Design

TWR-KL43Z48M Quick Start Guide

Component Development Environment Getting Started Guide

Transcription:

Freescale Semiconductor, Inc. KSDKKL03UG User s Guide Rev. 1.0.0, 09/2014 Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide 1 Introduction This document describes the hardware and software environment setup for the Kinetis SDK (KSDK). It also explains how to build and run demo applications provided in the KSDK release package. 2 Overview 2.1 Kinetis SDK Kinetis SDK is a Software Development Kit that provides software support for the core and peripherals for Freescale devices with the ARM Cortex -M core. The KSDK includes a Hardware Abstraction Layer (HAL) for each peripheral and peripheral drivers built on the HAL. Example applications are provided to demonstrate peripheral driver and HAL usage to highlight the main features of the targeted SoCs. Also, the KSDK contains the latest available RTOS kernels, and other software components used on the supported evaluation boards. Contents 1 Introduction... 1 2 Overview... 1 2.1 Kinetis SDK... 1 2.2 Hardware requirement... 2 2.3 Toolchain requirement... 2 3 Kinetis Design Studio IDE (KDS) version 1.1 Hardware Configurations... 2 3.1 FRDM-KL03Z Introduction... 2 4 Build and Run a KSDK Demo Application... 3 4.1 IAR Embedded Workbench... 3 4.2 GCC ARM Embedded Tool... 10 4.3 KEIL MDK Embedded Tool... 16 4.4 Kinetis Design Studio IDE... 22 5 Revision history... 36

2.2 Hardware requirement A Freescale Freedom FRDM-KL03Z platform is required. 2.3 Toolchain requirement IAR Embedded Workbench version 7.20.2 ARM GCC 4.8.3 2014q1 Keil MDK 5.11 with Freescale Kinetis KLxx Series Device Support pack 1.1.0 Kinetis Design Studio IDE (KDS) version 1.1 3 Kinetis Design Studio IDE (KDS) version 1.1 Hardware Configurations This section describes how to set up the FRDM-KL03Z for the KSDK application. 3.1 FRDM-KL03Z Introduction 3.1.1 FRDM-KL03Z features KL03Z32VFK4 MCU (48 MHz, 32 KB Flash, 2 KB RAM, low power, 24 QFN package) Capacitive touch slider, MMA8451Q accelerometer, Tri-color LED Flexible power supply options USB, coin cell battery, external source Easy access to MCU I/O Tri-color user controllable LEDs Two (2) user push-button switches for NMI interrupts and LLWU wake up (SW2/SW3) Thermistor sensor to measuring temperature Battery-ready, power-measurement access points Form factor compatible with Arduino R3 pin layout New OpenSDA debug interface Mass storage device flash programming interface (default) no tool installation required to evaluate demo apps P&E Debug interface provides run-control debugging and compatibility with IDE tools 2 Freescale Semiconductor, Inc.

3.1.2 FRDM-KL03Z first look Figure 1 FRDM-KL03Z 4 Build and Run a KSDK Demo Application This section describes the configuration process for the IAR Embedded Workbench, GCC ARM Embedded Tool, Keil µvision IDE, and Kinetis Design Studio IDE to build, run, and debug demo applications provided in the Freescale KSDK. The Hello_world demo application, targeted for the FRDM-KL03Z platform, is used as an example. Note that the SDK libraries must be built before building a demo application. To build the SDK libraries, see Appendix A of this document. 4.1 IAR Embedded Workbench Because the platform driver library is already included in the lib folder of the demo application project, you can open the demo application project and build the demo applications directly whenever the platform_lib.a is ready. Demo applications workspace files are located in: <install_dir>/demos/<demo_name>/<compiler>/<board_name>/<demo_name>.eww If the hello worlddemo application is used as an example, the IAR workspace file is located here: <install_dir>/demos/hello_world/iar/frdmkl03z48m/hello_world.eww Freescale Semiconductor, Inc. 3

1. To build a demo application, click the Make button. Figure 2 Build hello world demo application When the build is complete, IAR displays this information in the build window: 4.1.1 Run a demo application Figure 3 Build hello world demo successfully Downloading and debugging the KSDK demo applications in IAR Embedded Workbench is a standard process for all applications. Use these steps to download and run the application: 1. Download and install the latest OpenSDA drivers from www.pemicro.com/opensda. 2. After the successful installation of the OpenSDA driver, connect the OpenSDA USB connector, J9 for the FRDM-KL03Z platform, to the USB port on a PC. 4 Freescale Semiconductor, Inc.

3. Open the terminal application on a PC, such as PuTTy, and connect to the OpenSDA COM port number. At that point, Windows Device Manager shows the COM port number assigned to the OpenSDA. Figure 4 OpenSDA serial port in Device Manager 4. Configure the terminal settings as shown here: a. 9600 baud rate b. No parity c. 8 data bits d. 1 stop bit Figure 5 Terminal (PuTTY) configurations Freescale Semiconductor, Inc. 5

5. Ensure that the debugger configuration is correct in the project options. Figure 6 Flash loader configurations 6 Freescale Semiconductor, Inc.

PE micro driver is selected in the debugger setup by default FRDM-KL03Z. NOTE IAR defaults to write 0x3D to FOPT(0x40d) to enable MCU boot determined by external pin (NMI) after next reset. To enable the user s configuration to flash configure field (0x400 0x40f), enable flash loader parameter --enable_config_write. Figure 7 Debugger configurations for driver Freescale Semiconductor, Inc. 7

OpenSDA-USB and SWD are configured in the PE micro settings as shown: Figure 8 Debugger configurations for PE micro 6. After the application is built successfully, click on the Download and Debug button to download the application to the target device. Figure 9 Download and debug button 8 Freescale Semiconductor, Inc.

7. After the application is downloaded to the target device, the debugger stops executing at the start of the main() function: Figure 10 Stop at main () when run debugging You can resume application execution by clicking the Go button. Figure 11 Go Button 8. The hello world application should now be running and the following banner should be displayed on the terminal. If this is not the case, check your terminal settings and terminal connections. Figure 12 Hello World demo running For example, it echoes any character that is typed: Figure 13 Help command Freescale Semiconductor, Inc. 9

4.2 GCC ARM Embedded Tool 4.2.1 Environment setup 4.2.1.1 Install GCC ARM v4.8.3 2014q1 embedded toolchain 1. Download the Windows installer. 2. Install the toolchain in the /Program Files/ location, located on your C:\ drive. Figure 14 Install GCC ARM embedded toolchain 4.2.1.2 Install MinGW and MSYS 1. Download the MinGW installer. 2. Run mingw-get-setup.exe and select the installation path, such as: C:/MINGW. 3. Select the mingw32-base and the msys-base under the Basic Setup. Figure 15 MinGW Installer 10 Freescale Semiconductor, Inc.

4. Click Apply Changes from the Installation menu to install packages. 4.2.1.3 Configure system environment Figure 16 MinGW Installer apply change 1. Update the system environment variable Path to include the MinGW installation folder, such as the <drive>\mingw\msys\1.0\bin;<drive>:\mingw\bin. Figure 17 Environment variable update Freescale Semiconductor, Inc. 11

2. Run the GCC Command prompt in Start, All Programs. Then, run the GNU Tools ARM Embedded 4.8.3 2014q1. Figure 18 PATH environment 3. If you build in the Windows command line, add the environment variable ARMGCC_DIR. Its value is the short name of ARM GCC install path. Figure 19 Add environment variable 4. If you build in GIT-bash or cygwin, set by "export ARMGCC_DIR=C:/PROGRA~/GNUTOO~1/4298B~1.820". Use '/' as a separator. 12 Freescale Semiconductor, Inc.

5. To build using the KDS IDE GCC toolchain, add the system environment variable KDSGCC_DIR and its value is the path of KDS IDE GCC toolchain. Note that you should use a short name here. Then, mingw32-make toolchain=kdsgcc. 4.2.2 Build the platform driver library Before building and debugging any demo application in KSDK, the driver library project should be built to generate the library archives: ksdk_platform_lib.a. Because this library contains all binary codes for HAL and the peripheral drivers specific to the chip, each SoC has its own platform.a library archives. To build the platform library, change the current directory in GCC command prompt to: <install_dir>/lib/ksdk_platform_lib/gcc/<device_name>/ For example: <install_dir>/lib/ksdk_platform_lib/gcc/kl03z4/ Run the command mingw32-make build=debug or mingw32-make build=release. When the build is complete, the ksdk_platform_lib.a is generated in the directory according to the build target: Debug - <install_dir>/lib/ksdk_platform_lib/gcc/<device_name>/debug Release - <install_dir>/lib/ksdk_platform_lib/gcc/<device_name>/release Demo applications use the ksdk_platform_lib.a to call the HAL and peripheral driver functions. 4.2.3 Build a demo application Change the directory in GCC command prompt to this: <install_dir>/demos/hello_world/gcc/frdmkl03z48m Run the mingw32-make build=debug target=flash command. When the build is complete, the hello_world.elf and the hello_world.bin are generated in this path: <install_dir>/demos/hello_world/gcc/frdmkl03z48m/flash_debug 4.2.4 Run a demo application This section describes how to download and debug the applications by using J-Link. Note To use an external debugger, such as J-Link, you may need to disconnect the OpenSDA SWD from the KL03. Freescale Semiconductor, Inc. 13

You can debug the application by using Eclipse with CDT or command line. This example shows how to use the GDB command line. 1. Download and install J-Link software and documentation package for the Windows operating system. You may need a J-Link serial number to download the software. 2. KL03 is now supported in the Segger GDB server. Setup the GDB server by running the GDB server JLinkGDBServer.exe. Figure 20 J-Link GDB server GUI 14 Freescale Semiconductor, Inc.

3. Select the connection options for your board. For KL03, select the MKL03Z32xxx4 device as the target device. After configuration, click on the OK button to connect to the board. Figure 21 JLinkGDBServer connection 4. Download and debug from the command line Change the directory like this: <install_dir>/demos/hello_world/gcc/frdmkl03z48m/flash_debug Freescale Semiconductor, Inc. 15

5. Run the arm-none-eabi-gdb to start the GDB. After the GDB is launched, run the commands to load and start the application like this: target remote localhost:2331 monitor reset monitor flash breakpoints = 1 monitor flash download = 1 load hello_world.elf monitor go 4.2.5 Debugging Figure 22 Run arm-none-eabi-gdb Use the GDB general debug command to do debug. To quit the debugging, use the monitor halt to halt the target CPU, then quit the debug. 4.3 KEIL MDK Embedded Tool 4.3.1 Environment Setup 4.3.2 Downloading and Installing the KEIL MDK 5.11 To download the KEIL MDK 5.11 (or later), follow these instructions: 16 Freescale Semiconductor, Inc.

1. Go to www.keil.com to download the KEIL MDK 5.11 (or later). 2. To install software tools, follow the installer package instructions once you receive your download. 3. Navigate to www.keil.com/dd2/pack/ to locate Freescale Kinetis KLxx Series Device Support and Examples to find the latest version 1.20 or later. Download and install it to support KL03Z device. 4.3.3 Downloading and Installing the OpenSDA patch for KEIL MDK To download and install the OpenSDA patch for the KEIL MDK 5.11, follow these instructions: 1. Navigate to the Freescale Kinetis OSJTAG Drivers V1.20 at www.keil.com/download/docs/408.asp. 2. At the Freescale Kinetis OSJTAG Drivers V1.20 download page, click the FSLKINETISDRIVERSV118.EXE (or higher) link and follow the onscreen instructions for saving this file to your computer. 3. Navigate to the location where you saved this file, double click the executable, and follow the onscreen instructions for installing these files. 4.3.4 Build a demo application Because the platform driver library is already included in the lib folder of the demo application project, open the demo application project and build the demo applications directly whenever the platform_lib.a is ready. Demo applications workspace files are located in: <install_dir>/demos/<demo_name>/<compiler>/<board_name>/<demo_name>.uvmpw If the hello_world demo application is used as an example, the KEIL workspace file is located here: <install_dir>/demos/hello_world/uv4/frdmkl03z48m/hello_world.uvmpw Freescale Semiconductor, Inc. 17

1. To build a demo application, click the Build button: Figure 23 Build button When the build is complete, Keil displays this information in the Build window: 4.3.5 Run a demo application Figure 24 Keil build window Downloading and debugging KSDK demo applications in KEIL MDK Embedded Workbench is a standard process for all applications. Use these steps to download and run the application: 1. Download and install the latest OpenSDA drivers from www.pemicro.com/opensda. 2. After the successful installation of the OpenSDA driver, connect the OpenSDA USB connector, J9 for the FRDM-KL03Z platform, to the USB port on a PC. 3. Open the terminal application on a PC, such as PuTTy, and connect to the OpenSDA COM port number. At that point, Windows Device Manager shows the COM port number assigned to the OpenSDA. 18 Freescale Semiconductor, Inc.

4. Configure the terminal settings as shown here: a. 9600 baud rate b. No parity c. 8 data bits d. 1 stop bit 5. Ensure that the debugger configuration is correct in the project options. The PE micro driver is selected in the debugger setup by default for FRDM-KL03Z. Figure 25 PE micro driver Debug 6. Select the correct device and click Settings. Figure 26 PE micro Settings Freescale Semiconductor, Inc. 19

7. Make the correct configuration in the window below. Figure 27 PE micro Configuration 8. After the application is built successfully, click the Download and Debug button to download the application to the target device. Figure 28 Download and Debug button 20 Freescale Semiconductor, Inc.

9. After the application is downloaded to the target device, the debugger stops executing at the start of the main() function. Figure 29 Debugger You can resume application execution by clicking on the Go button: Figure 30 Go button Freescale Semiconductor, Inc. 21

10. The hello world application should now be running and following banner should be displayed on the terminal. If this is not the case, check your terminal settings and terminal connections. Figure 31 Hello world running NOTE Default startup_mkl03z4.s file define 0x3D to FOPT. Figure 32 Default startup So if boot is to be determined by the external pin (NMI) after downloading code to flash, the user can change this setting to another configuration to get another boot sequence. 4.4 Kinetis Design Studio IDE 4.4.1 Environment Setup Install the Kinetis Design Studio IDE (KDS) and fix the environment variable (only for Windows users. See Appendix B for details). 22 Freescale Semiconductor, Inc.

4.4.2 Build a demo application If the platform driver is already included in the lib folder and the ksdk_platform_lib.a is generated, users can directly open the demo application project and build it in the KDS IDE. Demo application project files are located in : <install_dir>/demos/<demo_name>/<compiler>/<board_name> The Hello World demo application for the FRDM-KL03Z is used as an example. The KDS IDE workspace file is located at: <install_dir> /demos/hello_world/kds/frdmkl03z48m 1. You can click File Import to open the project. Use browse to select root directory and KDS IDE automatically opens the project in sub directories. Figure 33 KDS IDE project import 2. To build a demo application, click the Build button: Figure 34 Build test demo application Freescale Semiconductor, Inc. 23

When the build is complete, KDS IDE displays this information in the build output window: 4.4.3 Run a demo application Figure 35 Build hello world demo application successfully 1. For the driver installation, refer to Appendix C for OpenSDA J-Link setup and serial terminal configuration. 2. In the Project Explorer, right click the project containing the embedded application that users want to debug. Or in the tool bar, click Run Debug configuration. Figure 36 Open the debug configuration 24 Freescale Semiconductor, Inc.

3. For the FRDM-KL03Z platform, the OpenSDA debug adapter running a compatible J-Link firmware is used. Double click the GDB SEGGER J-Link to create a new debug configuration. 4. Click the Main tab and check that the correct project and C/C++applications are chosen. The C/C++ Applications file should be an.elf file in your project directory. 5. The Hello World demo for the FRDM-KL03Z is used as an example. The project should be hello_world_frdmkl03z48m. The C/C++ Application should be debug/hello_world_frdmkl03z48m.elf. Figure 37 Main tab for a GDB SEGGER J-link Debugging configuration 6. Click the Debugger tab and select the correct device name MKL03Z32xxx4. Freescale Semiconductor, Inc. 25

7. The remaining fields of the Debugger tab can be left with the default value. This establishes a connection to the remote target as a local host. Figure 38 Debugger tab for GDB SEGGER J-link Debugging configuration 8. Click Apply, then click the Debug button. This launches the debugger. Figure 39 Debug perspective 26 Freescale Semiconductor, Inc.

9. You can resume application execution by clicking the Resume button, or press F8 to execute the application. Figure 40 Run button 10. The hello world application should now be running in PuTTy, and the following banner should be displayed in the terminal. If this is not the case, check your terminal settings and the terminal connections. Figure 41 hello world demo running Note that default startup files (startup_mkl03z4.s) write FOPT to 0x3D. Figure 42 startup_mkl03z4.s file The boot is determined by the external pin (NMI) after downloading code to flash, and the user can change this setting to another configuration to get another boot sequence. Freescale Semiconductor, Inc. 27

Appendix A: Build the platform driver library Before building and debugging any demo application in KSDK, the driver library project should be built to generate the library archive ksdk_platform_lib.a. Because this library contains all binary codes for HAL and the peripheral drivers specific to the chip, each SoC has its own platform.a library archive. 1. Build the platform driver library in IAR. To build the platform library, open the workspace file in IAR. The platform driver library project is located in: <install_dir>/lib/ksdk_platform_lib/iar/<device_name> The workspace file is named ksdk_platform_lib.eww: <install_dir>/lib/ksdk_platform_lib/iar/<device_name>/ksdk_platform_lib.eww The project file is named ksdk_platform_lib.ewp: <install_dir>/lib/ksdk_platform_lib/iar/<device_name>ksdk_platform_lib.ewp To build the platform driver library for the KL03, open the workspace file in IAR: <install_dir>/lib/ksdk_platform_lib/iar/<device_name>/ksdk_platform_lib.eww In the IAR Embedded Workbench project file, two compiler/linker configurations (build targets ) are supported: Debug - the compiler optimization is set to low. The debug information is generated for the binary. This target should be used for developing and debugging. Release - the compiler optimization is set to maximum. The debug information is not generated. This target should be used for the final application release. Note: Code is downloaded to Flash instead of RAM in both Debug and Release configurations. Choose the appropriate build target: Debug or Release. Then click the Make button (highlighted by a red rectangle below): Figure 43 Platform driver library build 28 Freescale Semiconductor, Inc.

When the build is complete, the platform_lib.a is generated in the directory according to the build target: Debug - <install_dir>/lib/ksdk_platform_lib/iar/<device_name>/debug Release - <install_dir>/lib/ksdk_platform_lib/iar/<device_name>/release Demo applications use the ksdk_platform_lib.a to call the functions of the HAL and the peripheral drivers. 2. Build the platform driver library in Keil. To build the platform driver library for the KL03, open the workspace file in KEIL: <install_dir>/lib/ksdk_platform_lib/uv4/<device_name>/ksdk_platform_lib.uvmpw In the KEIL Embedded Workbench project file, two compiler/linker configurations (build targets ) are supported: Debug - the compiler optimization is set to low. The debug information is generated for the binary. This target should be used for developing and debugging. Release - the compiler optimization is set to maximum. The debug information is not generated. This target should be used for the final application release. Note: Code is downloaded to Flash instead of RAM in both Debug and Release configurations. Choose the appropriate build target: Debug or Release, then click on the Rebuild button (highlighted by a red rectangle below): Figure 44 Platform driver library build When the build is complete, the ksdk_platform_lib.lib is generated in the directory according to the build target: Debug - <install_dir>/lib/ksdk_platform_lib/uv4/<device_name>/debug Release - <install_dir>/lib/ksdk_platform_lib/uv4/<device_name>/release Freescale Semiconductor, Inc. 29

Demo applications use the ksdk_platform_lib.lib to call the functions of the HAL and the peripheral drivers. 3. Build the platform driver library in the Kinetis Design Studio IDE. To build the platform library, open the workspace file in Kinetis Design Studio IDE. The platform driver library project is located in: <install_dir>/lib/ksdk_platform_lib/kds/<device_name> To build the platform driver library for the KL03, open the workspace file in Kinetis Design Studio IDE: < install _dir>/lib/ksdk_platform_lib/kds/kl03z4/ Use File Import to open the project. In the KDS IDE file, two compiler/linker configurations (build targets ) are supported. To view the configurations, click the arrow shown in this target. Figure 45 KDS IDE Complier/Linker selection Debug - the compiler optimization is set to low. The debug information is generated for the binary. This target should be used for developing and debugging. Release - the compiler optimization is set to maximum. The debug information is not generated. This target should be used for the final application release. Note: Code is downloaded to Flash instead of RAM in both Debug and Release configurations. 30 Freescale Semiconductor, Inc.

Choose the appropriate build target: Debug or Release, then click the Build button (highlighted by a red rectangle below): Figure 46 KDS IDE Platform driver library build When the build is complete, the ksdk_platform_lib.a is generated in the directory according to the build target: Debug - <install_dir>/lib/ksdk_platform_lib/kds/<device_name>/debug Release - <install_dir>/lib/ksdk_platform_lib/kds/<device_name>/release Demo applications use the ksdk_platform_lib.a to call the functions of the HAL and the peripheral drivers. Freescale Semiconductor, Inc. 31

Appendix B: Kinetis Design Studio environment variable fix and swap tool chain Finish the installation of the KDS-VX.X.exe in your PC. Then, follow these steps: In the startup menu, right-click Computer and choose Properties. In the left column, click the Advanced System Settings. Figure 47 Computer system setting 32 Freescale Semiconductor, Inc.

Figure 48 Environment variables for KSDK Swapping tool chains: To solve the tool chain issue integrated in the KDS IDE, take these steps to swap tool chains: o First, download the latest GNU GCC ARM as a zip file from https://launchpad.net/gcc-arm-embedded, and install the file. o Navigate to the KDS IDE install directory, locate the <install_dir>/ KDS_1.0.2/toolchain, and copy the all files in path <install dir>/gnu Tools ARM Embedded\4.8 2014q2 to the folder. Freescale Semiconductor, Inc. 33

o Change link option for each project, open menu Project > Properties > C/C++ Build>Setting>Miscellaneous, change default value of other linker flags to -specs=nano.specs -specs=nosys.specs. Figure 49 Change link option 34 Freescale Semiconductor, Inc.

Appendix C: OpenSDA J-Link firmware updated To update the firmware of OpenSDA firmware to OpenSDA-J-Link: 1. Navigate to www.segger.com/opensda.html to get the latest firmware for the OpenSDA J-Link. 2. Hold down the Reset Button (located in 3.1.2) and then power the board by connecting to the USB port (located in 3.1.2). Notice that the LED blinking indicates that the board is now in Bootloader mode. You can release the Reset Button at this point. 3. Open Windows Explorer and locate the "BOOTLOADER" thumb drive. 4. Drag the JLink_OpenSDA.sda file onto the thumb drive (any application or firmware file can be drag-and-dropped onto the device at this point). 5. Remove and replace the USB cable. The Freescale Freedom platform is now updated to the latest firmware or application. Freescale Semiconductor, Inc. 35

5 Revision history This table summarizes revisions to this document. Revision History Revision number Date Substantial changes 1.0.0 9/2014 Initial release 36 Freescale Semiconductor, Inc.

How to Reach Us: Home Page: freescale.com Web Support: freescale.com/support Information in this document is provided solely to enable system and software implementers to use Freescale products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits based on the information in this document. Freescale reserves the right to make changes without further notice to any products herein. Freescale makes no warranty, representation, or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Typical parameters that may be provided in Freescale data sheets and/or specifications can and do vary in different applications, and actual performance may vary over time. All operating parameters, including typicals, must be validated for each customer application by customer s technical experts. Freescale does not convey any license under its patent rights nor the rights of others. Freescale sells products pursuant to standard terms and conditions of sale, which can be found at the following address: freescale.com/salestermsandconditions. Freescale, the Freescale logo, and Kinetis are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. All other product or service names are the property of their respective owners. ARM, ARM Powered logo, and Cortex are registered trademarks of ARM Limited (or its subsidiaries) in the EU and/or elsewhere. All rights reserved. 2014 Freescale Semiconductor, Inc. Document Number: KSDKKL03UG Rev. #1.0.0 09/2014