USBDM RS08/HCS08/HCS12/Coldfire V1,2,3,4/DSC/Kinetis Debugger and Programmer -- MC9S08JS16
Introduction
The attached files provide a port of a combined TBDML/OSBDM 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. Additional software features have also been added.
This implementation has minimal features to simplify construction and does not require a BDM for initial programming.
An alternative version is provided that adds an ARM SWD interface that supports Freescale Kinetis devices.
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
Features
This version of the code & extended 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
- Coldfire V1
- Kinetis (via SWD interface on selected versions)
- No re-flashing of the BDM is required when changing between targets
- Compatible IDEs
- Codewarrior V10.1/2 (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
- Codewarrior V10.1/2 (Eclipse version)
- Trimming of target internal clock (Eclipse version or standalone programming tools only).
- 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, 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
Pictures (USBDM_JS16_SWD - HCS08/HCS12/CFV1/ARM-SWD)
USBDM Minimal HCS08/HCS12/CFV1 & SWD interfaces
USBDM HCS08/HCS12/CFV1, SWD & Serial interfaces with manual target power.
Hardware Design
Please refer to the following PDF documents for Schematics, Assembly Overlays & Bill of Materials:
- Minimal HCS08/HCS12/CFV1 interface
- Minimal HCS08/HCS12/CFV1 & SWD interfaces
- HCS08/HCS12/CFV1, SWD & Serial interfaces with manual target power.
Differences to JB16 TBDML/OSBDM
- 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 quite possible to prototype the the first and third designs using a non-PTH board as the required vias have not been located beneath components and may be replaced with feed through wires.
The above images are for a milled board that was hand assembled.
Credits
- 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, 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
- 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
Minimal HCS08/HCS12/CFV1 interface
http://usbdm.sourceforge.net/USBDM_V4.12/USBDM_JS16/html/USBDM_JS16CWJ.pdf
Minimal HCS08/HCS12/CFV1 & SWD interfaces
http://usbdm.sourceforge.net/USBDM_V4.12/USBDM_JS16/html/USBDM_SWD_JS16CWJ.pdf
HCS08/HCS12/CFV1, SWD & Serial interfaces with manual target power.
http://usbdm.sourceforge.net/USBDM_V4.12/USBDM_JS16/html/USBDM_SWD_SER_JS16CWJ.pdf
USBDM RS08/HCS08/HCS12/Coldfire V1,2,3,4/DSC/Kinetis Debugger and Programmer -- MC9S08JS16的更多相关文章
- USBDM RS08/HCS08/HCS12/Coldfire V1,2,3,4/DSC/Kinetis Debugger and Programmer -- Software Install
Installation of USBDM for Windows Under Windows, installation is done with a standard Windows MSI fi ...
- USBDM RS08/HCS08/HCS12/Coldfire V1,2,3,4/DSC/Kinetis Debugger and Programmer -- MC9S08JM16/32/60
Introduction The attached files provide a port of a combined TBDML/OSBDM/TBLCF code to a MC9S08JM16/ ...
- USBDM RS08/HCS08/HCS12/Coldfire V1,2,3,4/DSC/Kinetis Debugger and Programmer -- BDM Construction and Firmware
Construction. Build the hardware using the information provided in the PCB download. The following a ...
- USBDM RS08/HCS08/HCS12/Coldfire V1,2,3,4/DSC/Kinetis Debugger and Programmer -- Driver Install
Installation of USBDM USB drivers for Windows There are four installers provided: USBDM_Drivers_x_x_ ...
- USBDM Coldfire V2,3,4/DSC/Kinetis Debugger and Programmer -- MC9S08JS16
Introduction The attached files provide a port of a combined TBLCF/DSC code to a MC9S08JS16 processo ...
- USBDM Debugger interface for Freescale RS08,HCS08,HCS12,Coldfire and ARM-Kinetis Devices.
Introduction USBDM is a debugger hardware interface for a range of Freescale microcontrollers. It is ...
- USBDM Kinetis Debugger and Programmer
Introduction The FRM-xxxx boards from Freescale includes a minimal SWD based debugging interface for ...
- Freescale OSBDM JM60仿真器
OSBDM-JM60 - 9S08JM60 Based OSBDM — It includes interfaces and firmware applied to all the targets s ...
- Freescale OSBDM JM60仿真器 BGND Interface
The BGND interface provides the standard 6 pin connection for the single wire BGND signal type devel ...
随机推荐
- iOS8 自定义navigationbar 以及 UIBarButtonItem 边距问题
一.自定义navigationbar - (void)initNavigationBar{ [self.navigationController setNavigationBarHidden:YES] ...
- [BZOJ 2299][HAOI 2011]向量 题解(裴蜀定理)
[BZOJ 2299][HAOI 2011]向量 Description 给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), ...
- 如何得到Slave应用relay-log的时间
官方社区版MySQL 5.7.19 基于Row+Position搭建的一主一从异步复制结构:Master->{Slave} ROLE HOSTNAME BASEDIR DATADIR IP PO ...
- HDU 6406 Taotao Picks Apples 线段树维护
题意:给个T,T组数据: 每组给个n,m:n个数,m个操作: (对序列的操作是,一开始假设你手上东西是-INF,到i=1时拿起1,之后遍历,遇到比手头上的数量大的数时替换(拿到手的算拿走),问最后拿走 ...
- Linux USB Host-Controller的初始化代码框架分析【转】
转自:http://blog.csdn.net/zkami/article/details/2496770 usb_hcd_omap_probe (const struct hc_driver *dr ...
- 推荐一些socket工具,TCP、UDP调试、抓包工具 (转载)
还记得我在很久很久以前和大家推荐的Fiddler和Charles debugger么?他们都是HTTP的神器级调试工具,非常非常的好用.好工具能让你事半功倍,基本上,我是属于彻头彻尾的工具控. 假如有 ...
- jquery-css处理
jquery css处理,包括CSS,位置,尺寸等 一:CSS 使用 说明 例子 css(name|pro|[,val|fn]) 访问匹配元素的样式属性 $("p").css(&q ...
- C# Message类的属性Msg所关联的消息ID
C# Message类的属性Msg所关联的消息ID https://msdn.microsoft.com/en-us/library/windows/desktop/ms645606(v=vs.8 ...
- SqlServer中 SET DATEFIRST更改
在 SQL Server 中默认情况下,每周的开始都是从周日开始算起的,如果默认星期一呢? 这里有三种方式可以解决这个问题: 一:直接通过 SET DATEFIRST VALUE 来更改重新生成新的 ...
- 1 、在Linux(centos6.8)系统下的JDK安装与配置
一.解压jdk安装包: 附上jdk1.8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21 ...