I love the Freescale Freedom boards because they are low-cost, and I do not need a special debug device, as they have the on-board OpenSDA. It is using a small Kinetis-K20 which acts as JTAG SWD debugging probe. Why not using the Freedom board to program another board?
Author Archives: Erich Styger
Red Suite 5: Eclipse Juno, Processor Expert and unlimited FRDM-KL25Z
❗ UPDATE: Code Red Technologies have been acquired May 1st 2013 by NXP, see this press release. According to this, they will not continue to support non-NXP architectures after May 2014. 😦
You probably know this already: I’m a fan of Eclipse, Processor Expert and the Freedom board. As for tool chains I use CodeWarrior for MCU10.x (Eclipse based, 64 KByte free limit) and IAR (32 KByte limit) with the Processor Expert Driver Suite.
And I have added a new Eclipse based solution: Red Suite 5 from Code Red Technologies. They released a new Red Suite 5 (v5.2.2 build 2108) which caught my attention when reading the release notes:
- Eclipse Juno SR2: New Eclipse Look & Feel 🙂
- Added integration for Processor Expert 🙂 🙂
- Non-expiring 128k (!!!) limit when used with the Freescale FRDM boards 🙂 🙂 🙂
Why I don’t like printf()
How many times have I seen this:
printf("Hello world!");
I have a strong opinion, and a rule for using printf():
“Do *not* use printf()!”
printf() with the FRDM-KL25Z Board and without Processor Expert
In this tutorial I explored how to use printf(), and this tutorial is so generic that it works for any processor/microcontroller. That flexibility is because I’m using Processor Expert. In case Processor Expert shall not be used, then some tweaks are needed. Here I show what is needed to have printf() working with the FRDM-KL25Z board. I use the UART0 connected to OpenSDA USB CDC for this.
A new Freedom Board: FRDM-K20D50M with ARM Cortex M4
Freescale/Farnell/Element14 announced last week a new Freedom Board: the FRDM-K20D50M :-). As you can expect, I was not able to resist, and ordered one from my local Farnell store right away. So I did my first steps with it on this sunny and wonderful weekend (yes! we skipped Spring Time and entered Summer Time right away!).
I do not need to compare the board with the previous Freedom boards, as I have found an article here. I a nutshell: I get pretty much the same as with the FRDM-KL25Z, but instead of an ARM Cortex-M0+, it has an ARM Cortex-M4!
text, data and bss: Code and Data Size Explained
In “Code Size Information with gcc for ARM/Kinetis” I use an option in the ARM gcc tool chain for Eclipse to show me the code size:
text data bss dec hex filename 0x1408 0x18 0x81c 7228 1c3c size.elf
I have been asked by a reader of this blog what these item numbers really mean. Especially: what the heck is ‘bss’???? 🙂
Show it again! (How to re-enable hidden Dialogs in Eclipse)
Eclipse has a nice feature to ‘shut up’ dialogs: In many dialogs I can select an option so that dialog does not show up again:
But what if I change my mind later on and what to have this dialog to show up again?
Extended Driver for the MMA8451Q Accelerometer
In “Tutorial: Accelerating the KL25Z Freedom Board” I used the MMA8451Q accelerometer on the FRDM-KL25Z board in a very primitive way: I’m reading directly some low-level registers from the device through an I2C low-level component. No calibrating, no special device feature setting, only raw values. Since then, things have been evolved: In “Tutorial: Creating a Processor Expert Component for an Accelerometer” I started to create a driver for this accelerometer, and since then a lot more functionality has been added.
Stepping Backwards while Debugging: Move To Line
It happens to me many times: I’m stepping with the debugger through my code, and ups! I made one step too far!
What now? Restart the whole debugging session?
Actually, there is a way to go ‘backwards’ 🙂
Continue reading
First Steps with the P&E Tracelink
“As an engineer, you should ask for the best tools available. Spending money for better tools can make the difference between finding a problem quickly, or wasting days or weeks, and ultimately failing a project.” (unknown)
I had to learn it the hard way: some ‘hard-to-find-problems’ sometimes only can be found with some amount of luck, or with using a good trace solution. CodeWarrior already supports trace, such as using the MTB on the Cortex-M0+. But with this I’m limited to the on-chip trace buffer or on-chip RAM, which is better than nothing. But to solve the real hard problems, a bit of more power and memory is needed. And here where the P&E Tracelink comes into play: with 128 MByte trace buffer it would allow me to record a lot more trace data :-).





