Freescale Kinetis Design Studio V3.0.0 came out early May this year. One of the new cool features is that it includes the Processor Expert V3.0.0 with an extended New Project Wizard. With this wizard I’m able to create and use Processor Expert projects with IAR Embedded Workbench and Keil MDK :-).
Tag Archives: Building
Eclipse Project ‘Refresh Policy’: Broken Incremental Build with External Make?
So here is a problem I have observed for a while, and several users have reported that to me: the problem is that for some reasons and only for some projects, when I do a ‘build’ in Eclipse CDT, it does a ‘full’ build. It does not only build the changed files, it builds all or many files in the project.
I expect that only the changed files will be rebuild. Instead, it compiles many files it should not compile/build, with the result that a build takes a very long time. That’s clearly wrong, and not what I expect. So what is causing this problem?
Code Coverage with gcov, launchpad tools and Eclipse Kinetis Design Studio V3.0.0
What makes Eclipse great: using open source tools there are a lot of tools and techniques available which usually are only provided for desktop development.
A while back I described how to do code coverage with Eclipse Kepler and the GNU ARM Embedded (launchpad) tools (see “Code Coverage for Embedded Target with Eclipse, gcc and gcov“). With Kinetis Design Studio out, time to do the same with that Eclipse distribution, especially as Freescale is now using the stock GNU ARM Embedded tools too.
Problem: undefined reference to ‘__end__’ if using Semihosting
In case you are running into the following GNU linker error about a missing __end__:
'Building target: MyProject.elf' 'Invoking: Cross ARM C++ Linker' ... toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv6-m/rdimon-crt0.o: In function `_start': (.text+0xdc): undefined reference to `__end__' collect2.exe: error: ld returned 1 exit status make: *** [MyProject.elf] Error 1
The GNU linker complains that rdimon-crt0.o needs the symbol __end__. This symbol marks the end of the user data/RAM section, and is needed by the rdimon library specs which is used with semihosting.
Merging NXP LPCXpresso IDE with Freescale Kinetis Design Studio, Processor Expert and Kinetis SDK
So NXP announced here a $40 Billion Merger with Freescale. Frequent readers of my blog will know that I’m using in my own and university projects many Freescale devices with Eclipse based tools (Eclipse Kepler/Luna, Emprog ThunderBench, Atollic TrueSTUDIO, Freescale CodeWarrior and of Freescale Kinetis Design Studio) in combination with Processor Expert. In a few projects I have used NXP devices with the CodeRed Eclipse base tools too. So I was curious how that merger of the two silicon companies could look like, if you merge the Freescale and NXP Eclipse based tools, and mix it with Processor Expert and the Freescale Kinetis SDK? The result looks like this:
Semihosting for Kinetis Design Studio V3.0.0 and GNU ARM Embedded (launchpad)
Freescale has released the v3.0.0 version of the Kinetis Design Studio: this one comes with a great positive change: instead of a custom toolchain, it is coming with the standard GNU ARM Embedded (launchpad) toolchain from ARM. Beside of better code density and less RAM needed, there is one change which affects semihosting. Previously, semihosting was enabled by default in the V2.0.0 libraries. Now semihosting needs to be turned on. This post is how to do this.
tinyK20 USB Thumb Drive Enclosure
In “tinyK20 Open Source ARM Debug/Universal Board – First Prototypes” I talked about using a USB thumb drive enclosure for the board, so here is the idea:
Editing Compiler Include (or other) Settings in Eclipse
So now I have carefully set up my compiler include paths in Eclipse to tell the GNU compiler where to find my header files:
The question is: how can I apply these settings to another project?
CRC Checksum Generation with ‘SRecord’ Tools for GNU and Eclipse
One of the things missing for Embedded in the GNU linker is that it cannot generate a CRC checksum. Luckily, there is the solution of using SRecord:

Semihosting with GNU ARM Embedded (Launchpad) and Kinetis Design Studio
A while back I wrote two articles about Semihosting: “Semihosting with GNU ARM Embedded (LaunchPad) and GNU ARM Eclipse Debug Plugins” and Semihosting with Kinetis Design Studio. With using the GNU ARM Embedded (lauchpad) in my Kinetis Design Studio, time for a ‘summary’ post :-).







