USBDM/CF (JMxx Version) V4.9.5

What is Provided

Installation Program (Windows only)

usbdm.msi - This is a installation package for windows. It may be used to install the following:

  • USBDM Patches for Codewarrior tools (Only the latest of the given versions of each is detected and installed.)
    • Codewarrior V10.1 or 10.2 (Eclipse version)
    • Codewarrior Development Studio for HCS12(X) V5.1
    • CW for Microcontrollers V6.3 (RS08 is not supported)
    • CW for Coldfire V7.1
    • CodeWarrior for DSC56800E v8.3
  • USBDM Programmers
    • ARM (Kinetis)
    • Coldfire V1 & V1+
    • Coldfire V2,3,4
    • HCS08
    • HCS12
    • RS08
  • Firmware updater for BDM
    • Firmware files for above
  • Coldfire V2,3,4 JTAG Unlocker
  • USBDM TCL Interpreter (Command line tool)
  • Manuals
  • Driver folder

Other Files

Release DLLs folder
This sub folder contains the various driver files. There is an installation command file provided to install most of these. See the installion section for more discussion.

  • usbdm.X.dll
    This is base level DLL for USBDM. It is required for all targets and versions.
  • tbdml.dll
    This is a modified DLL for "CodeWarrior Development Studio for S12(X)". Used for HCS12 Targets.
  • opensourcebdm.dll
    This is a modified DLL for "CodeWarrior Development Studio for Microcontrollers". Used for HCS08/CFV1 Targets.
  • usbdm-cfvx-gdi-legacy.dll GDI file for CodeWarrior for Coldfire.
  • usbdm-dsc-gdi-legacy.dll GDI file for CodeWarrior for DSC56800E.
  • usbdm-cfv1-gdi.dll, usbdm-cfvx-gdi.dll, usbdm-hcs08-gdi.dll, usbdm-rs08-gdi.dll
    GDI files for the Eclipse version of Codewarrior.
  • libusb-1.0.dll
    LIBUSB-V1 DLL for accessing USB devices. This is a thin interface to the MS Winusb kernel level driver. Changing to this driver should ensure good future portability on both Windows and Linux. This is required for all targets.
  • libxerces-c-3-1.dll DLL for parsing XML file in C

The original tbdml.dll and opensourcebdm.dll files are located in the windows directory (I think). When installed correctly these versions hides the original version. This allows easy un-installation - just delete or rename the added file.

Debug DLLs folder
This contains debug versions of the above DLLs. These create copious log files in the $APPDATA/usbdm directory and are slower than the release versions. Not for general use!

USBDM_Flash_Images folder
This folder contains pre-compiled firmware images for programming the JMxx/JS16 Flash. PDF are also provided to aid in the identification of the corresponding hardware.

USB_Driver folder
libUSB1.0 installation program. This folder is no longer provided.
Please download the current version of the libusb1.0 driver installation program from Windows Backend - libusb or using the direct link (at this time) zadig.exe.

Utilities folder

  • XXXX_devices.xml & usbdmDeviceSchema.dtd
    These are device description files for the programming features of USBDM (needed for Codewarrior Eclipse DLLs and stand-alone programmers).
  • Test_USBDM.exe
    This is a simple command line programs that allows the USBDM hardware to be exercised. It is mostly provided for debugging the hardware. Not usable with DSC devices
  • Setboot.exe
    This command line executable can be used to place the programmed BDM module into ICP mode for re-programming. This is unlikely to be needed. This is only usable after initial programming of the module.
  • Bootloader.exe
    This GUI program can be used to update or change the BDM firmware on JS16/JMxx BDMs. This utility also allows the serial number to be changed from the default value. Doing this is very desirable if you have more than one BDM.
  • CFUnlocker.exe
    This GUI program can be used to unlock Coldfire V2,3 & 4 devices. It makes use of the JTAG interface on the target. Not all devices are supported at the moment. However, additional devices may be added by the user providing the required unlocking information is known.
  • CFV1_FlashProgrammer.exe
    Programmers for Coldfire V1 targets
  • HCS08_FlashProgrammer.exe
    Programmers for HCS08 targets
  • RS08_FlashProgrammer.exe
    Programmers for RS08 targets

Other Files

This folder contains the files necessary to produce the USBDM hardware

  • Gerber files for the SMT-PTH board
  • Bill of materials
  • Schematic & assembly layouts

Source folder

This contains the sources for the software (above DLLs and Firmware).

Eclipse Archive Files

  • The following files are archives exported from Eclipse CDT for windows.
    To rebuild these projects you will need the following:
    • Eclipse CDT
      This is C development environment for the Eclipse IDE. CDT may be obtained from
    • MinGW - Minimalist GNU for Windows
      This provides the C development tools (e.g. Compiler, linkers etc.) required for the windows platform. These are used with the Eclipse IDE on a windows platform. These tools may be obtained from
    • Doxygen
      This is a tool for producing documention directly from suitably annotated code. The source code files have been extensively commented in this fashion. This tool may be obtained from
    • eclox
      This is a plugin for Eclipse that allows the convenient use of Doxygen from within Eclipse. This plugin may be obtained from
    • Source for the all DLL and executables.
    • Documentation source files used to generate help files etc.
    • HextoC
      Source for the conversion program used to convert S1S9 records into a C array for incorporation in the driver DLLs. This is used to embed the BDM Firmware images in the interface DLLs. This allows automatic update of the JMxx version BDM firmware.

Codewarrior Projects

The following files are simple archives of Freescale Codewarrior for Microcontrollers V6.2 projects.

    Source for the firmware. This is a simple Zip file of the Codewarrior V10 project. Documentation for the C files may be generated with doxygen.
  • Flash_Programming_Routines.rar
    This is the source code for the Flash programming routines that are downloaded to the various targets by the BDM when programming the on-chip Flash memory.

Other Files

  • BDM Timing.xls
    This spreadsheet was used to calculate the timing for the bdm_rx() and bdm_tx() routines.