McuOnEclipse Components: 7-Feb-2016 Release

New in this release:

  • Segger SystemViewer: Upgraded to V2.30, added stack high-water mark
  • Segger RTT: fixed BASEPRI issue on Cortex M4 for critical sections
  • Utility: Fixed issue with Utility module and Kinetis SDK (usage of ‘byte’)
  • USB CDC: property to specify USB device current usage, new status getter functions.
Segger SystemViewer V2.30

Segger SystemViewer V2.30

Continue reading →

Show Floating Point Variable Bytes in Eclipse CDT

My preferred variable format in Eclipse is hexadecimal (see “Debugging Variables in Hexadecimal with Eclipse“). However, this does not work well with floating point variables:

Floating Point Variables in Eclipse Variables View

Floating Point Variables in Eclipse Variables View

The above view shows all variables having the value 0x0 (zero), but that’s actually not really true.

Continue reading →

Debug Multiple Boards with GDB at the Same Time

Many times it is very useful to debug multiple boards at the same time. For example if I’m debugging a communication stack between two boards: that way I can debug the protocol on both sides. Eclipse is a great framework which allows that. This post shows how to debug multiple boards (e.g. the NXP Freedom boards) in parallel from the same Eclipse IDE using GDB and the Segger J-Link:

Two NXP Freedom Boards debugged at the same time

Two NXP Freedom Boards debugged at the same time

Continue reading →

Renaming Eclipse CDT Projects

When I create a project in Eclipse (e.g. in Kinetis Design Studio with the GNU ARM Eclipse plugins), I have to specify the name of the project during creation time:

Project Name in Eclipse

Project Name in Eclipse

But what if I change my mind later on and want to use a different name? How to rename the project?

Continue reading →

Using the KwikStik K40 Board to Debug an external Board

When I left for the week-end, I missed to take with me my Segger J-Link debug box. I have one P&E Universal Multilink at home, but I needed a Segger J-Link to use the SystemViewer with my robot. I need that for a FreeRTOS trainig I will deliver in Poing/Germany on Monday at Avnet/Silica.

But I had a Freescale KwikStk board at home, and I did remember that I can use that board as a Segger J-Link to debug my custom hardware (see “Freescale Kinetis KwikStik (part 1)“).

Debugging Custom Board with KwikStik

Debugging Custom Board with KwikStik

Continue reading →

McuOnEclipse Components: 22-Nov-2015 Release

A lot of good things happened in the last three weeks, so here is a new updated McuOnEclipse component release, with the following main improvements:

  1. Updated Segger RTT component
  2. New Segger SystemView component
  3. FreeRTOS ‘tasklist’ shell command
  4. FreeRTOS with support for Segger SystemView

SystemViewer

Continue reading →

Data Logger with tinyK20 Board

First off: The tinyK20 project is progressing fine and is now on Hackaday.io :-).

For a research project we would like to use the tinyK20 to log gyro sensor data. For this I have created a quick-n-dirty project to explore how feasible it is. The tinyK20 has all the pins on the outside of the board, so I’m able to put it on a bread board:

tinyK20 on Breadboard

tinyK20 on Breadboard

Continue reading →

Segger SystemView: Realtime Analysis and Visualization for FreeRTOS

One of the most important aspects for developing complex realtime applications is get insights into what is going on the target. Segger just has released a free tool which gives an incredible useful insight view and visualization:

Segger System View for FreeRTOS

Segger System View for FreeRTOS

Continue reading →

NVIC: Disabling Interrupts on ARM Cortex-M and the Need for a Memory Barrier Instruction

Mastering interrupts is critical to make an embedded application reentrant. The challenge with reentrancy is that things might be implemented in a wrong way and the issue might just show up sporadically (see “EnterCritical() and ExitCritical(): Why Things are Failing Badly“). The ARM Cortex interrupt controller is named NVIC (Nested Vectored Interrupt Controller).

ARM Cortex NVIC Registers

ARM Cortex NVIC Registers

Continue reading →

SWD Debugging the FRDM-KL43Z

It is possible to use the Freescale FRDM-KL43Z to debug another board (see “Using the Freescale Freedom (FRDM-KL43Z) to Debug other Boards“). The FRDM-KL43Z has an on-board debug probe integrated, the OpenSDA. But it is easily possible to debug the board directly with a SWD debug probe like the P&E Universal Multilink or the Segger J-Link.

Debugging the FRDM-KL43Z with SWD

Debugging the FRDM-KL43Z with SWD

Continue reading →