Learning about Kinetis SDK!!:)

We all know that for an application to develop, for a project to work we need hardware along with the software.  So here we are with our FRDM-K64F development boards, but the question is-how to make them work? I wrote in my second blog about the new getting started process by Freescale for the FRDM-K64F: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-K64F&tab=In-Depth_Tab

This link gives me the opportunity to download the very helpful Kinetis Software Development Kit (SDK) along with the Integrated Development Environment which includes the toolchain Kinetis Design Studio. Let us talk a bit about the Kinetis SDK in this blog. So what does Kinetis SDK is responsible for? In simple terms, it is just software framework which helps us in developing applications across all Kinetis Microcontrollers. It is a package of pre-written code that developers can re-use in order to minimize the amount of unique code that they need to develop themselves.

Continue reading

Automatic Variable, Expression and Memory Display with GDB and Eclipse

One of the great features in CodeWarrior for MCU10.x is the ability to read memory/variables while running (see “Live View for Variables and Memory“). This technology of ‘live view’ is based on the CodeWarrior debugger engine. How can I do something like this with stock GDB and Eclipse? What I need is a periodic update of variables/expressions/memory while the program on the board is running, without the need to stop the board with the debugger first:

periodic auto-display output

periodic auto-display output

Continue reading

Let’s play with Freescale FRDM-K64F

Hello Again!

In my previous blog I talked about the new getting started process for Kinetis FRDM-K64F development board. Here I am with my next blog going one step further and introducing you to the target application that I have planned for this summer using the awesome FRDM K-64 development board from Freescale. I am planning to work on some really cool stuff that we can do from this board. And I came up with an idea for making an Adafruit NeoPixel NeoMatrix Signboard!!adafruit LED

Wait….does it sound boring to you? Nah… we are not planning some ordinary signboard. This Adafruit NeoPixel NeoMatrix signboard is really cool. It will display what you want to display and it will change the displayed text with just the movement of your hand. Sounds interesting now?? Continue reading

FreeRTOS Continuous Trace Streaming

Key to successfully implementing embedded applications these days is to have detailed visibility into what is going on with the application on the board. For this, I’m using the FreeRTOS+Trace from Percepio to inspect the runtime behaviour. Stop-Mode debugging is very useful, but visibility into the runtime is even more important. FreeRTOS+Trace is a tool to accomplish this, but it requires to dump the data off the target to the host (see “Updated Percepio Tracealyzer and Trace Library to Version V2.7.0“). Usually, I’m using the GDB debugger for this, and that works for shorter trace sequences like a few seconds. Yes, I can combine them, but it painful to stop, dump and continue. So what if I could collect trace for several minutes or hours without the need to stop the application? Why not stream the data to the host directly?

So here is it: I’m now able to get almost unlimited trace streaming off the target, witout user intervention. I can trace my application for hours 🙂

Trace Recording

Trace Recording for almost one hour

Continue reading

Tutorial: Using Processor Expert and FreeRTOS with Kinetis SDK V1.2

Freescale has released the new Kinetis SDK v1.2 back in May. Because of the changes in v1.2, previous applications (or my tutorials) do not work any more :-(. So time to write a new tutorial: how I can use Processor Expert with FreeRTOS for the Kinetis SDK v1.2.

Blinky Task with FreeRTOS and Kinetis SDK in KDS v3.0.0

Blinky Task with FreeRTOS and Kinetis SDK in KDS v3.0.0

Continue reading

Getting started with Kinetis FRDM- K64F: New and Better!! :)

Hello all!

Here is my second blog about the Kinetis MCU development boards, introducing you to the new and more informative Getting Started process for Kinetis FRDM-K64F from Freescale. As a part of my internship I got the amazing opportunity to play with the ‘New Getting Started’ process and the most recent box of the FRDM-K64F development board from Freescale.

Freescale have been working all along to make the life of its customers easier. So, at the FTF 2015 we launched the new website:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-K64F&tab=In-Depth_Tab

This website is for the new Getting started process for FRDM K-64F. This website will tell you all that you will need to start the FRDM K-64F development board. Continue reading

Using Segger Real Time Terminal (RTT) with Eclipse

I have used semihosting more and more in my projects. However, there are several disadvantage of using it:

  • Without special handlers, it only works with an active debug connection going on. Without a debugger attached, the application blocks otherwise.
  • Because it needs debugger interactions, it is rather slow (only several hundreds of bytes per second)

The good news is that Segger supports with their debug probes a faster approach with what they name Real Time Terminal (RTT). And it even runs without a debugger attached to the board: all what I need is a Segger J-Link probe (or Segger J-Link OpenSDA) plus a telnet client.

Segger RTT Viewer

Segger RTT Viewer

Continue reading

Debugging ARM Cortex-M Hard Faults with GDB Custom Command

In “A Processor Expert Component to Help with Hard Faults” I’m using a C handler with some assembly code, created with Processor Expert, to help me with debugging hard faults on ARM Cortex-M. Inspired by a GNU gdb script here, I have now an alternative way. As this approach is using the GDB command line approach, it works both with an Eclipse GUI and with using GDB in command line mode only :-).

GDB script to debug ARM Hard Faults
GDB script to debug ARM Hard Faults
Continue reading

How to Reset an ARM Cortex-M with Software

There are cases when I need to do a reset of the device by software. For example I have loaded the application image with the bootloader, and then I need to perform a reset of the microcontroller to do a restart. As a human user I can press the reset button on the board. But how to do this from the software and application running on the board, without user manual intervention? Or if I simply want to reset the system for whatever reason?

Performing a Software System Reset with Kinetis Design Studio
Performing a Software System Reset with Kinetis Design Studio
Continue reading

Freescale Kinetis CAD Footprints and Symbols for Eagle/Altium/etc

One question I have received many times:

“Where can I find the Eagle footprint for Kinetis device XYZ?”

(replace Eagle with Altium or any other CAD/PCB Layout/Schematics program). So far I had to point either to Google, or to the symbols I have used in my design. Finally, Freescale has now a site where footprints can be downloaded :-):

Kinetis Footprints

Kinetis Footprints

Continue reading