Ok, this one might not work for everyone. And maybe I’m seeing a ghost. But a nice and real one, at least for me :-). It seems that with the new CodeWarrior for MCU10.4 installation I was able to recover a bricked OpenSDA FRDM-KL25Z board 😯
Category Archives: Tips & Tricks
Switching Processor Package – Simplified in MCU10.4
I continue to uncover new things in CodeWarrior in MCU10.4 :-). Remember my post “Switching Processor Package in Processor Expert” about the steps needed to switch from one microcontroller package to another? Although that’s not something I need to do on a daily base, this process is simplified in the new version 10.4 🙂
Serial Bootloader for the Freedom Board with Processor Expert
Bootloaders are a very useful thing: it allows programming an application file without a debugger. This makes it ideal for upgrading a system in the field.
Usually, there are application notes and examples from silicon vendors available. But typically they are for a certain microcontroller, and hard to change it to another system without a lot knowledge about its implementation. What I need for a project based on the FRDM-KL25Z is a bootloader which shall be small and portable. As I’m using Processor Expert to keep my applications portable across different microcontroller families: why not create a bootloader with Processor Expert components? With the Processor Expert drivers available, things can get a lot simpler compared to the ‘traditional’ approach. With less than 10 KByte footprint?
USB CDC with the FRDM-K20D50M
Good news for everyone owning the FRDM-K20D50M board: I have extended the FSL_USB_Stack with USB CDC device class support for the K20D50M :-).
Debugging FRDM-KL05Z with USBDM
I mentioned in “Debug External Processors with USBDM and Freedom Board” post that I had a problem to debug the FRDM-KL05Z with USBDM. Well, after a long night with some sleep, with more thinking and searching, finally I have it resolved: I can debug my FRDM-KL05Z with USBDM 🙂
Debug External Processors with USBDM and Freedom Board
Teaching at a university means to work in a very special environment. What students love is ‘Open Source’: because it allows them to ‘see’ things and learn from the technology. The other thing is: students have a low budgets, so they appreciate if they can use inexpensive or low-cost hardware and software. The FRDM-KL25Z Freedom board for sure meets that low price, and no extra programming device needed.
Now they are building their own boards, and they wish to program and debug it. They can borrow the Segger J-Links and P&E Multilinks we have available at the university. But why not use the Freedom board as ‘hobby’ debug and programming solution? As explored in “Using the Freedom Board as SWD Programmer“, they can use the default factory installed OpenSDA to program another microcontroller of same type. But not to debug it.
While writing the “Using the Freedom Board as SWD Programmer” article, I was looking into USBDM. USBDM has added in January 2013 support for OpenSDA. But at that time, it was somehow not working for me, and I had not enough time to find out what the problem was. Time to get that fixed. Good news: With help and tips from the USBDM community, I have it finally working 🙂
Using the Freedom Board as SWD Programmer
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?
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.
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’???? 🙂






