Kinetis Design Studio V1.0.1 Beta Release Notes

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

(NOTE: this document gets constantly updated with new information)

 

===========================================================================

Release Notes: Kinetis Design Studio (KDS) V1.0.1 Beta

Date: 06-June-2014

===========================================================================

 

Content:

1) What's New

2) Devices Supported

3) Known Issues and Workarounds

 

Freescale Community Forum:

https://community.freescale.com/community/kinetis-design-studio

 

===========================================================================

1) What's New

===========================================================================

Kinetis Design Studio is a complimentary, free of charge and unlimited Eclipse based tool chain with GNU gcc and GNU gdb for the Freescale Kinetis devices. As debug connections, OpenOCD/CMSIS-DAP, P&E Multilink and Segger J-Link are supported.

 

A pre-release of the V1.0 beta has been used at the Freescale Technology Forum (FTF) 2014, and based on this feedback, several things have been

improved:

  • Installer: Backslash has been removed from KSDK_PATH variable. An additional variable is created (KSDK_PATH_1_0_0_BETA).
  • Installer: Processor Expert CDE (Component Development Environment) is now installed too.
  • Installer: fixed issue with intstallation into a path with spaces.
  • Installer: The installation dialog dealing with removing old versions of KDS has been reworded to clarify that it offers users the opportunity to search for and remove old versions, not that it has already detected old versions on the system already.
  • Installer: The working directory used by shortcuts created on Windows is now the KDS eclipse/ directory. This allows workspaces to be positioned relative to the installation.
  • Processor Expert: an updated version of Processor Expert has been incorporated.
  • Project Creation: Bare projects are now created with proper *.S assembly file extension.
  • Project Creation: Kinetis SDK __START, __HEAP_SIZE and __STACK_SIZE preprocessor symbols are now generated, and include path settings have been extended.
  • Project Creation: Projects for M4 cores with floating point unit have the hardware floating point options set in the compiler settings.
  • Debugging: Updated (v4.84c) version of Segger debug tools which fixes a "Move to Line" GDB issue seen with previous versions.
  • Eclipse: A new release of the GNU ARM Eclipse plugins (http://gnuarmeclipse.livius.net/blog) has been incorporated. This includes fixes for the following issues:
    • On Windows the "Allocate console for OpenOCD" checkbox, that must always be checked, can no longer be modified.
    • The GNU LD Error parser is now enabled by default. Previously errors and warnings from the linker didn't appear in the Problems view.
  • Eclipse: The name of the default workspace has been changed to "workspace.kds".
  • Eclipse: The list of available update sites now includes the P&E Micro update site.
  • OpenOCD: In its default configuration OpenOCD will now always write a known-safe value to the Flash Configuration Field (FCF). This is designed to prevent users from inadvertently locking their devices by programming them with a broken executable. This safety feature can be disabled with the "fcf_write_enable" command, and re-enabled with "fcf_write_disable". These commands may only be used after the kinetis flash bank has been defined.
  • OpenOCD: The part-specific OpenOCD configuration files included in previous releases have been deprecated. They have been replaced by a single configuration file for all kinetis parts: kinetis.cfg. This unified file also uses a faster adapter speed of 1000 Khz.
  • Toolchain: Previous versions of the linker emitted a warning "cannot find entry symbol", when the specified entry point of the program could not be found. This warning has been promoted to an error by default. A pair of options, --warn-missing-entry --error-missing-entry, have been added to allow users to control this behaviour.

 

IMPORTANT: the KDS V1.0.1 beta installation comes with an installation of the beta Kinetis SDK. For KDS V1.0 GA (General Availability Release), the Kinetis SDK will be a separate installation/zip file, and therefore projects created with the KDS V1.0.1 beta will likely not work with that future Kinetis SDK version without modifictions (e.g. updating path settings).

 

===========================================================================

2) Devices Supported

===========================================================================

Processor Expert projects:

- All Kinetis ARM Cortex-M0+ and Cortex-M4(F) devices supported by Processor Expert.

 

Kinetis SDK projects:

- K64F (MK64FN1M0VMD12 only)

 

Bare Projects (no SDK and no Processor Expert projects)

- K64F, KL25Z

 

===========================================================================

3) Known Issues and Workarounds

===========================================================================

Installation

  1. ISSUE: Users of the KDS v1.0 (FTF) may have an old KSDK_PATH "User" environment variable set. The updated installer only modifies system environment variables.
    WORKAROUND: Users should remove any stale "User" KSDK_PATH environment variables.
  2. ISSUE: When Kinetis Design Studio is installed in a read-only directory, for example Program Files, the Eclipse configuration is stored in a user-specific area. If the user has other versions of KDS, or other Eclipse-based products, using that same configuration area they may be prompted to perform an update when they launch Eclipse. For the components that don't provide a public update site this update will fail, however KDS should still be fully functional; the update can safely be skipped.
    WORKAROUND: Use the default installation path proposed by the installer.
  3. ISSUE: Installing on Linux, if you already have Segger drivers installed, you might receive an error like "dpkg: error processing kinetis-design-studio_1.0.1-1_i386.deb (--install): trying to overwrite '/etc/udev/rules.d/99-jlink.rules' which is alos in package jlink 4.78.7".
    WORKAROUND: make sure that you install as root. Uninstall the existing j-link drivers before running the KDS installer.

 

Project Creation

  1. ISSUE: For bare projects (no SDK, no Processor Expert), the project is with a linker file for the KL25Z.
    WORKAROUND: Change/replace the linker file with a linker file matching the device (e.g. copy from a Processor Expert project).
  2. ISSUE: Converting and Importing CodeWarrior for MCU projects to KDS as outlined in the QuickStart might result into projects which do not build. As the libraries for KDS are different (EWL), the cannot be automatically mapped to the GNU libraries.
    WORKAROUND: Update the projects settings manually after project import.
  3. ISSUE: Migrating existing CodeWarrior projects with multiple build targets can result in an error message Cannot run program "": Launching failed. The CodeWarrior Migration Assistant only converts the active build configuration. Other build configurations will be partially converted.
    WORKAROUND: This can be fixed by manually editing the Builder Settings tab in the C/C++ Build properties: Uncheck "use default build command" and replace ${cross_make} with make.
  4. ISSUE: After creating a project for MK64 devices that uses both Processor Expert and KSDK users may see build errors: "No valid CPU defined" fsl_sim_features.h.
    WORKAROUND: This can be worked around by adding a pre-processor definition supported by fsl_sim_features.h to the Projects C Compiler pre-processor settings. For FRDM-K64F make sure the following two symbols are defined in tehe Preprocessor settings of the compiler: "CPU_MK64FN1M0VLQ12" and "CPU_MK64FN1M0VMD12".
    preprocessor define.jpg
  5. ISSUE: For Kinetis SDK projects (both only SDK and SDK+PEx), global variables and library does not get properly initialized. A hard fault or undefined global variables are the possible result. This is caused by skipping some initialization code in the startup code.
    WORKAROUND: In the project settings, under Cross ARM GNU Assembler > Preprocessor, delete the "__START=main" and add __NO_INIT_DATA_BSS to the defines.
    __NO_INIT_DATA_BSS.png

 

Processor Expert

  1. ISSUE: Using the AsynchroSerial component causes an error about missing SIM_PDD_SetClockSourceUART0(). (see Missing function SIM_PDD_SetClockSourceUART0 in KDS 1.0.1).
    WORKAROUND: See workaround in Re: Re: Missing function SIM_PDD_SetClockSourceUART0 in KDS 1.0.1
  2. ISSUE: Processor Expert projects cause a rebuild of the project even if no changes are made. The issue is for example that after opening a project, the Processor Expert .pe (XML) file gets changed, causing a rebuild of the whole project.
    WORKAROUND: none.

 

Building

  1. ISSUE: ISSUE: In the problems view, after creating or opening a project, the messages "arm-none-eabi-gcc" not found in PATH appears.
    WORKAROUND: Ignore/delete these errors, as they come from the Eclipse indexer/parser, and they do not affect functionality. The messages will disappear as well if the project is built. Alternately the Problems view can be configured not to show errors from the Scanner: Select "Configure contents" from the Problems view menu, then uncheck the "Show all items" checkbox in the top left, and the "C/C++ Scanner Discovery Problem" checkbox in the types list.
  2. ISSUE: The Kinetis SDK comes with projects configured for the GNU ARM Embedded Toolchain which is different from the toolchain used in KDS. So the KDS make file projects cannot be used without modifications with KDS.
    WORKAROUND: Create a KDS project and add the SDK files to it.
  3. ISSUE: Building a Processor Expert project reports duing linking "arm-none-eabi/bin/ld.exe: cannot find entry symbol Reset_Handler". The likely reason is that the project sources for the CPU component including the vector table has not been generated properly.
    WORKAROUND: Enforce generation of the vector table and the linker file. Go the to 'Build' properties tab of the CPU component and e.g. change the stack size of heap size, then regenerate the code and build again.

 

Debugging

  1. ISSUE: Clicking on the 'bug' (or 'debug') toolbar icon shows a dialog named "Launch DEbug Configuration Selection", and debugging fails from there.
    WORKAROUND: select the debug configuration from the list behind the small triangle drop down in the 'debug' toolbar icon.
  2. ISSUE: When trying to start an OpenOCD debug session from within Eclipse, if the underlying OpenOCD tool fails to start, the Eclipse process manager may appear to hang or may fail with an uninformative error message. Possible causes of OpenOCD failing to start include a board not being connected, a board running the wrong OpenSDA application, or bad options being passed to OpenOCD. Running the command line tool: <KDS_INSTALL_DIR>/openocd/bin/openocd.exe may provide more informative output.
    WORKAROUND: Make sure the board is properly connected and powered.
  3. ISSUE: In some cases it is possible that with using OpenOCD and CMSIS-DAP it can lock the K64F chip on the board, so the CMSIS-DAP is not able to access it any more. You need a P&E Multilink or Segger cable to regain access to the chip.
    WORKAROUND: Make sure you use the lastest CMSIS-DAP release as it migh have fixed that issue. Use the P&E or Segger debug firmware to debug the board. Steps to load the new firmware: a) Power the FRDM-K64F board with the OpenSDA USB port and hold the reset button while powering the board b) Release the reset button, the board enumerates as BOOTLOADER device, the green LED is blinking. c) Copy the DEBUG_K64F_MBED_PEMICRO_V108.BIN file to the BOOTLOADER device. The green LED will blink fast. c) Repower the board normally: the green LED will be always on.
  4. ISSUE: If the PATH variable has double semicolons (;;) or a semicolon at the end, launching gdb debugger might fail. The it is possible that the gdb debugger specified with ${cross_prefix}gdb${cross_suffix} is not found. An error message with "Error while launching command: gdb --version" is shown.
    WORKAROUND: The likely reason for this issue is a double semicolon in the PATH environment variable, or a semicolon at the end of the variable, see  https://bugs.eclipse.org/bugs/show_bug.cgi?id=389823. If a double semicolon or one at the end is present in your PATH, remove it. If this does not help: In the launch configuration settings, instead using ${cross_prefix}gdb${cross_suffix}, point directly to the GDB executable, e.g. "C:\Freescale\KDS_1.0\toolchain\bin\arm-none-eabi-gdb.exe".
  5. ISSUE: The Quick Start Guide (installed in the layout, not the one in this community) states that no OpenOCD debug configuration is required, however "-f kinetis.cfg" must be specified in the other options box.
    WORKAROUND: specify "-f kinetis.cfg" in the other options box.
  6. ISSUE: The current versions of the mbed CMSIS-DAP image sometimes exhibit meta-stability. This manifests as "CMSIS-DAP Write Error (0x04)" and "Polling target kinetis.cpu failed" messages being emitted by OpenOCD. A possible cause is an invalid program being flashed to the device.
    WORKAROUND: Use another debug technology (P&E Multilink, Segger J-Link) to flash a valid program to the device.
  7. ISSUE: When creating a bare project (no KSDK and no Processor Expert) for MK64 devices, programs may not reach main when debugging. This is caused by the the COP watchdog triggering a reset.
    WORKAROUND: To work around this issue disable the watchdog in __init_hardware, as demonstrated by Processor Expert projects. See Disabling Watchdog for 'Bare' Projects
  8. ISSUE: 'Disconnect' from a running target debug session does not work as expected (e.g. halts the target).
    WORKAROUND: use this as 'Other options' in the debug configuration:
    -f kinetis.cfg -c "kinetis.cpu configure -event gdb-detach {
      resume
    }"

 

 

===========================================================================

Freescale, the Freescale logo, Kinetis, Processor Expert are trademarks of

Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. All other product

or service names are the property of their respective owners. ARM is the

registered trademark of ARM Limited. (c) 2014 Freescale Semiconductor, Inc.

===========================================================================

2 people found this helpful

Attachments

    Outcomes