For the Eclipse and Processor Expert lovers of this world: there is another Eclipse based IDE you can use: ThunderBench made by Emprog:
ThunderBench for ARM Eclipse Startup Screen
They support a range of ARM based devices, including the Freescale ones I’m using. So I downloaded the v3.24 30 day trial from their download page last week. Finally I have found some time to try it out. Could this be an alternative to use my Freescale FRDM boards with Processor Expert?
Eclipse based IDE’s have typically one limitation: the IDE has not much scripting capabilities. Yes, I can use things like JUnit for testing, but if it comes to build and debug C/C++ applications, then support gets really rare. An exception to this is CodeWarrior for MCU which features a command line version of the IDE which can be used for test automation as I used it in one of my tutorials. What I missed so far is to have a command line interface for Processor Expert to generate code. This is now possible with CodeWarrior for MCU10.5 :-).
Freescale might not have thought about this: how to use Freescale boards and silicon to develop for non-Freescale silicon?
I tinkered around using the FRDM (e.g. FRDM-KL25Z) board as a general purpose programming or debugging device. See the links to the posts at the end of this article. I have used it to program and debug other Freescale ARM processors. It requires board changes and the usage of a different OpenSDA firmware which has its own limitations (no USB CDC serial bridge). But for about $15-20 I have a device to program my own external boards :-).
If you are using Keil tools, then the good news is: With CMSIS-DAP you can debug any other (even non-Freescale) ARM device as long it is supported by the IDE :mgreen:
FRDM-KL25Z debugging the nRF51422-DK (Source: Keith Wakeham)
I don’t know the source of that quote, but for sure it is true for every developer and engineer too. Engineers need to work a lot with numbers. But numbers can be transformed into pictures and graphs which can make complex things and relationships easier to understand. Verifying proper functionality of a PID closed loop controller or watching sensor values with a nice plot is definitely something very useful. Would it not be great to watch sensor data changing over time in a chart like the one below?
One way is to export data and then show it e.g. in Excel (which has been great chart functions). But even better, if this could be done directly with data provided from the target board? If you think this is hard to do, then I can show you how this can be done in a few steps with the help of a very nice tool: FreeMASTER
So far I have covered in this tutorial series how to install ARM GNU gcc, adding Eclipse, followed by adding GNU GDB debugger, and then adding Processor Expert. I’m using FreeRTOS a lot in my projects, and luckily there is a Kernel Awareness Plugin available for FreeRTOS for GDB in Eclipse. This tutorial is about how to install and use it.
This is the third part of a tutorial series how to ‘do-it-yourself’ a tool chain for the Freescale Kinetis microcontroller, with the FRDM-KL25Z as example. The tool chain is using GNU ARM gcc plus Eclipse Kepler release. So far I have the following parts:
So far things are very generic. But with debugging it means different hardware, and different hardware connections. And for this connection we need a GDB Server.
Eclipse CDT features a GNU Debugger (GDB), and this is what I want to use here: debugging my microcontroller with GDB inside Eclipse. In order to debug the microcontroller, I need two other things: a GDB Server and a Debug Probe.
The good thing with using ARM microcontroller is: there are plenty of tool choices. Even myself, I’m using multiple different tool chains. And while I’m heavily using Eclipse, there are non-Eclipse tool chains which have their advantages too.
The cool thing with CodeWarrior is that beside of Eclipse based, it comes with Processor Expert integrated. And I’m using Processor Expert a lot in my projects. But using Processor Expert does not mean I’m limited to CodeWarrior or Eclipse. So I can use CodeRed or IAR as tool chain with it. And this post is about using Processor Expert with the µVision tool chain from Keil/ARM.
I’m working with a student on building a small autonomous robot platform, based on the FRDM-KL25Z board. We integrated new software modules, compiled and linked, and then downloaded the application to the board. While debugging and stepping through the application startup, I had this:
The Debugger has lost communication on connection
Outsch! That’s not good. Even worse, trying to connect again to the board failed :-(. What happened?
CMSIS-DAP stands for ‘Cortex Microcontroller Software Interface Standard – Debug Access Port’) has been published by ARM Inc. With this, there is an open source alternative to proprietary implementation (e.g. P&E OpenSDA or Segger OpenSDA).
Beside of the ARM MDK IDE, CMSIS-DAP is supported by Coocox and IAR. And IAR is what I’m using in this post.