USBDM Programmer user guide. Installing tools and configuring KDS (Windows)

As you can see in my previous post, I developed an USBDM programmer to launch mass producton of some boards. Yesterday I mounted some of these boards and designed a 3D printable case, with this result:


In this post I will explain step by step how to configure KDS to use it as debugger and how to use USBDM mass production tool in Windows. You will need following packages:

First of all is to install the programmer drivers. They are not signed so you will need to accept the warning.


USBDM integrated on KDS

During the tools installation, make sure you select Kinetis Design Studio Plugins and Programmers as shown in the following screenshot

This installation will add a new dropdown menu on KDS IDE (known as Eclipse configured with Kinetis toolbox :P) 

To configure USBDM on KDS is required if you do not want a buggy experience. Click on configure as shown in the previous image and search for the ARM GNU Tools to set the correct path.

In my case, my toolchain is in C:\Freescale\KDS_3.0.0\toolchain\bin. Double click over "arm-none-eabi-gcc.exe". The prefix should be configured as "arm-none-eabi-"


Open the next label, ARM GDB Server, in the left menu and select your BDM (this is the moment to connect the programmer), "USBDM-OPENSDA-0001" and make sure that the target device is the correct one, in my case in this project i am using "MKL25Z128M4".
Check the other options to match with your requirements. Only 3V3 is supported as Target Vdd for my programmer. Use level voltage translators if you want to program any 5V system.

You are now ready to select USBDM as debugger in your project. Click on "Debug Configurations" and right click on the "USBDM Hardware Debugging" of the left menu to create a new debugging configuration. 
Make sure all the options are correct. I had some errors when clicking on the "Debugger" label, all caused by a wrong configuration on the main USBDM Configuration (shown avobe). If this is your case, review all main parameters and try again.

Now you can use the USBDM for debugging in KDS :D


USBDM Mass Production Tools

In the installation of USBDM, mass production tools are installed. If you open the installation directory (in my case "C:\Program Files (x86)\pgo\USBDM") you will see some executable files. I am programming a Kinetis device so I use "ARM_FlashProgrammer.exe".
This tool is for a GUI control of programming.


Programming a 8K device last about 5 seconds and when finished you will be asked to program a new device. This is very useful when you want to program a bunch of devices.



But for mass production you usually need to include this process into a production procedure, maybe testing or serial number control. For this, USBDM provides a fully API to make your own applications.

You can check the USBDM example to make an idea of what you can do:

Feel free to comment below sharing your projects or your problems and solutions!
See you!!

USBDM based Freescale Programmer. Cheap and Reliable alternative to Multilink, Cyclone, J-Link...

Microcontroller programmers are always one of the things to take into account when you work with embedded systems. They are usually quite expensive if you want good features like advanced debugging, standalone programming or mass production features.

As I design hardware for consumer we produce several thousands of each board and programming time is a keystone to achieve a good cost for each unit, so we usually need to prepare more than three or four programming fixtures.

In case of Freescale Kinetis family, mass production tool from P&E is the Cyclone Max but the price is not very friendly if you need to develop a low cost board.

This is the main reason of this little project: to create a cheap (nearly free) Freescale programmer.

If you see any Freedom board you will see a dedicated coprocessor for debugging tasks. In this coprocessor there is a bootloader to load the main application, and the debug application. It usually uses OpenSDAv1, but it is not open source and cannot be used on commercial applications.

In this way USBDM has been developed to be a universal tool for all Freescale microcontrollers:

  • RS08
  • HCS08
  • HC12
  • Coldfide v1-4
  • MC56F800xx
  • Kinetis ARM-cortex

It was developed to work with Codewarrior but it is fully compatible to be used fully integrated in KDS. It can be used as debugger and production tool and all production software and API with all documentation is provided to run over Windows or Linux.

With this software all we need now is a cheap hardware to run USBDM and start debugging or mass programming and as it could not be in other way I designed a USB dongle based on a MK20 processor.


Really simple, right? But very powerful!!

In the next post I will explain how to install all USBDM environment and drivers and show how to program an empty processor from scratch using this tool.

Feel free to get in contact with me to obtain your USBDM programmer!!

See you soon!!

Syndicate content