AnsweredAssumed Answered

USBDM - Version 2 (JS16/JMxx Versions)

Question asked by pgo on Nov 5, 2009
Latest reply on May 4, 2011 by pgo

Attached is version 2 of the JS16/JM16/32/60 version of USBDM.


This includes the following hardware versions:


  • JS16 - A very minimal BDM that supports HCS12, HCS08 and Coldfire V1 devices.  It is easy to construct and may be initially programmed over the  USB.
  • JMxx - A full-featured BDM that supports HCS12, HCS08, RS08 and Coldfire V1 devices.  It also provides a range of additional features such as target power control and detection.  
  • JMxx/CF - As for JMxx but also supporting Coldfire V2, 3, & 4 (Only tested on CFV2!)


If you want a simple BDM then I recommend the JS16.  This has all the advantages of the previous JB16 version of OSBDM (ability to be programmed over USB & convenient SOIC package) as well as being USB2 Full speed.  It is also available as a sample from Freescale :smileyhappy:.


If you want a full-featured BDM then I recommend the JMxx version.


BDM Firmware History
  • V2.0 (September 2009) - Major change - Please read
    • Major revision. The structure of the software has been revised and the operation with various targets made more uniform.
    • Introduction of a new API for using the BDM. Existing APIs (TBDML, OSBDM, TBLCF) are now supported by a separate compatibility layer. This has resulted in a very significant reduction in the complexity of both the BDM firmware and the interface DLLs. The previous arrangement was becoming impossible to maintain.
    • The handling of RS08 devices has been re-written in a more sensible fashion. This involved moving the bulk of the RS08 code from the BDM firmware to the interface DLLs. This should mean that additional devices can be introduced without changing the BDM firmware. Support for additional RS08 devices has been added. The BDM now supports KA1, KA2, KA4, KA8, LA8 and LE4.
    • Because of the above changes, the BDM REQUIRES the use of the provided interface DLLs. The BDM is no longer compatible with the original TBDML or OSBDM dlls.
      The provided DLLs maintain some limited compatibility with earlier versions of TBDML, OSBDM and USBDM but may not support all features or targets
  • V1.5 (June 2009)
    • Improved/corrected connection strategy for external power cycling
    • Minor bug fixed (glitch removal)
    • Improvements to ALT clock handling
    • Changes to USB code to fixed bugs with BDM being recognized on some PCs (Thanks to Macias & Enrico for bug chasing and testing) Tested with USBCV13.exe from USB.ORG - now passes
  • V1.4 (February 2009)
    • Fixed a bug in the USB code (unlikely to occur but worth fixing)
    • Added extra dialogues prompting the user to cycle target power when necessary. Corresponding options added.
    • Added connection retry when target power is absent.
    • Added support for MC51AC256 (a bit of a hack!)
    • Modified HCS macros (to provide considerable size reduction as needed for USBDM_CF in 16K)
    • General clean up of code
  • V1.3 (November 2008)
    • Unified Timer MACROS
    • Re-arrangement of Target Vdd control routines
    • Minor mods & corrected comments in bdm_syncMeasure()
    • Reviewed stack size
    • Increased cable_status.waitX size
  • V1.2 (October 2008)
    • Increased stack size (stack overflow was possible)
    • Utilities (setBoot) updated to match.
    • Other cosmetic changes
  • V1.1 (August 2008)
    • Vista compatibility
  • V1.0 Initial Release


 ToDo list

  • Flash programmer for HCS08
Message Edited by pgo on 2009-11-05 12:13 PM
Message Edited by pgo on 2009-11-05 12:14 PM
Message Edited by t.dowe on 2009-11-05 12:35 PM