The existing OpenSDAv1 (see “OpenSDA on the Freedom KL25Z Board“) bootloader is using the industry standard Motorola S-Record (S19) Files. However, new FRDM-K64F board (see “FTF: FRDM-K64F, Kinetis Design Studio and Kinetis SDK“) has OpenSDAv2 on it, which is an mbed bootloader. So how to create files with an IDE other than mbed for that bootloader which is present on the FRDM-K64F board by default? Well, creating binary files is one thing, but to have it working with the mbed bootloader is another challenge :-(.
The new flagship of FRDM boards is the FRDM-K64F board. After FTF I have explored different ways debugging the board, and received many comments and questions about it (thanks!). Freescale announced the supports with the new Eclipse based Kinetis Design Studio (KDS). But until KDS is out, how can I use the FRDM-K64F board with CodeWarrior?
Many modern microcontroller have a cool feature: Pin Muxing. What it means is that I can ‘mux’ the pins for different purposes: such as I can use a SPI or I2C pin as GPIO (General Purpose Pin) or vice versa. In an ideal world, I would be able to ‘route’ or ‘mux’ pins freely around. In practice these ‘way switches’ are more or less limited.
In “Using the Reset Button on the Freedom Board as User Button” I muxed the FRDM-KL25Z reset pin as GPIO pin. The same approach can be used for muxing the NMI (Non-Maskable Interrupt) pin for the Freescale Kinetis devices. I’m showing it here how to do this with Processor Expert as this allows me to do this with a few mouse clicks.
Eclipse is very powerful. To the point that you can do the same thing in multiple ways. I’m always learning new things, and recently I discovered a new way how to create a new launch or debug configuration.
So far I selected the item (e.g. GDB Hardware Debugging) and used the ‘New’ Icon:
I have been asked this question several times:
“How can I define my own interrupt vector with Processor Expert?”
So I think it deserves a short tutorial, if more than one person is asking this ;-).
There has been a lot of new Freescale releases recently around FTF, and I’m trying to catch up. For me as a Processor Expert Lover, it is good news that there is now the new version 10.4 available. And it comes in different ways:
- Standalone as Driver Suite 10.4 (e.g to be used with IAR or Keil).
- As plugin for existing Eclipse installations (e.g. Kepler)
- Integrated into CodeWarrior for MCU10.6 (which just has been recently released too)
- and in Kinetis Design Studio which just has been announced at FTF.
One question I have been asked several times here at FTF:
“How can I create an S19/Motorola S-Record with Eclipse?”
The answer depends on which Eclipse you are using. Actually it depends on which (ARM) build tools plugin you are using, as with Eclipse you have the freedom of choice.
And this is not only about S19/Binary (Flash Image), but covers ‘Extended Listing’ and ‘Print Size’:
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 :-).
For my embedded course at the University of Lucerne of Applied Sciences and Arts I needed more Bluetooth modules for the Zumo/Sumo robots. I run out of stock as the modules are getting popular and are used in many student projects. So I ordered a handful more from DX/DealExtreme of the same HC-06 type/part number I already ordered a while back. I expected that they will work as the modules I had ordered from DX half a year ago. Was that naïve? Probably. Because they did *not* work, and caused me to reverse engineer the modules and to apply a hardware fix to get them working….
Nearly all of my projects have built-in command line support: using a serial connection, I can send commands or inspect the system status. For this I have my command line Shell which works over serial-to-Bluetooth, serial-to-USB, USB CDC or with a physical serial (COM) port. But what I need on the host system is a Terminal program: I can use either an external program. There are many ones available (Tera Term, PuTTY, …) where Termite is my favorite one. But it is possible to extend Eclipse so it has its own Terminal view too :-).
The great thing with Processor Expert is: it writes the code for me :-). I’m using now the RNet wireless stack in more than 10 different projects, and keeping the projects up-to-date with the RNet stack sources in a traditional way gets harder and harder: I need to make sure the paths are pointing to the right place, and if I pass the project to somebody else, I have to make sure all the sources are packaged with that project. Processor Expert makes things simpler: it can generate the source files into my project, and I can easily configure it.
So instead to copy and support files by hand, I decided to package the RNet stack files into a Processor Expert component: all still normal C files, but easier to configure and distribute.
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.
Maybe you had this problem too: you shared a project with somebody, only to realize that your carefully crafted debug configuration was not shared?
One of my embedded projects is to measure the running time in a sports event (see “Sports Timing System in a Lunch Box“). The recorded time is stored in an EEPROM plus sent over USB or wireless connection to the host. It would be great if I could print out the time and ranking directly, so if there is no PC, the system can be small and tiny. So here is my next project and tutorial: Printing with the Freedom board!
Using Processor Expert is an awesome tool: it generates source code for me, and I can can ‘dynamically’ tune my projects to my needs. Still, sometimes it is better or desirable to have a ‘normal’ or ‘static’ project. This is very well possible with Processor Expert (see “Sneaking from Processor Expert” or “Disable my Code Generation“): I can generate the code one time, and then use it without Processor Expert.
To make this even easier, I have added an option to the FreeRTOS Processor Expert component to generate ‘static’ code I can copy-paste to projects and tool chains which are either not supported by Processor Expert, or just for ‘static’ projects.