KDS Frequently Asked Questions (FAQ)

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

Kinetis Design Studio

  1. Q: What is the idea of KDS?
    A: It is a basic, complimentary, free development tool with no code size restrictions, for editing, compiling and debugging for all Kinetis MCUs. It is based on stock Eclipse (Kepler), includes GNU gcc build tools and GNU gdb debugging tools and Processor Expert.
  2. Q: Where is Kinetis Design Studio available for download?
    A: Kinetis Design Studio downloads are hosted on http://www.freescale.com/kds. Watch out for Announcments in this forum for new releases and updates.

 

KDS and CodeWarrior

  1. Q: What is the difference between KDS and CodeWarrior?
    A: KDS is unlimited, and the debugger is using open source GDB instead of a proprietary debugger engine. KDS only supports Kinetis, while CodeWarrior supports other architectures including ColdFire, ColdFire+, DSC, Qorivva, PX, RS08, S08 and S12Z. CodeWarrior will maintain the current support of Kinetis devices, while new Kinetis devices will be rolled into KDS.
  2. Q: Can I import CodeWarrior projects?
    A: Yes and no. CodeWarrior uses a different compiler (Launchpad GNU ARM gcc), while KDS is using a different version with different libraries. The build tool panels are similar, but not the same (KDS is using the open Source GNU ARM Eclipse plugins, while CodeWarrior uses an earlier and modified variant of that). As such, the compiler and project settings are similar, but not compatible. Moreover, the libraries (EWL in CodeWarrior, newlib and nano in KDS) are completely different. There is a migration assistant feature in KDS (see the KDS Quickstart Guide) which helps with some of the migrations settings. But it might be a cleaner approach just to create a new project with the new project wizard, and then add the CodeWarrior source files to the new KDS project instead.

 

Installation

  1. Q: Which host operating systems are supported?
    A: Windows 7 and 8 (both 32bit and 64bit), Linux (Ubuntu, RedHat, Centos) are supported. Mac OS X will be supported later to the end of this year.
  2. Q: The RPM Linux installation file has the *.i686.rpm extension, does this mean that it is a 64bit installation?
    A: No, it means that it runs on ix86, where i686 as a more recent version than the (old) i386. Both Linux packages for KDS (_i386.deb, .i686.prm) are 32bit packages. A 64bit package would be x86_64.
  3. Q: The binaries for Linux are 32bit, where are the 64bit binaries?
    A: In this version, only 32bit binaries are supported. We plan to provide 64bit binaries later this year.
  4. Q: In the custom setup of the installer, I do not see Processor Expert listed? Does this mean I have to install it separately?
    A: Processor Expert is included in the installation, and not optional (it is always installed). If you install KDS, then Processor Expert is installed in KDS as well, so no need to install it separately.
  5. Q: After installation of KDS, do I need to download and install the Kinetis SDK?
    B: Yes, this is a separate download and installer from http://www.freescale.com/ksdk. Additionally, you need to install the Eclipse update from the <sdk>\tools\eclipse_update for full board and SDK support in KDS.

 

Processor Expert

  1. Q: How can I add my own interrupt vector?
    A: Use the menu Run > Debug Configurations and see Creating New Eclipse Debug Configuration | MCU on Eclipse
  2. Q: I want to use the RESET or NMI pin as a user button. How can I do this?
    A: see Pin Muxing: Using the NMI Pin as GPIO Pin | MCU on Eclipse and Using the Reset Button on the Freedom Board as User Button | MCU on Eclipse.
  3. Q: How can I switch from the new 'tab' view to the 'table' view in the component inspector?
    A: Use the small triangle in the view to deselect the 'Tabs View', see Processor Expert (Driver Suite/Plugins/KDS) V10.4 with new Component Inspector | MCU on Eclipse

 

RTOS

  1. Q: I have downloaded MQX v4.1, but there are no KDS projects or KDS wizards included?
    A: MQX Kernel Awareness is supported in KDS V1.1.0 or later, and it is installed with the menu Help > Install New Software and use the KDS Eclipse Update Site (http://freescale.com/lgfiles/updates/Eclipse/KDS).

 

Building

  1. Q: How to build a S19 or binary file to be used with the mbed bootloader (OpenSDAv2) on the FRDM-K64F board?
    A: See Binary Files for the mbed Bootloader with Eclipse and GNU ARM Eclipse Plugins | MCU on Eclipse
  2. Q: How can I print the code and data size of my application?
    A: There is an option in the build tools to print the size, see Printing Code Size Information in Eclipse | MCU on Eclipse
  3. Q: I get a compiler error that 'asm' is not recognized?
    A: By default the compiler settings are for C99, and there the 'asm' keyword is not recognized. Either change it to __asm (with two underscores) or change the compiler settings to use GNU ISO 90 (see First experence with KDS (Beta) with FRDM-K64F)
  4. Q: I want to use the latest GCC ARM Embedded (launchpad) tools and libraries, and not the version in KDS. How can I use KDS with the a different ARM toolchain and libraries?
    A: This article describes how to swap/change the tool chain: Switching ARM GNU Tool Chain and Libraries in Kinetis Design Studio | MCU on Eclipse
  5. Q: How to print to a physial serial port with printf() on the K64F?
    A: You need to implement application hooks, see printf() and scanf() with GNU ARM Libraries | MCU on Eclipse and UART printf() for the FRDM-K64F Board and Kinetis Design Studio | MCU on Eclipse.

 

Debugging

  1. Q: Which debugging probes are supported?
    A: KDS supports P&E Multilinks (including P&E OpenSDAv1), Segger J-Link (OpenSDAv1 and OpenSDAv2) and OpenOCD with CMSIS-DAP (both OpenSDAv1 and OpenSDAv2).
  2. Q: What is the difference between OpenSDAv1 and OpenSDAv2?
    A: OpenSDAv1 (see OpenSDA on the Freedom KL25Z Board | MCU on Eclipse) is present on boards released prior the FRDM-K64F120M (e.g. the FRDM-KL25Z and other Freedom boards), and support *.SDA firmware files. OpenSDAv2 is based on an open source mbed bootloader, is installed by default e.g. on the FRDM-K64F board, and loads *.BIN firmware files.
  3. Q: How can I use the Segger OpenSDAv2 on my FRDM-K64F board?
    A: You need to download the firmware from Segger.com and load it on the board, see Segger J-Link Firmware for OpenSDAv2 | MCU on Eclipse.
  4. Q: How can I create a new debug configuration?
    A: See the steps outlined in Creating New Eclipse Debug Configuration | MCU on Eclipse
  5. Q: I cannot see global variables in the Variables View?
    A: In KDS (Eclipse Kepler) you need to use the Expressions View, see Variable Debugging with Eclipse Kepler | MCU on Eclipse
  6. Q: I only see core registers in the Registers View?
    A: Yes, peripheral registers are not yet supported in this version. But there is a plugin described here you can use with KDS: How to Add Register Details View in Eclipse | MCU on Eclipse
  7. Q: I'm using FreeRTOS, how to debug with Kernel Awareness so I see the tasks, stack size, etc?
    A: Download and install the additional FreeRTOS plugin as outlined in DIY Free Toolchain for Kinetis: Part 5 – FreeRTOS Eclipse Kernel Awareness with GDB | MCU on Eclipse.
  8. Q: My FRDM-K64F OpenSDAv2 (red) LED is always on, and I cannot debug or connect to my board. How can I recover?
    A: See the steps outlined in Recovering FRDM-K64F mbed Board | MCU on Eclipse
  9. Q: How can I share my debug configuration or to store it as a file in my project?
    A: See http://mcuoneclipse.com/2014/03/15/sharing-debug-configuration-with-eclipse/
  10. Q: By default, the variables (e.g. in the registers view) are shown in decimal format. How to change the default to Hexadecimal format?
    A: See Debugging Variables in Hexadecimal with Eclipse | MCU on Eclipse
  11. Q: What device name can I specify in the Segger debug configuration?
    A: There is a link which points to all the devices supported by Segger in the launc configuration panel, see GNU ARM Eclipse & Segger J-Link Device Name Settings | MCU on Eclipse
  12. Q: How can I set a watchpoint on a variable in memory or on an address in memory?
    A: See C/C++ Watchpoints with Eclipse Kepler | MCU on Eclipse
  13. Q: How can I use printf() with semihosting?
    A: See Semihosting with Kinetis Design Studio | MCU on Eclipse
  14. Q: How to preserve memory ranges so that not everything gets erased on the target while downloading?
    A: For P&E GDB Server connection, see Preserving Memory Ranges with Eclipse and P&E GDB Server | MCU on Eclipse.
1 person found this helpful

Attachments

    Outcomes