Introduction
The attached files provide a port of a combined TBLCF/DSC code to a MC9S08JS16 processor.
The primary motivation for this was to produce a single BDM that could be used with a range of Freescale microcontrollers. Other features have also been added. The software may also be used to provide an on-board BDM for the Axiom MCF8006Demo board. Strangely, this board has a complete DSC BDM built-in but the firmware is not present. You will need a HCS08 BDM to do this upgrade - No warranty - do this at your own risk.
Quick Links
Features
This version of the code & extended hardware provides the following features:
- A single BDM interface for programming and debugging of the following targets:
- Coldfire V2, V3 & V4 microcontrollers
- Kinetis ARM-Cortex microcontrollers
- MC56F80xx Digital Signal Controllers (Limited range of devices in CW 10 & stand-alone programmer)
- No re-flashing of the BDM is required when changing between targets
- 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 CW for Coldfire V7.1 CodeWarrior for DSC56800E v8.3 (USBDM-JMxx-CF or MC56F8006Demo board only)
- Tested on Windows-XP-32bit, Windows-Vista-32bit
- Initial support for CodeSourcery Lite for Coldfire
- Tested on Windows-XP-32bit
- Initial support for Coldfire Flasher (CFFlasher)
- Tested on Windows-XP-32bit
- Higher USB communication speed cf. JB16 version BDMs (USB full speed cf. USB low speed)
- Vista compatible
- Linux compatible
- Initial Firmware programming may be done without a BDM using the JS16 USB bootloader ROM.
- The Firmware in the BDM may be automatically updated using an in-circuit-programming (ICP) feature.
- Hardware is physically small
- 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.
- A higher BDM interface speed than the existing JB16 OSBDMs. Up to 56MHz. (BDM clock 28MHz).
- 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.
- 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
- Coldfire V2,3,4 specific features and limitations:
- Higher communication speed with target - The target communication speed may be selected.
- The BDM uses asychronous communication with the target i.e. the BDM signals are not synchronized with the target clock.
This means that the BDM should not be used with early Coldfire targets. Check the description of the BDM interface timing in the appropriate Coldfire Processor manual to determine if this limitation applies.
Pictures
- Top Image - V1.0
- Bottom Image - V1.0
Hardware Design
Please refer to the following document for hardware design details:
Differences to JB16 TBLCF etc
- The PCB artwork provided is for a double-sided plated-through-hole board using surface mount components. This seems a reasonable decision since the processor is only available in a SMT package in any case. It is possible to prototype the board using a non-PTH board but the required vias may present problems as they are beneath components and need to be replaced with feed through wires.
The above images are for a milled board that was hand assembled.
- Software drivers (tblcf.dll etc) need to be installed so that advantage can be taken of the new features.
Credits
- Some of the code is based upon the TBLCF and OSBDM-JM60 projects and I very much appreciate the effort involved in producing the original code. I hope this extension will be useful.
References
Queries
Any queries please post on the Freescale OSBDM and TBDML Discussion Board.
License
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
USBDM
Copyright (C) 2007-13 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
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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