Attached is version 2 of the JB16 version of USBDM.
Please note that I no longer recommend using this version of the hardware as the JB16 is becoming hard to get.
If you want a simple BDM then I recommend the JS16 version posted separately. This has all the advantages of the JB16 (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 .
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 (?? 2009)
- Improved/corrected connection strategy for external power cycling
- Minor bug fixed (glitch removal)
- Improvements to ALT clock handling
- Minor changes to USB code - Tested with USBCV13.exe from USB.ORG - now passes
- V1.4 (February 2009)
- 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
- 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)
- Removed library reference in ICP code - ICP broken when non-ICP code was changed! This update requires the ICP code to be replaced when updating any code.
- Increased stack size (stack overflow was possible)
- Utilities (setBoot) updated to match.
- Other cosmetic changes
- V1.1 (August 2008)
- Vista compatibility
- Fixed several bugs related to use of 1T45 buffers (Witztronics etc.)
- V1.0 Initial Release