Getting a board from a distributor like Farnell/Element14/Mouser (add your own distributor) means that chances are high that the default firmware on it is written years from now because the inventory has not been updated, or because boards are still produced with that original firmware (because of testing?). So what happens if I use board with a firmware developed pre-Windows 8/10 area?
Freshly Unboxed NXP FRDM-KL25Z Board
It might work, but chances are high that the bootloader and firmware is not ready for the ‘modern age’, and as a result the board might be bricked. If you still have a Windows 7 machine around (I do!), you are lucky. If not, then you need to read this article….
For my RNet stack I need a way to identify nodes in the network using a unique address. What I need is Media-Access (MAC) address. Base on such a unique address I can assign short addresses (e.g. with a DHCP or similar protocol to automatically assign shorter network addresses). So how to uniquely identify my network nodes?
The Freescale Kinetis microcontroller have nice feature: they have a Unique Identification Register (UID) which would be a perfect fit for a MAC address :-).
Microsoft has released the Windows 8.1 Preview. So you can try out the next update of Windows 8. In short: Do NOT use Windows 8.1 Preview if you are using a Freescale FRDM board! Otherwise you will not be able to change the OpenSDA firmware (MSD or debug application).
❗ Update: P&E has released a new firmware v114 which combines USB CDC, MSD bootloader and debug application, and this firmware fixes the issue described in this post.
Well, I have not used it personally: I never use ‘test’ or ‘preview’ versions on my ‘production’ machine. It is ok to try things out on separate ‘scratch’ machines, but not on something I need to have stable for my work. Well, some of the students in my INTRO class were not able to resist and downloaded and installed Windows 8.1 Preview on their machines. With the result that the OpenSDA Bootloader does not work with Windows 8.1 Preview:
❗ It seems that the problem exists as well with the Windows 8.1 ‘final’ release.
In case you have this problem with the FRDM boards: You are using the FRDM bootloader mode (it shows up as BOOTLOADER) or the MSD mode (e.g. it shows up as FRDM-KL25Z) (see OpenSDA on the Freedom KL25Z Board) and it does not respond any more, or does not work as expected, then read on…
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 🙂
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?
❗ 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:
And here it is again: a Hard Fault exception raised by the ARM Cortex-M0+ on my Freedom board:
Hard Fault in Debug View
A reason for hard faults are for example dereferencing a NULL pointer. The issue with the ARM Cortex hard fault exception stack is: it is not easy to find out where in the code the problem is.I have created a Processor Expert component to help me to find the location of such an exception. With the Eclipse based CodeWarrior for MCU10.3 there is another way: Trace with the MTB (Micro Trace Buffer)!
Christmas and New Year time is great: Gifts and time to work on my home projects. But this post is not about one gift I have organized for myself: a Raspberry Pi ;-)). No, this post is about a gift I have received from Freescale: a *new* Freedom board, the FRDM-KL05Z :-).