1
Plug It In2
Get Software3
Build, Run4
CreateLet's take your TWR-KL28Z72M for a test drive.
Something went wrong! Please try again.
With the board plugged in, you’ll then see a disk drive named 'TWR-KL28ZD' enumerated. Download the demo file from the link below, then Drag and drop 'bubble(TWR-KL28Z72M).bin' file into 'TWR-KL28ZD' disk drive. Press reset button (SW1) to initiate the board.
Get bubble demo fileSomething went wrong! Please try again.
This bubble demo leverages the on board accelerometer. When the board is flat, the color LEDs are turned off, and when the board is tilted, the yellow or red LEDs gradually illuminate based on the degree of tilt on the X- and Y-axis.
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 L28 SDK package.
Something went wrong! Please try again.
NXP® offers a complimentary toolchain called Kinetis Design Studio (KDS).
No problem! The Kinetis SDK includes support for other tools such as IAR, Keil and command-line GCC.
Something went wrong! Please try again.
If using Kinetis Design Studio or Arm GCC tool chains, the latest Segger J-Link software tools need to be downloaded and installed. This update is required for those tools to support the KE1x family. Ensure you install this update after installing the IDE of your choice.
First, download the latest "Software and documentation pack" from J-Link / J-Trace Downloads.
Then Install the software and at the end of the installation, there will be a dialog box asking to update installed IDEs. Make sure the KDS 3.2.0 IDE is checked if using Kinetis Design Studio.
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 115200 baud rate, 8 data bits, no parity and 1 stop bit. To determine the port number of the TWR-KL28Z72M'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 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.
You're ready to go.
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.
You're ready to go.
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 'boards' folder of your SDK installation and select your board, the TWR-KL28Z72M
<sdk_install_directory>/boards/twrkl28z72m</sdk_install_directory>
.
To learn more about demo applications or driver examples, open the readme.txt, located in each of the demo/driver example folder.
Something went wrong! Please try again.
If one or more of the demo applications or driver examples sounds interesting, you're probably wanting to know how you can build and debug yourself. 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.
These steps show how to open and build a demo project in KDS IDE for TWR-KL28Z72M.
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:" option
Point to the example application project, which can be found using this path:
<install_dir>/boards/<board_name>/<example_type>/<application_name>/kds</application_name></example_type></board_name></install_dir>
For this guide, choose the specific location:
<install_dir>/boards/twrkl28z72m/demo_apps/hello_world/kds</install_dir>
After pointing to the correct directory, your "Import 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)
Note: The steps required for Linux and Mac OS are identical to those for Windows.
The TWR-KL28Z72M board comes loaded with the mbed/CMSIS-DAP debug interface from the factory. However, this interface is not supported with the KL28 family in the current version of KDS. In order to use the KDS IDE to download and debug, you need to install the J-Link OpenSDA v2.1 application. You will also need to update the Segger JLink KDS installation since the version that comes with the KDS you are using may do not know about the KL28 family.
To install the JLink OpenSDA v2.1 application on the TWR-KL28Z72M board:
Download JLink OpenSDA v2.1 from SEGGER website
With the board unpowered, hold down the Reset button on the FRDM-KL28Z and plug in a mini-B USB cable into the “SDA USB” USB port on the board
Release the Reset button
The board will enumerate as a “DAPLINKBOOT” drive
Drag and drop the application .bin file you just downloaded into this drive
Do a power cycle, and now the board will be running the JLink OpenSDA application
To update the Segger JLink Tool for KDS (you may have done this already from an earlier page)
Download the latest “Software and documentation pack” from J-Link / J-Trace Downloads
If you would like to restore your board to the factory state or update OpenSDA, please visit NXP OpenSDA webpage or the TWR-KL28Z72M getting started page to get related OpenSDA firmware.
Now continue with the instructions to connect to the board via KDS and a serial terminal
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
Options for OpenSDA firmware:
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</application_name></example_type></sdk_board_name></install_dir>
Using the hello_world demo as an example, the path is:
<install_dir>/boards/frdmk64f/demo_apps/hello_world/iar</install_dir>
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 TWR-KL28Z72M 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 Serial and Debug Adapter 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 TeraTerm) 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 TWR-KL28Z72M platform, the K60 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</application_name></example_type></sdk_board_name></install_dir>
The workspace file is named
<install_dir>/boards/frdmk64f/demo_apps/hello_world/iar/hello_world.uvmpw</install_dir>
To build the demo project, select the "Rebuild" button, highlighted in red
The build will complete without errors
The TWR-KL28Z72M 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 Serial and Debug Adapter 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 TeraTerm) 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</mingw_install_dir>
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 tool chain installation path, which, for this example, is:
C:\Program Files (x86)\GNU Tools Arm Embedded\4.9 2015q3
Reference the installation folder of the GNU Arm GCC Embedded tools for the exact path name of your installation.
Download CMake 3.0.x from Release Candidate (3.30.0-rc1)
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</application_name></example_type></board_name></install_dir>
For this guide, the exact path is:
<install_dir>/boards/frdmk64f/demo_apps/hello_world/armgcc</install_dir>
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 Serial and Debug Adapter. 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 TeraTerm) 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
Modify the settings as shown below. The target device selection chosen for this example is the “MK64FN1M0xxx12” 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
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</application_name></example_type></board_name></install_dir>
<install_dir>/boards/<board_name>/<example_type>/<application_name>/armgcc/release</application_name></example_type></board_name></install_dir>
For this guide, the path is:
<install_dir>/boards/frdmk64f/demo_apps/hello_world/armgcc/debug</install_dir>
Run the command "arm-none-eabi-gdb.exe
Run these commands:
The application is now downloaded and halted at the reset vector. Execute the "monitor go" command to start the example application
The hello_world application is now running and a banner is displayed in the terminal window.
Something went wrong! Please try again.
Let's create our own project and make a simple SDK-based application. NXP provides an intuitive, simple project generation utility that allows creation of custom projects based on the Kinetis SDK.
Something went wrong! Please try again.
After extracting the ZIP file, open the utility by clicking on the KSDK_Project_Generator executable for your computer's operating system. Point the tool to your SDK installation path, name your project, and select the board that it uses as a reference. Click on the Quick Generate button to finish.
Something went wrong! Please try again.
Your new project will be located in
<sdk_install_directory>/boards/towerkl28z/user_apps</sdk_install_directory>
. Open the project in your toolchain of choice by using the same process described in section 3.2.
Something went wrong! Please try again.
Now, let's make our new project do something other than spin in an infinite loop. The SDK examples provide a board support package (BSP) to do various things specific to the board, including macros and definitions for items such as LEDs, switches and peripheral instances. To keep things simple, lets make the LED blink using the BSP macros.
Update the main() function in your project's main.c file with the following code:
volatile int delay;
// Configure board specific pin muxing
BOARD_InitPins();
// Configure clock source
BOARD_BootClockRUN();
// Initialize the UART terminal
BOARD_InitDebugConsole();
PRINTF("myProject project\n\r");
// Enable GPIO port for the red LED
CLOCK_EnableClock(kCLOCK_PortA);
PORT_SetPinMux(BOARD_LED_RED_GPIO_PORT, BOARD_LED_RED_GPIO_PIN,
kPORT_MuxAsGpio); LED_RED_INIT(LOGIC_LED_OFF);
for (;;)
{ LED_RED_TOGGLE();
delay = 5000000;
while(delay--);
}
Something went wrong! Please try again.
With the changes made to your main() function, build your application. Once the build is complete, download the application to your board.
If you need help figuring out how to build, download or run an application, reference your tool-specific guide from section 3.2.
Something went wrong! Please try again.
With the application downloaded, you will see the TWR-KL28Z72M's red LED blinking. You can also view terminal output using PRINTF.
Something went wrong! Please try again.
Did your board come in a box that looks like this?
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.