FTF: FRDM-K64F, Kinetis Design Studio and Kinetis SDK

I’m attending the Freescale Technology Forum (FTF) in Dallas this year: As they say here: “everything is bigger in Texas”, that’s the motto of this conference ;-). The conference is packed, and I have a hard time to keep up with all the things going on. My focus is obviously everything around Eclipse and ARM microcontroller. The conference started yesterday afternoon with hands-on labs, and I was in the one were Freescale presented the new ‘Kinetis Design Studio’: a free of charge/unlimited Eclipse tool chain based on Eclipse Kepler, GCC and GDB. Freescale presented their new software library ‘Kinetis SDK’. And: There is a new Freedom board which gets handed out to the attendees: the FRDM-K64F :-).

Texas Style Glass Coverage

Texas Style Glass Coverage

The conference place is nearby the Dallas airport, and inside the place there is a big ‘Disney like’ glass covered area:

Conference Place Inside

Conference Place Inside

Kind of funny: looks like a park outside, but is covered and inside ;-).

Inside Covered Area

Inside Covered Area

Kinetis Design Studio

The Kinetis Design Studio is an unlimited and free of charge tool chain offered from Freescale. It is Kepler based, includes a modified GNU ARM Eclipse tool chain (so not exactly what is on the ARM Launchpad), with GDB support for P&E, Segger and OpenOCD. All three are nicely integrated into Eclipse, and the build tool integration are the GNU ARM Eclipse plugins from Liviu which I used in my previous post.

The Kinetis Design Studio supports Windows and Linux (I have used it in the class with Windows), and Mac OS X support is supposed to follow later this year. Both the Segger and P&E support worked very well for me out of the box, while the OpenOCD needs to be used with caution (or with a P&E or Segger probe as backup). I expect that OpenOCD will mature and grow over time, but I would not recommend to use it unless you are very familiar with OpenOCD.

Obviously the Kinetis Design Studio supports the K64F, and it supports and installs the Kinetis SDK for K64F (more about this below). It has Processor Expert included, and with the New Project Wizard it is able to generate projects for all existing Kinetis Devices (either as ‘bare’ projects or Processor Expert Project. Kinetis SDK projects are only supported for the K64F.

There is still CodeWarrior which supports all the existing Kinetis devices, but going forward all new Kinetis devices will be supported in Kinetis Design Studio. So Freescale is making a step from ‘modified Eclipse with proprietary debugger’ to ‘stock Eclipse with gcc and gdb’. The Kinetis Design Studio was handed out to the class attendees, and is now in a beta phase. You can ask a copy (moderated beta download program) from http://www.freescale.com/kds.

Kinetis SDK

The other announcement made is the new Kinetis SDK. The SDK comes with a friendly BSD licensed set of sources and drivers. It has a HAL (Hardware Abstraction Layer) to use the Kinetis hardware resources. It comes with CMSIS-CORE compliant startup and drivers files and includes a RTOS Abstraction Layer (OSA) for multiple RTOS (bare metal, Freescale MQX, FreeRTOS, Micrium uC-OS).The Processor Expert in Kinetis Design Studio comes with dedicated components which makes it easy to configure and use the SDK.

The SDK is beta right now too, and is available from http://www.freescale.com/ksdk.

FRDM-K64F Board

When I described earlier the TWR-K64F120M, I was hoping that there would be a Freedom board for that microcontroller. And indeed: at FTF a board is handed out to every attendee :-).

FRDM-K64F120M Board

FRDM-K64F120M Board

It has the K64F chip on it (ARM Cortex-M4F, 1 MByte Flash, 256 KByte RAM), USB and Ethernet, plus the OpenSDA debug port. But that OpenSDA is running a different bootloader from mbed. Because of the Ethernet connector, the side headers are ‘extended’ ones so if I put a board on top of it, it should not touch the Ethernet connector. The board has two push buttons, a magnetometer/accelerometer, an RGB LED.

What I really love is that there are to (unpopulated) connectors for UART and SPI, so I can put the headers on it and have my HC-06 Bluetooth modules and my nRF24L01+ transceivers working with the board 🙂

FRDM-K64F120M Board with Bluetooth and nRF24L01

FRDM-K64F120M Board with Bluetooth and nRF24L01

Summary

A lot of good information, and I have a new board to play with. It will take me a while to consume all the information received, and for sure I need to follow-up with new blog posts once I have explored things even more.

I already have created a demo program for KDS and FRDM-K64F here: https://github.com/ErichStyger/mcuoneclipse/tree/master/Examples/KDS. It includes LED, magnetometer, accelerometer, SD card with FatFS, RNet stack for the nRF24L01+. Ethernet and USB are not supported yet, but will add as soon time permits.

I brought my Zumo Robots, and I’m demonstrating them in the ‘Technology Lab’. Today I will have a presentation about FreeRTOS, so that will be fun too :-).

Happy FTFing 🙂

38 thoughts on “FTF: FRDM-K64F, Kinetis Design Studio and Kinetis SDK

  1. Very interesting! I was looking into low-level DSP-functionality on the ARM-platform recently, and considering my Zedboard seemed like complete overkill for some basic experimenting, I was wondering when an easy, low-cost devboard would be released (and preferably one made by Freescale considering I absolutely love the FRDM-KL25Z).

    I’m hoping the FRDM-K64F will be available from some EU-distributors soon. Also, filed my request for the KDS to Freescale, very excited about this.

    Keep us posted!

    Like

  2. Please report on the trace buffer capabilies of the GDB debugger in Kinetis Design Studio. Can it take full advantage of Kinetis’s built-in debug hardware? For example, trace history reconstruction, etc. I’m particularly interested in how well it works with the P&E MultiLink.
    — Thanks!!

    Like

    • Hi Dave,
      KDS does not come with any trace viewer or something like this. So you if you need full fledged trace, you probably need something different. But it takes advantage of the ARM debug hardware as in CodeWarrior as it relates to normal debugging (stepping/stopping/etc). Actually I think it is even better as with GDB it has built in command line debugging, plus you can run the debugger without any IDE/Eclipse (through the GDB command line interface).

      Like

      • Hello again Erich,
        Since P&E is there at FTF, could you get some details from them about their “GDB Server”, please? I download the doc from the P&E site (6 pages), but it did not say much. The configuration choices infer that GDB Server will work with the P&E TraceLink, so some sort of trace support must be possible.
        Thanks!!

        Like

        • Hi Dave,
          yes, it should be able to talk with the TraceLink (I had not chance yet to try it with the one I have). But it will be limited to the run control only, means that the tracelink is like a MultiLink. The GDB can for sure access the trace link, but the thing is that you would need ‘something’ to view the trace data (trace viewer). Such a trace viewer is not in KDS available, but maybe P&E will provide something (but I could imagine that they would not give away this for free).

          Like

  3. Hi Erich, nice report of the FTF, have you had been able to program the FRDM-K64F with the Codewarrior 10.5 or later? The boards of the event are programmed with the mbed programmer and there’s no way to work with the ethernet port.
    Thank you

    Like

    • Yes, I was able to program it with over the SWD connector (but not over the OpenSDA).
      I was able to to use the OpenSDA with GDB and Kinetis Design Studio. P&E is at FTF too, and they gave me a firmware on top of the mbed bootloader which works without any problems with GDB. But when I tried it with CodeWarrior 10.5 and 10.6, it gave me “Error reading data from OpenSDA hardware. E17925.”. I will check with P&E.

      Like

      • Hi, I would like to know if you did anything special in order to be able to upload program through the opensda of the K64 board with the program being written in SDK.

        Consider myself as a newbie to ARM processor and the only thing I’ve programmed before was atmel chip through SPI.

        I tried writing a very basic program that lights up the led of the K64 and did not works. I also tried to change the clock speed to the maximum , 120MHz and that might be why it did not work.

        Sincerely,
        Gabriel Bernatchez

        Like

        • Hi Gabriel,
          I did not do anything ‘special’, however what ‘special’ is depends on your view. Have you configured the debug configuration properly? What debug firmware do you have on the board? OpenSDA/CMSIS-DAP? P&E? Segger?

          Like

  4. Its like freescale has realised we are struggling to set up opensource tools in our systems to use their silicon, and we are succeeding so they made it easy for everyone :), I like the idea. now i can tell my students to just download and install the IDE.

    Like

    • The registration process is running, but I’m told that it might take until the end of the week (or early next week) until it is on the system for download. The P&E and Segger GDB are working very nicely. The OpenOCD/CMSIS-DAP works too, but I had cases where it looked up my board. I had to use a P&E or Segger cable to recover the board through the normal JTAG header. So I recommend to anyone who wants to try out the CMSIS-DAP with OpenOCD to have a Segger or P&E cable at hand, just in case. In one case it was my ‘fault’: I missed to configure/program the flash configuration bits in my application: both Segger and P&E can deal with this (they fix it in the download). The OpenOCD does not have that intelligence built it, so it just erases the flash configuration bytes with 0xFF, and this means the part is locked. Worse, if this happens, the part continuosly resets (reset line/LED on), but OpenOCD is not able to get access to the part any more. Using a P&E or Segger then helped. Just as a warning and tip.

      Like

      • I got that sometimes, but I just use the P&E openSDA firmware and P&E debug server with the same usb port without the cable, or Segger Jlink OpenSDA. OpenOCD requires some work to get that intelligence I guess, its so generic.

        Like

  5. Pingback: GNU Additional Tools: Create Flash Image, Print Size and Extended Listing Options | MCU on Eclipse

  6. Pingback: Processor Expert (Driver Suite/Plugins/KDS) V10.4 with new Component Inspector | MCU on Eclipse

  7. Pingback: Recovering FRDM-K64F mbed Board | MCU on Eclipse

  8. Just curious how they integrated the GNU ARM Eclipse plug-ins into KDS. They forked the project and maintain a separate version, or they kept the original plug-ins, and you can upgrade them from SourceForge?

    Like

    • Hi Liviu, Somnium to my knowledge integrated you your plugins ‘as is’, while P&E extended the plugin with a dialog for the Multilink (similar what you have created for Segger). I talked to P&E at FTF about this, and they indicated that they plan to contribute this back, and will get in touch with you about this.

      Like

  9. Pingback: Using the FRDM-K64F with CodeWarrior | MCU on Eclipse

  10. This chip and board might sway me back to Freescale from my recent dabbling with STM32.
    I’m glad to see they have a lot more Flash and RAM now, dumped the slider and put on stuff you can use like the SD card socket. They must be reading your posts and the comments, and listening!
    -Bill

    Like

  11. Pingback: Binary Files for the mbed Bootloader with Eclipse and GNU ARM Eclipse Plugins | MCU on Eclipse

  12. Pingback: Segger J-Link Firmware for OpenSDAv2 | MCU on Eclipse

  13. Pingback: Constructing a Classroom IDE with Eclipse for ARM | MCU on Eclipse

  14. Pingback: FRDM-K64F atMaximum Speed of 120 MHz | MCU on Eclipse

  15. Pingback: printf() for the FRDM-K64F Board and Kinetis Design Studio | MCU on Eclipse

  16. Hi Erich,

    First, let me say that I’ve found your website extremely useful, thank you very much!

    I’ve been introducing myself to the K64F and just took a look at your GitHub demo. After importing your FRDM-K64F_Demo example I’ve encountered some build errors. There appears to be many include files in Events.h which are not part of the repository (LED1.h, etc), and not part of KDS or Kinetis SDK.

    I may be missing something here, if so I apologize. Should these include files be added to the repository?

    Regards,

    Troy

    Like

  17. Pingback: Comparing CodeWarrior with Kinetis Design Studio | MCU on Eclipse

  18. Pingback: Tutorial: FreeRTOS with the Kinetis SDK and Processor Expert | MCU on Eclipse

  19. Pingback: Code Coverage for Embedded Target with Eclipse, gcc and gcov | MCU on Eclipse

  20. Hi Erich
    Do you have any new developments/news regarding the usage of the ethernet interface of this board?
    I would very much need some sort of data transmission over ethernet (even without tcp/ip stack) but I still not succeeded.
    I tried to use the PEX component Ethernet_LDD, using just the example code in the help page of the Ethernet_LDD component. I managed to compile and build but the application immediately when executing the function ExampleData.EthPtr = ETH_Init(&ExampleData); ends up in PE_ISR(Unhandled_ivINT_Hard_Fault)
    {
    PE_DEBUGHALT();
    }

    Maybe you successfully tried the example?

    Cristian

    Like

  21. Pingback: Merging NXP LPCXpresso IDE with the Freescale Kinetis Design Studio, Processor Expert and Kinetis SDK | MCU on Eclipse

  22. Pingback: Kinetis Drone: Frame Construction with Graupner Race Copter Alpha 250 Q | MCU on Eclipse

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.