Getting Started with the FRDM-KL46Z

最終更新日時: 2019-03-20 16:47:00サポート FRDM-KL46Z | KL3x/KL4x | Dev Platform

1. Plug It In

Let's take your FRDM-KL46Z for a test drive! Follow the detailed actions list below.

1.1 Attach the USB Cable

FRDM-KL46Z-GS-BOARD

FRDM-KL46Z-GS-BOARD

1.2 Run the Out-of-Box Demo

Your FRDM-KL46Z 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 green LEDs gradually illuminate based on the degree of tilt on the X- and Y-Axis.

Demo not working?

FRDM-KL46Z-DEMO

FRDM-KL46Z-DEMO

2. Get Software

Choose a Development Path:

2.1 Jump Start Your Design with the Kinetis SDK

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. Learn about SDK.

Click below to download the SDK Release appropriate for your computer's operating system.

Get Kinetis SDK

2.2 Install Your Toolchain

NXP offers a complimentary toolchain called Kinetis Design Studio (KDS).

Get Kinetis Design Studio

Want to use a different toolchain?

No problem! The Kinetis SDK includes support for other tools such as IAR , Keil  and command-line GCC .

2.3 PC Configuration

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 in to 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-KL46Z'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.

3. Build, Run

3.1 Explore the SDK Example Code

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-KL46Z: <sdk_install_directory>/examples/frdmkl46z.

To learn more about demo applications or driver examples, open the Kinetis SDK Demo Applications User's Guide, located in <sdk_install_directory>/doc.

3.2 Build, Run and Debug SDK Examples

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.

Using a Different Toolchain?

4. Create

4.1 Get SDK Project Generator

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.

Get SDK Project Generator

4.2 Run the SDK Project Generator

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.

KL46Z-KSDK-PROJECT-GENERATOR

KL46Z-KSDK-PROJECT-GENERATOR

4.3 Open Your Project

Your new project will be located in <sdk_install_directory>/examples/frdmkl46z/user_apps. Open the project in your toolchain of choice by using the same process described in Section 3.2.

4.4 Write Some Code

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, let's make the LED blink using the BSP macros.

Update the main() function in your project's main.c file with the following code:

let copy = ""
  let copied = ""
  let lang = NXP.locale ? NXP.locale : "en"
  switch (lang) {
      case "en":
          copy = "Copy"
          copied = "Copied"
          break
      case "zh":
          copy = "复制"
          copied = "已复制"
          break
      case "cn":
          copy = "复制"
          copied = "已复制"
          break
      case "ja":
          copy = "コピー"
          copied = "コピー済"
          break
      default:
          break
  }

  volatile int delay;
  // Configure board specific pin muxing
  hardware_init();

  // Initialize the UART terminal
  dbg_uart_init();
  PRINTF("\r\nRunning the myProject project.\n");
  
  // Enable GPIO port for LED1
  LED1_EN;
  for (;;){
      LED1_ON;
      delay = 5000000;
      while(delay--);
      LED1_OFF;
      delay = 5000000;
      while(delay--);
  }

4.5 Build, Download, Run

With the changes made to your main() function, build your application. Remember to build the SDK platform library first, if you did not build any of the other SDK examples in the previous steps. 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.

4.6 Success

With the application downloaded, you will see the FRDM-KL46Z's green LED blinking. You can also view terminal output using PRINTF.

Tera Term Tutorial

Tera Term Tutorial

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.

  1. Download Tera Term from SourceForge. After the download, run the installer and then return to this webpage to continue
  2. Download

  3. Launch Tera Term. The first time it launches, it will show you the following dialog. Select the serial option. Assuming your board is plugged in, there should be a COM port automatically populated in the list
  4. Configure the serial port settings (using the COM port number identified earlier) to 115,200 baud rate, 8 data bits, no parity and 1 stop bit. To do this, go to Setup → Serial Port and change the settings
  5. Verify the connection is open. If connected, Tera Term will show something like below in it's title bar
  6. You're ready to go

PuTTY Tutorial

PuTTY Tutorial

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.

  1. Download PuTTY using the button below. After the download, run the installer and then return to this webpage to continue
  2. Download

  3. Launch PuTTY by either double clicking on the *.exe file you downloaded or from the Start menu, depending on the type of download you selected
  4. Configure in the window that launches, select the Serial radio button and enter the COM port number that you determined earlier. Also enter the baud rate, in this case 115,200
  5. Click Open to open the serial connection. Assuming the board is connected and you entered the correct COM port, the terminal window will open. If the configuration is not correct, PuTTY will alert you
  6. You're ready to go

Security and Integrity

Security and Integrity

Documents and Videos Description
AN4507 Using the Kinetis Security and Flash Protection Features Using the system security and flash protection features on Kinetis MCUs to protect code and data from unauthorized access or modification.

Wired Communications

Wired Communications

Documents and Videos Description
AN12377 Tuning I²C Timing in Target Mode How to configure the I²C timing of a slave device to meet application needs which apply to Kinetis parts that contain I²C IP instead of LPI2C.

MCUXpresso SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for wired communications are listed below.

Bubble Demo (I²C 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/frdmkl46z/demo_apps/bubble

Shell demo (UART example)

Demonstrates how to implement a command line shell application.

Path: <SDK_PATH>/boards/frdmkl46z/demo_apps/shell

Driver Examples

A number of driver examples exist within the SDK including I²C, SPI, LPSCI and UART.

Path: <SDK_PATH>/boards/frdmkl46z/driver_examples

USB Examples

These examples are built on and demonstrate various USB classes and provide jumping off points for your application.

Path: <SDK_PATH>/boards/frdmkl46z/usb_examples

Power Management

Power Management

Documents and Videos Description
AN4631 Using Asynchronous DMA features of Kinetis L Series How to use the asynchronous DMA of low-power Kinetis L microcontrollers and save power consumption in your application.
AN4503 Power Management for Kinetis MCUs When and how to use Kinetis low-power modes.
AN5088 Power Management for Kinetis L Family Shows details of each power modes and provides use case examples in the SDK power manage demo. Tips are given for using each of the power modes.

MCUXpresso SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for power management are listed below.

Power Mode Switch Demo

Demonstrates the use of power modes in the SDK.

Path: <SDK_PATH>/boards/frdmkl46z/demo_apps/power_mode_switch

Power Manager Demo

How to change power modes in the SDK.

Path: <SDK_PATH>/boards/frdmkl46z/demo_apps/power_manager

ADC Low Power Demo

Demonstrates the usage of the ADC peripheral while in a low power mode.

Path: <SDK_PATH>/boards/frdmkl46z/demo_apps/adc16_low_power

ADC Low Power Async DMA Demo

Demonstrates the usage of the ADC and DMA peripheral while in a low power mode.

Path: <SDK_PATH>/boards/frdmkl46z/demo_apps/adc16_low_power_async_dma

Audio

Audio

Documents and Videos Description
USB Speakers User’s Guide Explains the features and usage of the USB Speakers reference design.

MCUXpresso SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for audio are listed below.

DSP examples

CMSIS DSP examples are provided to demonstrate CMSIS DSP driver usage in the SDK environment.

Path: <SDK_PATH>/CMSIS/DSP/Examples/ARM

Audio Demos

Examples that enumerate a recording device.

Path: <SDK_PATH>/boards/frdmkl46z/usb_examples/usb_device_audio_generator and <SDK_PATH>/boards/frdmkl46z/usb_examples/usb_device_composite_hid_audio

Display and Graphics

Display and Graphics

Documents and Videos Description
AN12570 Using SLCD controller on K32L2B3 MCU Describes the usage of the on-chip SLCD controller by enabling an SLCD device.

MCUXpresso SDK Examples

Several examples, demos and drivers are available within the SDK to help you get started. A common example for display and graphics is listed below.

SLCD Demo

How to use the SLCD driver.

Path: <SDK_PATH>/boards/frdmkl46z/driver_examples/slcd

Support

Troubleshooting

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.

Still not working?

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 .

Trainings

Want to learn more about using the FRDM-KL46Z? Check out our selection of training offerings ranging from online mini tech sessions to hands-on deep-dive training for help.

Documents and Videos Description
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.

Forums

Connect with other engineers and get expert advice on designing with the FRDM-KL46Z on one of our community sites.