Low-Level Coding with PDD (Physical Device Driver)

As with any software drivers: they are never perfect. The same applies to the Processor Expert components delivered in CodeWarrior for MCU10 or the DriverSuite too. That’s why I have created many more components which are available on GitHub here. All these components are using other components to reach the hardware. But what if a functionality is not exposed through the low-level component? Or what if I want direct access to the hardware? Up to now I had to choose either the Processor Expert way, or to do it in the ‘traditional’ way using an SDK like CMSIS or vendor supplied header files.

With MCU10.4, I noticed that there is another way: PDD (Physical Device Driver).

PDD in the Components View

PDD in the Components View

Continue reading

USBDM 4.10.5 supports now MCU10.4

Wow, that was fast! The SourceForge USBDM project has added support for MCU10.4 (see as well this post) in release 4.10.5 available here, announced in the Freescale Forum.

USBDM 4.10.5 Installer

USBDM 4.10.5 Installer

Continue reading

Adding USBDM to CodeWarrior for MCU10.4

If you are following my recent posts, then you know I started using USBDM on OpenSDA as an alternative run control solution. Now with the advent of MCU10.4, the question is: how to use USBDM with it, because the USBDM installer obviously only knows the version up to MCU10.3?

USBDM 4.10.4a Installer

USBDM 4.10.4a Installer

Continue reading

Added Write Protection Pin to FatFsMemSDHC

What was missing in the FatFsMemSDHC component presented here is support for a ‘write protection’ pin. Well, that write protection is not present on micro-SD cards, and on normal SD cards it is a simple plastic thing with no real hardware meaning: it is all up to the software to respect it. While my other SD card components have support for such a write protection detection, it was lacking for the FatFsMemSDHC (for Kinetis) component. Time to fix this!

SD Card Lock

SD Card Lock: an SD-Card, a micro-SD Card and a micro-SD card adapter, both with write-enabled

Continue reading

Review of CodeWarrior for MCU10.4

Freescale has released this week an updated version of CodeWarrior: version 10.4. I’m usually not switching a tools version in the middle of a university semester. Unless I see a real benefit, and the risk is low. Well, I have used it now for a few days, and I have decided to move my projects from 10.3 to 10.4. Why? Read on…

CW for MCU10.4

CW for MCU10.4

Continue reading

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?

Serial Bootloader made with Processor Expert

Serial Bootloader made with Processor Expert

Continue reading

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 :-).

USB CDC Test Application with the FRDM-K20D50M

USB CDC Test Application with the FRDM-K20D50M

Continue reading

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 🙂

FRDM-KL05Z Debugging with USBDM

FRDM-KL05Z Debugging with USBDM

Continue reading

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 🙂

USBDM Debugging another FRDM-KL25Z

USBDM Debugging another FRDM-KL25Z

Continue reading

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?

FRDM-KL25Z board programs another board

FRDM-KL25Z board programs another board

Continue reading