1
Plug It In2
Get Software3
Build, RunSign in to save your progress. Don't have an account? Create one.
Let's take your FRDM-KL25Z for a test drive. You have the choice of watching the sequence in a short video or following the detailed actions list below.
Something went wrong! Please try again.
Something went wrong! Please try again.
Your FRDM-KL25Z comes loaded with a "bubble level" demo that leverages the onboard accelerometer. When the board is flat, the RGB LED is turned off and when the board is tilted, the red or green LEDs gradually illuminate, based on the degree of tilt on the X and Y-Axis.
Something went wrong! Please try again.
Note: To find out more, visit the Zephyr OS developer website.
Note: To find our more, visit the Mbed developer website.
Something went wrong! Please try again.
Something went wrong! Please try again.
The Kinetis Software Development Kit (SDK) is complimentary and includes full source code under a permissive open-source license for all hardware abstraction and peripheral driver software.
Click below to download the SDK Release appropriate for your computer's operating system.
Something went wrong! Please try again.
NXP offers a complimentary toolchain called MCUXpresso IDE.
If you prefer using a different toolchain, the Kinetis SDK includes support for other tools such as IAR , Keil and command-line GCC .
Something went wrong! Please try again.
Many of the example applications output data over the MCU UART so you’ll want to make sure that the driver for the board’s virtual COM port is installed. It should install automatically when you plug the board into your PC. If the driver does not automatically install, click here to download the installer.
With the serial port driver installed, run your favorite terminal application to view the serial output from the MCU's UART. Configure the terminal to 115,200 baud rate, 8 data bits, no parity and 1 stop bit. To determine the port number of the FRDM-KL25Z's virtual COM port, open the device manager and look under the "Ports" group.
Not sure how to use a terminal application? Try one of these tutorials: Tera Term Tutorial, PuTTY Tutorial.
Something went wrong! Please try again.
Something went wrong! Please try again.
The Kinetis SDK comes with a long list of demo applications and driver examples. To see what's available, browse to the SDK 'examples' folder of your SDK installation and select your board, the FRDM-KL25Z:
<sdk_install_directory>/examples/frdmkl25z
To learn more about demo applications or driver examples, open the Kinetis SDK Demo Applications User's Guide, located in:
<sdk_install_directory>/doc
Something went wrong! Please try again.
If one or more of the demo applications or driver examples sound interesting, the Getting Started with Kinetis SDK Guide provides easy, step-by-step instructions on how to configure, build and debug demos for all toolchains supported by the SDK.
Use the guide below to learn how to open, build and debug an example application using the Kinetis Design Studio (KDS) IDE.
Before using KDS IDE with KSDK, it is recommended that you make sure that your tools are up-to-date. The steps discussed below are shown using the Windows version of KDS, but are identical for Mac and Linux users.
Select "Help" → "Check for Updates"
Install all updates from Freescale/NXP - these are denoted by "com.NXP.xxx" or "com.nxp.xxx". There may also be updates for things such as toolchain or debug interfaces. While these additional updates are typically OK to install, sometimes they may cause issues since they aren't released as part of the KDS toolchain.
The following steps will guide you through opening the hello_world
application. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path.
Note: The steps required for Linux and Mac OS are identical to those for Windows.
Select File → Import from the KDS IDE menu. In the window that appears, expand the "Project of Projects" folder and select "Existing Project Sets". Then, click the "Next" button
Click the "Browse" button next to the "Import from file" field
Point to the example application project, which can be found using this path:
<install_dir>/boards/<board_name>/<example_type>/<application_name>/kds
For this guide, choose the specific location:
<install_dir>/boards/frdmkl25z/demo_apps/hello_world/kds
After pointing to the correct directory, your Import Working Sets and Projects window should look like the figure below. Click the "Finish" button
There are two project configurations (build targets) supported for each KSDK project:
Choose the appropriate build target, Debug or Release, by clicking the downward facing arrow next to the hammer icon, as shown below. For this example, select the Debug target
The library starts building after the build target is selected. To rebuild the library in the future, click the hammer icon (assuming the same build target is chosen)
The FRDM-KL25Z board comes loaded with the mbed/CMSIS-DAP debug interface from the factory. If you have changed the debug OpenSDA application on your board, visit OpenSDA for information on updating or restoring your board to the factory state.
Note: Mac users must install the J-Link OpenSDA application to use the KDS IDE to download and debug their board.
Connect the development platform to your PC via USB cable between the "SDAUSB" USB port on the board and the PC USB connector
Open the terminal application on the PC (such as PuTTY or Tera Term) and connect to the debug COM port you determined earlier. Configure the terminal with these settings:
For Linux OS users, run the following commands in your terminal. These install libudev
onto your system, which is required by KDS IDE to launch the debugger.
user@ubuntu:~$ sudo apt-get install libudev-dev libudev1
user@ubuntu:~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libudev.so /usr/lib/x86_64-linux-gnu/libudev.so.0
Ensure that the debugger configuration is correct for the target you're attempting to connect. This refers to the OpenSDA interface of your board
To check the available debugger configurations, click the small downward arrow next to the green "Debug" button and select "Debug Configurations"
In the Debug Configurations dialog box, select a debug configuration that corresponds to the hardware platform you're using. For Windows or Linux users, select the mbed/CMSIS-DAP option under OpenOCD. For Mac users, select J-Link
After selecting the debugger interface, click the "Debug" button to launch the debugger.
The application is downloaded to the target and automatically run to main():
Start the application by clicking the "Resume" button:
The hello_world
application is now running and a banner is displayed on the terminal. If this is not the case, check your terminal settings and connections
The following steps will guide you through opening the hello_world
application. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path.
If not already done, open the desired example application workspace. Most example application workspace files can be located using the following path:
<install_dir>/boards/<sdk_board_name>/<example_type>/<application_name>/iar
Using the hello_world
demo as an example, the path is:
<install_dir>/boards/frdmkl25z/demo_apps/hello_world/iar
Select the desired build target from the drop-down. For this example, select the "hello_world - Debug" target
To build the application, click the "Make" button, highlighted in red below
The build will complete without errors
The FRDM-KL25Z board comes loaded with the mbed/CMSIS-DAP debug interface from the factory. If you have changed the debug OpenSDA application on your board, visit OpenSDA for information on updating or restoring your board to the factory state.
Connect the development platform to your PC via USB cable between the "SDAUSB" USB port on the board and the PC USB connector
Open the terminal application on the PC (such as PuTTY or Tera Term) and connect to the debug COM port you determined earlier. Configure the terminal with these settings:
Click the "Download and Debug" button to download the application to the target
The application is then downloaded to the target and automatically runs to the main() function
Run the code by clicking the "Go" button to start the application
The hello_world
application is now running and a banner is displayed on the terminal. If this is not the case, check your terminal settings and connections
After the MDK tools are installed, Cortex® Microcontroller Software Interface Standard (CMSIS) device packs must be installed to fully support the device from a debug perspective. These packs include things such as memory map information, register definitions and flash programming algorithms. Follow these steps to install the appropriate CMSIS pack.
Open the MDK IDE, which is called µVision. In the IDE, select the "Pack Installer" icon
In the Pack Installer window, navigate to the section with the Kinetis packs (they are in alphabetical order). The Kinetis packs start with "Keil::Kinetis" and are followed by the MCU family name, for example "Keil::Kinetis_K60_DFP". Because this example uses the FRDM-KL25Z platform, the KL2x family pack is selected. Click on the "Install" button next to the pack. This process requires an Internet connection to successfully complete
After the installation finishes, close the Pack Installer window and return to the µVision IDE
The following steps will guide you through opening the hello_world
application. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path.
If not already done, open the desired demo application workspace in:
<install_dir>/boards/<sdk_board_name>/<example_type>/<application_name>/mdk
The workspace file is named <application_name>.uvmpw, so for this specific example, the actual path is:
</application_name> <install_dir>/boards/frdmkl25z/demo_apps/hello_world/iar/hello_world.uvmpw
To build the demo project, select the "Rebuild" button, highlighted in red
The build will complete without errors
The FRDM-KL25Z board comes loaded with the mbed/CMSIS-DAP debug interface from the factory. If you have changed the debug OpenSDA application on your board, visit OpenSDA for information on updating or restoring your board to the factory state.
Connect the development platform to your PC via USB cable between the "SDAUSB" USB port on the board and the PC USB connector
Open the terminal application on the PC (such as PuTTY or Tera Term) and connect to the debug COM port you determined earlier. Configure the terminal with these settings:
After the application is properly built, click the "Download" button to download the application to the target
After clicking the "Download" button, the application downloads to the target and should be running. To debug the application, click the "Start/Stop Debug Session" button, highlighted in red
Run the code by clicking the "Run" button to start the application
The hello_world
application is now running and a banner is displayed on the terminal. If this is not the case, check your terminal settings and connections
This section contains the steps to install the necessary components required to build and run a KSDK demo application with the Arm GCC toolchain, as supported by the Kinetis SDK. There are many ways to use Arm GCC tools, but this example focuses on a Windows environment. Though not discussed here, GCC tools can also be used with both Linux OS and Mac OSX.
Download and run the installer from GNU Arm Embedded Toolchain . This is the actual toolchain (i.e., compiler, linker, etc.). The GCC toolchain should correspond to the latest supported version, as described in the Kinetis SDK Release Notes.
The Minimalist GNU for Windows (MinGW) development tools provide a set of tools that are not dependent on third-party C-Runtime DLLs (such as Cygwin). The build environment used by the KSDK does not utilize the MinGW build tools, but does leverage the base install of both MinGW and MSYS. MSYS provides a basic shell with a UNIX-like interface and tools.
Download the latest MinGW mingw-get-setup installer from MinGW - Minimalist GNU for Windows Files
Run the installer. The recommended installation path is C:\MinGW
, however, you may install to any location
Note: The installation path cannot contain any spaces.
Ensure that the "mingw32-base" and "msys-base" are selected under Basic Setup
Click "Apply Changes" in the "Installation" menu and follow the remaining instructions to complete the installation
Add the appropriate item to the Windows operating system Path environment variable. It can be found under Control Panel → System and Security → System → Advanced System Settings in the "Environment Variables" section. The path is:
<mingw_install_dir>\bin
Assuming the default installation path, C:\MinGW
, an example is shown below. If the path is not set correctly, the toolchain does not work.
Note: If you have C:\MinGW\msys\x.x\bin
in your PATH variable (as required by KSDK 1.0.0), remove it to ensure that the new GCC build system works correctly.
C:\Program Files (x86)\GNU Tools Arm Embedded\4.9 2015q3
Download CMake 3.0.x from Get CMake
Install CMake, ensuring that the option "Add CMake to system PATH" is selected when installing. It's up to the user to select whether it's installed into the PATH for all users or just the current user. In this example, the assumption is that it's installed for all users
Follow the remaining instructions of the installer
You may need to reboot your system for the PATH changes to take effect
To build an example application, follow these steps.
If not already running, open a GCC Arm Embedded tool chain command window. To launch the window, from the Windows operating system Start menu, go to "Programs → GNU Tools Arm Embedded <version>” and select "GCC Command Prompt"
Change the directory to the example application project directory, which has a path like this:
<install_dir>/boards/<board_name>/<example_type>/<application_name>/armgcc
For this guide, the exact path is:
<install_dir>/boards/frdmkl25z/demo_apps/hello_world/armgcc
Type "build_debug.bat" on the command line or double click on the "build_debug.bat" file in Windows operating system Explorer to perform the build. The output is shown in this figure:
The GCC tools require a J-Link debug interface. To update the OpenSDA firmware on your board to the latest J-Link app, visit OpenSDA. After installing the J-Link OpenSDA application, download the J-Link driver and software package from SEGGER Downloads .
Connect the development platform to your PC via USB cable between the "SDAUSB" USB port on the board and the PC USB connector
Open the terminal application on the PC (such as PuTTY or Tera Term) and connect to the debug COM port you determined earlier. Configure the terminal with these settings:
Open the J-Link GDB Server application. Assuming the J-Link software is installed, the application can be launched by going to the Windows operating system Start menu and selecting "Programs → SEGGER → J-Link <version> J-Link GDB Server"
Modify the settings as shown below. The target device selection chosen for this example is the "MKL25Z128xxx4" and use the SWD interface
After it is connected, the screen should resemble this figure:
If not already running, open a GCC Arm Embedded tool chain command window. To launch the window from the Windows operating system Start menu, go to "Programs → GNU Tools Arm Embedded <version>" and select "GCC Command Prompt"
Change to the directory that contains the demo application output. The output can be found in using one of these paths, depending on the build target selected:
<install_dir>/boards/<board_name>/<example_type>/<application_name>/armgcc/debug
<install_dir>/boards/<board_name>/<example_type>/<application_name>/armgcc/release
For this guide, the path is:
<install_dir>/boards/frdmkl25z/demo_apps/hello_world/armgcc/debug
Run the command:
arm-none-eabi-gdb.exe <demo_name>.elf
For this example, it is:
arm-none-eabi-gdb.exe hello_world.elf
Run these commands:
hello_world
application is now running and a banner is displayed in the terminal window.Something went wrong! Please try again.
Documents and Videos | Description |
---|---|
AN4507 Using the Kinetis Security and Flash Protection Features | This application note discusses usage of the security and flash protection features available on the Kinetis family processors. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for wired communications are listed below.
This example demonstrates basic usage of the on-board accelerometer to implement a bubble level. A bubble level utilizes two axes to visually show deviation from a level plane (0 degrees) on a given axis.
Path:
<SDK_PATH>/boards/frdmkl25z/demo_apps/bubble
This example demonstrates how to implement a command line shell application.
Path:
<SDK_PATH>/boards/frdmkl25z/demo_apps/shell
This example highlights a number of driver examples that exist within the SDK including I²C, SPI and UART.
Path:
<SDK_PATH>/boards/frdmkl25z/driver_examples
These examples are built on and demonstrate various USB classes and provide jumping off points for your application.
Path:
<SDK_PATH>/boards/frdmkl25z/usb_examples
Documents and Videos | Description |
---|---|
AN4631 Using Asynchronous DMA features of Kinetis L Series | This application note demonstrates how to user the asynchronous DMA of low-power Kinetis L microcontrollers and save power consumption in your application. |
AN4503 Power Management for Kinetis MCUs | This application note discusses how to use the power management systems and shows real-time current measurement results for selected use cases. |
AN5088 Power Management for Kinetis L Family | This application note details each power mode and provides use case examples in the SDK power manage demo. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for power management are listed below.
This example demonstrates the use of power modes in the SDK.
Path:
<SDK_PATH>/boards/frdmkl25z/demo_apps/power_mode_switch
This example demonstrates how to change power modes in the SDK.
Path:
<SDK_PATH>/boards/frdmkl25z/demo_apps/power_manager
This example demonstrates the usage of the ADC peripheral while in a low power mode.
Path:
<SDK_PATH>/boards/frdmkl25z/demo_apps/adc16_low_power
This example demonstrates the usage of the ADC and DMA peripheral while in a low power mode.
Path:
<SDK_PATH>/boards/frdmkl25z/demo_apps/adc16_low_power_async_dma
Tera Term is a very popular open source terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.
PuTTY is a popular terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.
No problem! Your board simply came in the old packaging and has a different out-of-box demo loaded into the flash memory.
You should be seeing the RGB LED toggling between each of the three colors; red, blue and green. It's OK to move onto the next step when you're ready.
Try proceeding to the next steps to get other example applications running on your board. If you still have problems, try contacting us through the NXP Community .
Basic Application Development Using MCUXpresso IDE and MCUXpresso Config Tools - This three-part video series covers the basic interactions between the MCUXpresso IDE and Config Tools when working with either an imported SDK example project or creating a new one.
Connect with other engineers and get expert advice on designing with the KL25Z on one of our community sites.
Get Started with FRDM-KL25Z Development Platform
Attach the USB Cable
Run the Out-of-Box Demo
Choose a Development Path
Installing Software for the FRDM-KL25Z
Jump Start Your Design with the Kinetis SDK
Install Your Toolchain
PC Configuration