Flashing many ARM Boards without a Host PC

So here I have 50 new NXP Kinetis K22 Robot boards (see “Zumo Robot with Magnetic Encoders“), and they all need to be programmed with the first firmware on the bench:

Programming Robot Boards

Programming Robot Boards

The challenge is: how to do this in a fast an efficient way, without the need for an IDE or even host PC machine?

Continue reading

nRF24L01+ 2.4 GHz Wireless Connectivity with the tinyK20 Board

I’m using the tiny and inexpensive Nordic Semiconductor nRF24L01+ transceiver (see “Tutorial: Nordic Semiconductor nRF24L01+ with the Freescale FRDM-K64F Board“) in many projects: it costs less than $3 and allows me to communicate with a proprietary 2.4GHz protocol in a low power way (see “IoT: FreeRTOS Down to the Micro Amps“). I have that transceiver now running with the tinyK20 board too:

nRF24L01+ Transceiver with tinyK20

nRF24L01+ Transceiver with tinyK20

Continue reading

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

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

Hardware Reset for ARM Cortex-M with Segger J-Link and Kinetis Design Studio

The reset and signal line of a microcontroller is probably the most important signal to a microcontroller. And if things go wrong, then a first thing to check is the reset line. So having control over reset is an important aspect for embedded development. You would think that if you download a program to a microcontroller, the debug probe would put the device into reset at the start with a short pulse like this:

Reset Signal in Logic Analyzer

Reset Signal in Logic Analyzer

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