FreeRTOS ARM Thread Debugging with Eclipse and GDB

FreeRTOS is probably the most popular RTOS used and I love it: it is efficient, has a lot of features, simple and easy to use. But despite its popularity, debugging it with open source tools as with Eclipse and GDB is really not that user-friendly: debugging threads/tasks is a pain compared to commercial solutions. For my university classes this semester I was looking for something easy to use by my students. Finally I managed to use a GDB helper which makes things easier now: I can switch task threads in Eclipse with GDB now 🙂

Switched to Shell Task

Switched to Shell Task

Continue reading

Learning from Failure: QFN Package Corner Problem

Every day, there is something new to learn. And having problems is always a good learning opportunity :-). Yesterday we were able to find a strange problem with our tinyK20 prototypes, just before we were about to send the design for manufacturing.

Kinetis K20 on tinyK20 Board

Kinetis K20 on tinyK20 Board

Continue reading

Linking additional Object Files with GNU Linker

Sometimes I need to link an object file (e.g. bootloader.o) to my application, and I do not want to build it, or I do not have the sources to build it. There is a simple way with the GNU ARM Eclipse plugins to link extra object files:

Other Objects for GNU Linker

Other Objects for GNU Linker

Continue reading

Aligning S19 Records to 64-bit Boundaries

Many tool chains and linker are able to produce S19 files, such as with the GNU tools it is the ‘objcopy‘ which does this job (see “Binary (and S19) Files for the mbed Bootloader with Eclipse and GNU ARM Eclipse Plugins“). But these tools usually cannot handle the special cases. For example on the Freescale Kinetis K64F my serial bootloader (see “Serial Bootloader for the Freedom Board with Processor Expert“) had a problem with these lines in the S19 file:

Not aligned S19 file entries

Not aligned S19 file entries

Continue reading

Freescale CMSIS-SVD Register Files with Eclipse MARS and EmbSysRegView

In “How to Add Register Details View in Eclipse” I showed how to add the Register detail support in Eclipse using the EmbSysRegView plugin. This was for Luna/Mars, and for the version v0.2.4 of the plugins.

Since then, there is a new version of Eclipse (MARS, see “Going to Mars: Building a DIY Eclipse IDE for ARM Embedded Microcontrollers“) and the EmbSysRegView plugin has been updated to v2.0.5. Makes everything much simple, so here is an updated post with the details how to add register detail view to Eclipse Mars.

Eclipse Mars

Eclipse Mars

Continue reading

Using FRDM-K64F Board to debug another Kinetis Board

Given all the posts I already have published on a similar topic, this one will be a short one: how to use the Freescale FRDM-K64F board with OpenSDAv2 to debug another board:

FRDM-K64F Board to Debug FRDM-KL25Z Board

FRDM-K64F Board to Debug FRDM-KL25Z Board

Continue reading