1
Plug It In2
Get Software3
Build, RunSign in to save your progress. Don't have an account? Create one.
OpenSDA is a serial and debug adapter circuit that runs on a Kinetis K20 device built into many NXP development boards.
It allows users to download and debug programs onto the target K64F chip using only a USB cable.
Some FRDM-K64F boards may contain older OpenSDA firmware that is incompatible with Windows 10 due to changes made in how Windows handles Mass Storage Devices. This can potentially corrupt older versions of the OpenSDA firmware found on those FRDM-K64F boards.
The vast majority of FRDM-K64F boards currently being shipped from distributors will already have updated firmware that is not affected, but some older inventory may still contain the outdated firmware.
To ensure proper operation of the FRDM-K64F with Windows 10, disable Storage Services on your Windows 10 computer before plugging it in the first time and update the OpenSDA firmware if needed:
If you do not see any drive enumerate at all when plugging in the board in Step #6, the OpenSDA firmware may have been corrupted by Windows. The only way to fix this is to reprogram the K20 chip that the OpenSDA firmware runs on using an external debug tool. Instructions for this process can be found in this OpenSDA Community post .
Something went wrong! Please try again.
Let's take your FRDM-K64F 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-K64F 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 blue LEDs gradually illuminate based on the degree of tilt on the X and Y-Axis.
Something went wrong! Please try again.
Choose a Development Path.
Note: Selecting Zephyr OS will direct you to the Zephyr OS developer website.
Note: Selecting Mbed will direct you to the Mbed developer website.
Something went wrong! Please try again.
Click below to download a preconfigured SDK release for the FRDM-K64F. Learn about SDK.
The MCUXpresso SDK is complimentary and includes full source code under a permissive open source license for all hardware abstraction and peripheral driver software.
Something went wrong! Please try again.
NXP offers a complimentary toolchain called MCUXpresso IDE.
No problem! The MCUXpresso SDK includes support for other tools such as IAR , Keil and command-line GCC .
Something went wrong! Please try again.
The MCUXpresso Config Tool is an integrated suite of configuration tools that guides users in creating new MCUXpresso SDK projects, and also provides pin and clock tools to generate initialization C code for custom board support.
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. Before you run the driver installer, you must have the board plugged into your PC.
With the serial port driver installed, run your favorite terminal application to view the serial output from the MCUs 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-K64F'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 MCUXpresso SDK comes with a long list of example application codes. To see what's available, browse to the SDK boards folder of your SDK installation and select your board, the FRDM-K64F <SDK_Install_Directory>/boards/frdmk64f
.
To learn more about specific example code, open the readme.txt file in an example's directory.
Something went wrong! Please try again.
If one or more of the demo applications or driver examples sounds interesting, you probably want to know how you can build and debug yourself. The Getting Started with MCUXpresso 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 MCUXpresso IDE.
The following steps will guide you through opening the hello_world
example.
Find the Quickstart Panel in the lower left-hand corner
Then click on Import SDK examples(s)
Click on the frdmk64f board to select that you want to import an example that can run on that board and then click on Next
Use the arrow button to expand the demo_apps category and then click the checkbox next to hello_world
to select that project. To use the UART for printing (instead of the default semihosting), clear the "Enable semihost" checkbox under the project options. Then, click on Next
On the Advanced Settings wizard, clear the checkbox "Redirect SDK "PRINTF" to C library "printf"" to use the MCUXpresso SDK console functions for printing instead of generic C library ones. Then, click on Finish
Now, build the project by clicking on the project name and then click on the Build icon
You can see the status of the build in the Console tab
frdmk64f_demo_apps_hello_world
' [Debug] MCUXpresso IDE will probe for connected boards and should find the MBED CMSIS-DAP debug probe that is part of the integrated OpenSDA circuit on the FRDM-K64F. Click on OK to continue
The firmware will be downloaded to the board and the debugger started
Open up a terminal program and connect to the COM port the board counted as. Use 115,200 baud rate, 8 data bits, no parity and 1 stop bit
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
Use the controls in the menu bar to pause, step into and step over instructions and then stop the debugging session by clicking on the Terminate icon:
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/frdmk64f/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-K64F 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
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
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.
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:
<install_dir>/boards/frdmk64f/demo_apps/hello_world/mdk/hello_world.uvmpw
The FRDM-K64F 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.
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 use 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.
C:\MinGW
, however, you may install to any locationNote: The installation path cannot contain any spaces.
mingw32-base
and msys-base
are selected under Basic Setup 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 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.
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/frdmk64f/demo_apps/hello_world/armgcc
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 .
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/frdmk64f/demo_apps/hello_world/armgcc/debug
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.
Building the right level of security for your application with NXP and IAR Systems . Learn what is driving IoT security requirements today and the foundational security features NXP incorporates into our general purpose MCUs to meet the demands of the market.
Getting Started with EdgeLock® SE050 and FRDM-K64F. Get started with EdgeLock SE050 Plug and Trust middleware using the OM-SE050ARD and FRDM-K64F MCU boards.
FRDMK64F SD Bootloader . This document describes a simple bootloader based on the FRDM-K64F and how to use it to update application code.
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.
Learn more about the FRDM-K64F with design tips, training documents and the NXP Community. If you need additional help, contact NXP Support.
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 .
MCUXpresso Software and Tools Overview . Getting started with MCUXpresso SDK, IDE and Config Tools.
Connect with other engineers and get expert advice on designing with the Kinetis K64F on one of our community sites.
Important Information Before Plugging In Your FRDM-K64F
Get Started with FRDM-K64F Development Platform
Attach the USB Cable
Run the Out-of-Box Demo
Installing Software
Jump-Start Your Design with the MCUXpresso SDK
Install Your Toolchain
MCUXpresso Config Tools
PC Configuration