FRDM-K22F: Debugging with Segger J-Link OpenSDAv2.1 Firmware

Document created by Erich Styger Employee on Aug 7, 2014Last modified by Diana Torres on Feb 28, 2017
Version 9Show Document
  • View in full screen mode

This document explains how you can debug the FRDM-K22F board with the Segger J-Link OpenSDAv2.1 Firmware and the Kinetis Design Studio V1.1.0.

 

Applicable to:

  • OpenSDAv2.1 boards (FRDM-K22F for now)
  • Kinetis Design Studio V1.1.0

 

 

Outline

The FRDM-K22F board (FRDM-K22F|Freedom Development Board|Kinetis|Freescale) comes with OpenSDAv2.1 programmed on it, and has the CMSIS-DAP debug firmware on it by default.

(see 'Technical Details' at the end about the OpenSDA differences)

 

OpenOCD with CMSIS-DAP for FRDM-K22F is not supported in KDS V1.1.0. Trying to debug the FRDM-K22F board with KDS V1.1.0 and OpenOCD/CMSIS-DAP results in an error in the Console View and is currently not possible, until OpenSDA gets updated (see Kinetis Design Studio V1.1.0: Release Notes and News).

 

One solution is to use the Segger J-Link OpenSDAv2.1 firmware to debug the board.

(Another solution is to use the P&E Multilink OpenSDAv2.1 firmware, see FRDM-K22F: Debugging with P&E OpenSDAv2.1 Firmware)

 

Installation of Segger J-Link OpenSDA V2.1 Firmware

You need to install the Segger J-Link OpenSDAv2.1 firmware on the board, and you only need to do this once (unless you change the firmware again).

 

  1. Go to SEGGER - The Embedded Experts - OpenSDA / OpenSDA V2 and download the OpenSDA V2.1 firmware (zip file)
  2. Unzip the firmware file (JLink-OpenSDA_v2_1.bin) in the zip file to your harddisk.
  3. Power the board/Plug in the USB cable with the OpenSDA USB port, while having the Reset/SW1 pressed.
  4. The device should enumerate BOOTLOADER: device on your host. You are now in bootloader mode.
  5. Copy the Segger .bin file to that BOOTLOADER device. Wait a few seconds to complete the operation.
  6. Unplug the board, and now power it normally (without SW1 pressed)
  7. The board should now show up as J-Link device and with a virtual COM port:

  8. You are ready to use to debug the FRDM-K22F as if you would do with a Segger J-Link :-)

 

Debugging with Segger J-Link OpenSDAv2.1

Create a new debug/launch configuration: Select your project, then use the menu Run > Debug Configurations.

Use the 'new' Icon to create a new configuration for your application and project (Main tab):

 

Specify MK22FN512xxx12 as your device name, and make sure 'SWD' is selected:

 

Have SWO disabled:

 

That's it. Now you can debug your application with Segger J-Link OpenSDA V2.1 firmware on the board :-).

You can use the 'Debug' button in the launch configuration:

Or use the debug icon drop-down list:

 

Happy Debugging :-)

Technical Details

There are so far three versions of the OpenSDA available:

  1. OpenSDAv1.0: this one is on all the FRDM boards like FRDM-KL25Z, FRDM-KL26Z, FRDM-KL46Z, FRDM-K20, ... (prior FRDM-K64F). The bootloader on these boards is protected and cannot be erased and supports P&E, Segger and CMSIS-DAP debug applications (*.sda).
  2. OpenSDAv2.0: This version was released at FTF 2014 with the FRDM-K64F board. This is an open source bootloader, and the bootloader can be replaced by the user. It supports *.bin files and P&E, Segger and CMSIS-DAP debug applications.
  3. OpenSDAv2.1: This version is released with the FRDM-K22F board. It is the same as

The debug circuit on the board is the same for all OpenSDA versions (Kinetis K20 microcontroller): the difference is what bootloader is programmed on the K20: the bootloader on the OpenSDAv1.0 cannot be erased/changed. The bootloader on OpenSDAv2.x can be erased/changed, and the difference between the OpenSDAv2.0 and v2.1 is the address where the debug application starts: for OpenSDAv2.0 it expects the application at address 0x5000, while OpenSDAv2.1 expects the application to start at address 0x8000.

 

See also: OpenSDAv2

1 person found this helpful

Attachments

    Outcomes