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 :-).
Category Archives: Debugging
Variable Debugging with Eclipse Kepler
The current Eclipse Kepler version comes with changes for debugging variables. I have students coming from the earlier Eclipse versions, so here are a few tips for dealing with variables in Eclipse Kepler.
Sharing Debug Configuration with Eclipse
Maybe you had this problem too: you shared a project with somebody, only to realize that your carefully crafted debug configuration was not shared?
Eclipse has the concept to store settings in the ‘framework’. The ‘framework’ is the Eclipse internal data, basically what is inside the .metadata folder of the workspace.
First Steps with the Freescale TWR-K64F120M
Naturally, I have several project ideas lingering around. No time to make them all (for now). One of it is interfacing the Raspberry Pi camera with a microcontroller. To store the images, I need plenty of RAM on the device, and so far the Kinetis microcontroller did not have that. Finally, Freescale announced the K64F120 a few months back, and my ordered TWR-K64F120M board arrived on my desk, waiting to be used: Finally I get an ARM Cortex-M4F with 1 MByte of FLASH and 256 KByte of RAM :-).
Boards from Embedded World (STM Nucleo, Atmel Xplained Mini, Cypress PSoC 4)
At conferences and shows like the Embedded World in Nürnberg it is not only about gathering the trends of the industry: it is as well about collecting all the goodies handed out to the attendees. I’m less interested in things like pens or the like: what I love most are microcontroller on a board I can use :-). This year STMicroelectronics, Atmel and Cypress all had boards to distribute ‘like candies’ 🙂
DIY Free Toolchain for Kinetis: Part 10 – Project Creation with GNU ARM Eclipse 2.1.1
As mentioned in Part 9: There is a new GNU ARM Eclipse plugin 2.1.1, and this one makes project creation for Freescale devices easier than ever 🙂
- Native Kinetis-L project templates for FRDM-KL25Z and FRDM-KL46Z boards
- Easier than ever project creation for Processor Expert projects
DIY Free Toolchain for Kinetis: Part 9 – Express Setup in 8 Steps
On Monday the new semester starts, and yet again: we will do a Sumo thing :-). They can choose which tool chain they would like to use to develop their application for the ARM Cortex-M0+ used from Freescale. One option is to create a ‘Do-It-Yourself’ toolchain. Since the start of the series, things have evolved: there is a new GNU ARM tool chain available, Segger has updated their drivers, and most important the GNU ARM Eclipse plugin has been greatly extended to support Freescale parts and Processor Expert. So instead to read through all the previous tutorials, this one is about putting together a free tool chain less than 10 minutes (not counting the time to download around 500 MByte).
IoT: FreeRTOS Down to the Micro Amps
University research projects can be a lot fun, and are very challenging the same time. The good thing is that there is always someting new to learn :-).
This week-end I was working on my Internet of Things (IoT) project, based on a Freescale KL15Z and a nRF24L01+ transceiver. In essence it is a wireless data logger. For this, I only can afford a few micro amps consumed by the whole board over an extended period of time. I mean 21 micro amps for running a whole board with sensor, EEPROM, wireless transceiver, operating system and an ARM Cortex-M0+ ready to crunch numbers at 20 MHz 🙂
EnterCritical() and ExitCritical(): Why Things are Failing Badly
I have carefully implemented my firmware. It works perfectly for hours, days, months, maybe for years. If there would not be this problem: the firmware crashes sporadically :-(. Yes, I’m using watchdogs to recover, but hey: it is a serious problem. And because it happens only under rare and special conditions, it is hard to track it down or to debug it.
The thing is: these nightmares exist, and they are real and nasty. I’m pushing my students hard on this topic: It is about how to protect critical sections. And what could go wrong. And here is just yet another example: how it can go badly wrong if you are not careful. And it took me a while too to realize where the problem is. It was not a fun ride….
Debugging the same Project Multiple Times in Parallel with Eclipse
I have I project which I want to debug on multiple boards the same time. So how can I download and debug the same application to multiple boards/processors, and debug them all the same time from within the same workspace and Eclipse IDE?
This is a typical scenario I have with my RNet stack: the same application runs on multiple boards, and I want to debug all the boards with the same project with the same Eclipse. For example to wireless sensor nodes with the RNet nRF24L01+ stack as in the picture below:









