USBDM Debugger interface for Freescale RS08,HCS08,HCS12,Coldfire and ARM-Kinetis Devices.
2015-08-22 19:51
531 查看
Introduction
USBDM is a debugger hardware interface for a range of Freescale microcontrollers. It is designed to work with Freescale's Codewarrior software under Windows and Linux. More recently basic support for Coldfire and Kinetis with the Codesourcery Tool chain or ARM Ltd GNU Tools for ARM has been added. A set of stand-alone programmers are also provided.The attached files provide a port of a combined TBDML/OSBDM/TBLCF code to various processors. The primary motivation for doing this was to produce a single BDM that could be used with the following processors:
RS08
HCS08,
HC12,
Coldfire V1-4 microcontrollers
MC56F800xx Digital Signal Controllers (very limited range of devices).
Kinetis ARM-cortex
Other features have also been added compared to the original TBDML/OSBDM designs.
This site contains links to Version 4 of the following:
A set of software drivers for MS windows and Linux that work with various version of the Freescale Codewarrior IDE, including the latest Eclipse version.
Standard-alone programmers.
A description of, and design files for, several versions of suitable BDM hardware
The firmware required for the above BDM hardware.
Quick Links
Release versions of the software for the various BDMs are available on Sourceforge.Various stand-alone programmers are provided to support the USBDM hardware.
Source code is available on GitHub
Post queries on OSBDM and TBDML Discussion Board
JS16 based versions (Current designs)
The following two designs & variations use the MC9S08JS16CWJ (20 pin SOIC).This chip is USB2 Full speed and supports initial programming over USB without needing a BDM.
Minimal design - Supports HCS12, HCS08 and Coldfire V1 Minimal design - Supports HCS12, HCS08, Coldfire V1 and Kinetis (via SWD)
These are two alternative designs using a MC9S08JS16CWJ (20 pin SOIC).
It is easier to construct than the JMxx version
It may be programmed over the USB connection and doesn't require a BDM for initial programming.
It replaces the Minimal JB16 designs and is recommended (by me) for newbies!
A PCB design is supplied but is should be possible to roll-your-own on a prototyping board.
An alternative, larger design is provided that supports Serial over USB (CDC interface) and Kinetis via SWD.
Minimal design - Supports Coldfire V2,3,4, Kinetis(via JTAG) and DSC (M56F80xx only)
This is a minimal design using a MC9S08JS16CWJ (20 pin SOIC).
It is easier to construct than the JMxx version
It may be programmed over the USB connection and doesn't require a BDM for initial programming.
It is approximately equivalent to the earlier JB16 based TBLCF design in functionality.
A PCB design is supplied but is should be possible to roll-your-own on a prototyping board.
An alternative, larger design is provided that supports Serial over USB (CDC interface).
JMxx based versions (Current designs)
The following designs use the MC9S08JM60CLD (44 pin LQFP).This chip is USB2 Full speed and requires a HCS08 BDM for programming the device.
USBDM-CF - Supports HCS12, HCS08, RS08 & Coldfire V1, V2, V3 & V4, Kinetis(via JTAG) and MC56F80xx
This is a complete fully-featured design using a MC9S08JM60CLD (44 pin LQFP).
It has target power and various other options.
It REQUIRES a BDM for initial programming.
Later firmware updates may be done over the USB
USBDM-TWR-xxxx - Supports various Freescale Tower systems
This supports the OSBDM-JM60 hardware as used in various Freescale Tower systems.
Allows use of the stand-alone USBDM programmers with Tower boards.
Significant speed improvement over OSBDM with some targets.
Serial port support uses the standard USB CDC interface and so serial ports appear as the usual COM devices under Windows and Linux.
This means they may be used with standard serial programs such as Hyperterminal and within a Terminal window in Codewarrior Eclipse.
MK20DX128 based versions (Current designs)
The following design use the MK20DX128 present on various Freescale FREEDOM boards (Arduino form factor).This chip is USB2 Full speed and the chips on the Freedom boards include a pre-rogrammer bootloader (OpenSDA) that allows installation of USBDM without a programmer.
USBDM_OpenSDA - Supports various Freescale Freedom boards
This supports the OpenSDA hardware as used in various Freescale Freedom systems.
Allows use of the stand-alone USBDM programmers with FRDM boards.
The Freedom board may be used to Open source tool chains such as Codesourcery or ARM Ltd GNU tools.
The Freedom board may be used as a programmer for external devices (with the addition of a cable and header).
Serial port support uses the standard USB CDC interface and so serial ports appear as the usual COM devices under Windows and Linux.
This means they may be used with standard serial programs such as Hyperterminal and within a Terminal window in Codewarrior Eclipse or Eclipse Juno (with suitable plugin).
JB16 based versions - These design are obsolete
Please note that these designs are obsolete.The JB16 chip used in these designs have a ROM firmware flaw which makes it impossible to reprogram the chip firmware. When the chip is in bootloader mode it fails to enumerate properly under Windows 7 or 8 and later updates of WIN-XP. Because of this it is not possible to update the firmware which make it impractical to support them.
The USBDM software may still work to some extent but I cannot make any guarantees.
These versions were mainly produced to be compatible with the previous hardware versions of TBDML or OSBDM which were based on the MC908JB16. This is a USB low speed device. The provided firmware versions allow (some) of these devices to be updated to a combined TBDML/OSBDM. It also allows these to be used with the new Eclipse-based Codewarror which does not support the original osbdm or tbdml.
There are several hardware designs supplied :
Complete USBDM - Supports HCS12, HCS08, RS08 & Coldfire V1
This is a complete fully-featured design using MC68HC908JB16DW (28 pin SOIC)
Minimal TBDML 20pin SOIC - Supports HCS12, HCS08, Coldfire V1
This is a very minimal design using MC68HC908JB16DW (28 pin SOIC)
Minimal TBDML 28pin SOIC - Supports HCS12, HCS08, Coldfire V1
This is a very minimal design using MC908JB16JDWE (20 pin SOIC)
BDM firmware versions are also supplied to support several existing hardware designs by other people:
WTBDM08/12
A commercial design available from Witztronics.
OSBDM
A previous design posted on Freescale OSBDM board
HCS08-OSBDM+E
A previous design posted on Freescale OSBDM board
Device Characteristics and links to documentation
The table below shows the support provided by each version and provides links to further information.Description | Current Design | Device Support | Features | |||||
RS08 | HCS08, HCS12, CFV1 | Kinetis | CFV2, CFV3, CFV4* | DSC* | Target Power | Serial Port | ||
USBDM_JB16 (Unsupported) | No | X | ||||||
USBDM_CF_JMxxCLD | No | X | X | JTAG | X | X | X | |
USBDM_SER_JS16CWJ | No | X | X | |||||
USBDM_CF_SER_JS16CWJ | No | X | JTAG | X | X | |||
USBDM_JMxxCLC | No | X | X | X | ||||
USBDM_JMxxCLD | No | X | X | X | ||||
USBDM_JS16CWJ | No | X | ||||||
USBDM_SWD_JS16CWJ | Yes | X | SWD | |||||
USBDM_SWD_SER_JS16CWJ | Yes | X | SWD | X | X | |||
USBDM_CF_JS16CWJ | Yes | JTAG | X | X | ||||
USBDM_CF_JMxxCLD_V3 Also supports Tower systems. | Yes | X | X | JTAG | X | X | X | X |
USBDM_OpenSDA Custom OpenSDA (FRDM-KL25Z). | Yes | SWD | X |
* CFV2,3,4 support is limited in the stand-alone programmer
Other Links
Previous software version 3.2 may be found here.Notes
Please note that these design are different from the Freescale OSBDM-JM60 design which was proceeding independently while I was doing the above designs.History
History & IssuesCredits
The bulk of the 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, Freescale USBSPYDER08 and my own invention.
References
Altium Designer (PCB Design) - http://www.altium.com/products/altium-designer/Axiom MC56F8006 Demo board - http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC56F8006DEMO
Codesourcery - http://www.codesourcery.com/
Coldfire Flasher - http://www.freescale.com/files/soft_dev_tools/software/programmers/CFFLASHER.zip
Doxygen Documentation tool - http://www.stack.nl/~dimitri/doxygen/index.html
I2C voltage level conversion - Phillips application note http://www.standardics.nxp.com/support/documents/i2c/pdf/an97055.pdf
or http://www.nxp.com/acrobat_download/applicationnotes/AN10441_1.pdf (Phillips part of NXP now?)
LIBUSB-WIN32 - http://libusb-win32.sourceforge.net/
MAX662 Data sheet - http://www.maxim-ic.com
OSBDM - http://forums.freescale.com/freescale/board?board.id=OSBDM08
OSBDM hardware - http://forums.freescale.com/freescale/board/message?board.id=OSBDM08&thread.id=212
Tasking GDI Spec - http://www.tasking.com/resources/technologies/debuggers/gdikdi.shtml
Tcl/Tk - http://www.tcl.tk/software/tcltk/8.5.html
TBDML - http://forums.freescale.com/freescale/board?board.id=TBDML
TBDML hardware - http://forums.freescale.com/freescale/board/message?board.id=TBDML&thread.id=2
USBSPYDER08 - USB mini board for Freescale's Low-End 8-bit Microcontrollers - http://www.freescale.com/
Ultimate Packer for eXecutables (UPX) has been used to pack DLLs and EXEs - http://upx.sourceforge.net/
WTBDMS08/12 (Witztronics) Hardware - http://www.witztronics.com/
WxWidgets Cross Platform Library has been used for the GUI - http://www.wxwidgets.org/
Xerces XML parser - http://xerces.apache.org/xerces-c
Windows Installer XML (WiX) toolset http://wix.sourceforge.net/
Queries
Any queries please post on the Freescale OSBDM Discussion Board.Some Commercial versions of USBDM BDMs
I am aware of several companies producing commercial versions of USBDMs of various kinds:Flashgenie.net
Technological Arts
Witztronics
Wytec's Motorola/Freescale software development tools
Gravador para Microcontroladores Freescale (Gravador USBDM)
The software may be used to "upgrade" the following devices to enable the on-board BDM as a USBDM bdm.
Selected Freescale Tower boards (KInetis, Coldfire, HCS08 and HCS12)
Freescale FRDM boards
Axiom MC56F8006 Demo board .
相关文章推荐
- 操作系统也谈"算法"
- 查看网卡信息及状态和网卡日志信息
- HDU 4348 To the moon
- Java--线程
- 微信公众平台服务号如何申请
- 网页显示UIWebView(一个)
- 安卓开发颜色代码
- Python3.X 抓取网络资源
- 有向图中两个结点之间是否存在一条路径
- #import与@class区别
- 哈希表及处理冲突的方法
- struts/Servlet,action转到jsp后,路径问题(struts2,jsp路径,action路径,action跳转,相对路径,绝对路径)
- 数据结构-二叉树实现
- scrollView 笔记
- 第六章 Hyper-V 2012 R2 的检查点
- HDU 1034.Candy Sharing Game【又是模拟】【8月22】
- 使用cxf3.0.4搭建webservice服务需要的最精简jar包
- 笔试题&面试题:输入一个维度,逆时针打印出一个指定矩阵
- 人生的第一个博客(●'◡'●)ノ♥--开博典礼
- POJ3104--Drying