USBDM (JB16 Version) V4.9

USBDM (combined TBDML/OSBDM code) for JB16


Please note that these designs are no longer recommended.

The main purpose in providing this version is so that existing users of JB16 based USBDMs or TBDML or OSBDM can upgrade to a system that is usable with the current Codewarrior tools and the USBDM programmers provided.

The attached files provide a port of a combined TBDML/OSBDM code to a MC9S08JB16 processor. The primary motivation for this was to produce a single BDM that could be used with the HC12 and HCS08 microcontrollers without needing to change the firmware in the BDM between uses. Other features have also been added.
Some of these features may be gained by using the software alone, others require extended hardware. There are versions of the software provided that are compatible with the several existing versions of the OSBDM hardware that have become available at different times.


This version of the code & BDM hardware provides the following features:

  • A single BDM interface for programming and debugging of the following targets:
    • HCS12 (including those without SYNC feature (e.g. 9S12DP256B)
    • HCS08
    • RS08
    • Coldfire V1
  • Compatible IDEs
    • Codewarrior V10.1 (Eclipse version)
      • Tested on Windows-XP-32bit, Windows-7-32bit, Windows-7-64bit
      • Tested on Ubuntu-32-bit
    • Codewarrior Legacy versions CodeWarrior Development Studio for HCS12(X) V5.1 &
      CW for Microcontrollers V6.3 (RS08 is not supported
      • Tested on Windows-XP-32bit, Windows-Vista-32bit
    • Initial support for CodeSourcery Lite for Coldfire
      • Tested on Windows-XP-32bit
  • Trimming of target internal clock (Eclipse version or standalone programming tools only).
  • Vista compatible
  • Linux compatible
  • Software triggered in-circuit-programming (ICP) of the microcontroller for update of Firmware. No links on the hardware are required.
  • Hardware is physically small
  • Target Vdd supply & control. This allows the target power to be cycled when required for a reliable reset into BDM mode. It is also (obviously) convenient since it allows debugging small target boards without a separate target power supply. An external target supply may also be used instead. The Target supply is protected by a polyfuse and software detection of overload.
  • HCS12, HCS08, RS08, Coldfire V1 specific features:
  • Target reset detection & control (required for HC12 processors). This allows HC12 processors to be reset into BDM mode as required for debugging.
  • Target Vdd monitoring. This allows the hardware to detect changes in the Target supply to provide reliable resetting into BDM modes on HCS08 and RS08 microcontrollers. It also is used to implement the target power supply protection.
    • A slightly higher BDM interface speed than the existing JB16 OSBDMs. Up to 40MHz. (BDM clock 20MHz).
    • Automatic re-connection. The software has an option to continuously update the interface speed to prevent loss of communication if the target BDM interface speed changes (as may occur with clock changes on some targets).
    • Control of BDM clock selection in HC12/HCS08/Coldfire microcontrollers. Most of these targets provide an alternative BDM clock selection. This can have advantages when connecting to high speed targets as the alternative clock may operate at a lower speed.
    • Selection of 3.3V and 5V target supply (if hardware supports this).
    • Trial-and-error determination of communication speed for earlier HC12 targets.
    • User prompting for target supply cycling with BKGD low as may be needed for HCS08 targets
    • Various bug fixes on the OSBDM code.


  • Top Image
  • Bottom Image

Hardware Design

Please refer to the following documents for hardware design details:


The software is compatible with several of the TBDML/OSBDM hardware variants that are available. Capabilities will vary with the actual hardware. The table below summarises the capabilities of the BDM for various hardware options:

      Target       HC12/HCS12  HCS08   RS08  Coldfire V1   Comment
      TBDML            X         X               X         Designs for minimal versions provided
      USBDM            X         X       X       X         Design for full USBDM version provided
      WTBDM08/12       X         X               X         Commercially available
      OSBDM            X         X               X         Design posted on Freescale OSBDM board
      HCS08-OSBDM+E              X       X       X         Design posted on Freescale OSBDM board

I do not have access to the last 2 hardware alternatives so they HAVE NOT BEEN TESTED! I also believe the last three have a minor hardware design problem.


  • The original base code is taken from the TBDML, OSBDM and TBLCF projects and I very much appreciate the effort involved in producing the original code. I hope this extension will be useful.
  • The hardware interface is based on TBDML and Freescale USBSPYDER08.



Any queries please post on the Freescale OSBDM Discussion Board.


   Portions of this software is based on TBLCF software
   Portions of this software is based on OSBDM software
   Portions of this software is based on TBDML software

   Copyright (C) 2007-11  Peter O'Donoghue

   Opensource BDM (OSBDM)
   Copyright (C) ?

   Turbo BDM Light (TBDML)
   Copyright (C) 2005  Daniel Malik

   Turbo BDM Light ColdFire (TBLCF)
   Copyright (C) 2005  Daniel Malik

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA