It is one of these long weekends which allow to catch up on many things. One thing I finally completed was the move to FreeRTOS V7.1.1. With this I did some tests using the Tower boards, including the Kinetis one. So I have rebuild my Kinetis K60 application and was ready to flash the device. But then to my surprise I got this dialog:
FreeRTOS V7.1.1 was released beginning of May 2012. Finally I had some week-end time to integrate the changes and upgrade the Processor Expert component for it. V7.1.1 comes with smaller and larger changes. This includes maintenance and better support for various ports. One change is the removal of CLI from the original FreeRTOS distribution, an extra port macro and one trace hook macro.
The Freescale ColdFire V2 (MCF52259) is a great communication device: an embedded Processor like a Swiss Army Knife: Great peripherals, USB and Ethernet interface, a lot of flash application space and up to 64 KByte of RAM. I’m using that core in many projects, and there is great community support for it with boards and software. Unfortunately Freescale somehow provides Processor Expert support only half way for it. Support for the I2C bus is missing :-(.
After running the MQX batch installation file for MCU10.2 (see MQX Eclipse Working Sets) I had an error dialog when I inspected my debug/run configuration:
“Error loading data producer reader: com.freescale.morpho.core.CWException: The function “getServiceByContractID” returned an error condition (0x80040154)”
Working Sets are a very useful feature in the Eclipse Framework (see Working Sets Explained). But: with a standard Eclipse distribution it is not possible to import or export working sets. The good news is: the AnyEdit plugins (see 5 Best Eclipse plugins) provides that missing functionality. The other good news is: Buried in the Freescale MQX 3.8 distribution for Eclipse CodeWarrior, there is an even better implementation for the Eclipse Working Sets.
Eclipse comes with a large set of different views: They allow the developer to represent the information in various forms and with different angles. Most of these views are navigation oriented: a perfect example for this is the projects view or the Outline view. But over time I add more projects, more resources to my project, and at a certain time things get overwhelming. I have a lot of projects, and I do not want to switch between workspace too often. Yes, I can open and close projects, but this gets cumbersome too. Thankfully, there is a solution in Eclipse: Working Sets.
Small little helpers are the things in a developers hand which can make his life easier and simpler. The advantage with the Eclipse IDE is that there are many such helpers and extensions in the form of extra plugins you can install and use. And one of such a kind are the AnyEdit Tools provided by Andrey Loskutov. That Eclipse plugin comes with a wealth of useful extensions and utilities:
Freescale S08 controllers have an internal clock generator (ICG) which allows the device to run without an external clock signal. But as devices differ, they need to be calibrated and trimmed. The microcontrollers are usually trimmed in the factory. How can I trim it myself if I need something better?
I admit that I have (a few? or not so few) bad habits: one of it is that usually I find a way to do things, and if that works, I stick with it. I know that there are other ways to do things, but hey, why bother? And sometimes a good friend asks an excellent question (are there any bad questions?), and this let me review the way I’m doing things. And here is such a thing: exporting and importing projects in Eclipse.
With USB goes medical I have a serial-to-USB (CDC) support for my TWR-S08MM128 board. What makes these devices targeted for medical applications interesting for other applications are features like bootloader support and a CRC (Cyclic Redundancy Check) engine. But how can I generate the required CRC numbers with MCU10?
Once I have a carefully configured Processor Expert component, I can use the approach described in Drag&Drop in Processor Expert to copy that component to a different project. However, this requires that the destination project is present in the same workspace. So how can I transfer a component with its settings from one workspace to another? Or from one machine to another?
Maybe this situation is familiar to you: My embedded software stopped in the field. I am in front of it, hooked up with my laptop and debugger. And I see: indeed, it has a problem. Maybe just a one-time-thing? Maybe I do a reset and things will work as expected? Not really, according to Debugging Rules.
The thing is this: I’m in a situation which requires some deep investigation. But I do not have the time now. Or my boss, the boss-boss or the customer are standing behind me asking all the good questions for which I don’t have an answer. So in this situation it would be great if you could take a dump of the device memory, reset that board, move on and investigate what happened offline? Here are several ways how to do this…