1
Plug It In2
Get Software3
Build, Run4
CreateLet's take your FRDM-K22F 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-K22F comes loaded with a "bubble level" demo that leverages the on-board 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:
Something went wrong! Please try again.
The MCUXpresso SDK is complimentary and includes full source code under a permissive open-source license for all hardware abstraction an peripheral driver software. Learn about SDK.
Click below to download a pre-configured SDK release for the FRDM-K22F.
You can also use the online SDK Builder to create a custom SDK package for the FRDM-K22F using the SDK builder.
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 Tools 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.
The MCUXpresso Config Tools are integrated within the MCUXpresso IDE, if using MCUXpresso IDE, no additional download is needed. If using another toolchain, please consider downloading the Config Tools here.
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 in to your PC.
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-K22F'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 applications code. To see what's available, browse to the SDK boards folder of your SDK installation and select your board, the FRDM-K22F: <sdk_install_directory>/examples/frdmk22f
.
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 example applications sound interesting, you're probably wanting to know how you can build and debug yourself. The Getting Started with MCUXpresso SDK 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.
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/frdmk22f/demo_apps/hello_world/iar
The FRDM-K22F 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.
After the MDK tools are installed, Keil 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/frdmk22f/demo_apps/hello_world/iar/hello_world.uvmpw
The FRDM-K22F 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.
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 MCUXpresso 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
Note: The installation path cannot contain any spaces.
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.
Create a new 'system' environment variable and name it ARMGCC_DIR. The value of this variable should point to the Arm GCC Embedded Toolchain installation path, which, for this example, is:
C:\Program Files (x86)\GNU Tools Arm Embedded\7-2018-q2-update 7 2018
Reference the installation folder of the GNU Arm GCC Embedded tools for the exact pathname of your installation
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/frdmk22f/demo_apps/hello_world/armgcc
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 .
Change to the directory that contains the demo application output. The output can be found in 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/frdmk22f/demo_apps/hello_world/armgcc/debug
Something went wrong! Please try again.
Something went wrong! Please try again.
Option A: Use the MCUXpresso IDE to clone an example project.
Option B: Use the MCUXpresso Config Tools to clone an existing MCUXpresso SDK example for use with third party IDEs.
Something went wrong! Please try again.
Now, let's use the Pins Tool that is part of the MCUXpresso Config Tools to show how to add a new GPIO pin to your project to blink an LED.
Note: Previously, you had to clone an SDK project like in the previous step.
PTA1
is routed as a GPIO to toggle the red LED. For this example, we'll use PTD5
instead to drive the blue LEDPTA1
. Click the checkbox next to it to unselect it
PTA1
to unselect it and then click on Done
PTD5
, and click on the checkbox next to PTD5
to use that pin and select the PTD5
GPIO pin
PTD5
already has a defined identifier (i.e. LED_BLUE) set up for the FRDM-K22F for the led_output example configuration. Let's change the identifier to "My_LED" next to PTD5
in the Pins table
Note: The clocks and peripherals files may also be tagged as being updated since the header has been changed.
PTD5
pin. Use the #defines that are found in pin_mux.h where were created by the Pins Tool#define BOARD_LED_GPIO BOARD_INITPINS_MY_LED_GPIO
#define BOARD_LED_GPIO_PIN BOARD_INITPINS_MY_LED_PIN
Something went wrong! Please try again.
Next use the Clocks Tool that is part of the MCUXpresso Config Tools to change the clocks settings and change the rate that the LED blinks.
Note: Previously, you had to clone an SDK project like in the previous steps.
Note: The pins and peripherals files may also be tagged as being updated since the header has been changed.
Something went wrong! Please try again.
With the application modified, you will see the FRDM-K22F's blue LED slowly blinking. You can also view terminal output using the terminal program.
Something went wrong! Please try again.
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.
Explore beyond the FRDM-K22F by adding other NXP solution to your project and interact with our worldwide design community.
Explore the world with a full assortment of NXP sensor solutions. From accelerometers, pressure sensors, touch sensors, and many more, NXP had a sensor solution for your project. Find out more at Sensors.
Near Field Communication is a simple, intuitive technology that lets you interact securely with the world around you with a simple touch. Learn more about NXP's NFC solutions at NFC - Near Field Communication.
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 red and green LEDs toggling back and forth. 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 .
Connect with other engineers and get expert advice on designing with Kinetis MCUs and MCUXpresso Software and Tools. Go to Support or join the community discussion in one of our two dedicated communities:
Getting Started with the FRDM-K22F Development Platform
Attach the USB Cable
Run the Out-of-Box Demo
Installing Software for the FRDM-K22F
Jump Start Your Design with the MCUXpresso SDK
Install Your Toolchain
MCUXpresso Config Tools
PC Configuration
Build and Run SDK Demos on the FRDM-K22F
Explore the MCUXpresso SDK Example Code
Build, Run and Debug MCUXpresso SDK Examples