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 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
- 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 & BDM 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
- Codewarrior V10.1 (Eclipse version)
- 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.
Hardware Design
Please refer to the following document for hardware design details:
- USBDM Design with Serial interface - Schematics, Assembly Overlays & Bill of Materials
- USBDM Design - Schematics, Assembly Overlays & Bill of Materials
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
- 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

USBDM Coldfire V2,3,4/DSC/Kinetis Debugger and Programmer -- MC9S08JS16的更多相关文章
- 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 proces ...
- 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 -- 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 -- 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 Kinetis Debugger and Programmer
Introduction The FRM-xxxx boards from Freescale includes a minimal SWD based debugging interface for ...
- 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 ...
- Freescale OSBDM JM60仿真器
OSBDM-JM60 - 9S08JM60 Based OSBDM — It includes interfaces and firmware applied to all the targets s ...
- 设备管理 USB ID
发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintain ...
随机推荐
- CSS float浅析
写在开篇: 浮动属性的设计初衷,只是为了实现文本环绕效果! 时刻牢记这一点,才能正确使用浮动. 由于浮动元素脱离文档流,它后面的块级元素会忽略它的存在,占据它原本的位置,但是这个块级元素中的内联元素, ...
- mongoexport导出csv中文乱码
在用mongoexport导出csv文件时,发现数据库中的中文在excel中都显示为乱码,用notepad打开则正常. 解决办法: 在notepad中,将编码格式改为UTF-8,保存,再用excel打 ...
- vim下如何去掉windows编辑的文件中的^M
可以去掉^M, 例如: 在终端下敲命令: dos2unix a.c 直接转换成unix格式,这样就可以去掉^M •$dos2unix filename •vim filename :%s/^M$//g ...
- eclipse开发mapreduce程序时出现的问题
1.报HDFS权限不够:org.apache.hadoop.security.AccessControlException: Permission denied:user=ouqiping, acce ...
- Laravel Model 的 fillable (白名单)与 guarded (黑名单)
例如 protected $fillable = ['name']; protected $guarded = ['price']; 定义了 name 字段可以写入/修改,而 price 字段不可以. ...
- 用Fiddler对Android应用进行抓包
前言 Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带 ...
- checkbox复选框的一些深入研究与理解
一.一开始的唠叨最近忙于开发,自淫于项目的一步步完工,心浮躁了.舍近而求远,兵家之大忌.我是不是应该着眼于眼前的东西,好好的静下心来,超过一般人的沉静与沉浸,研究最基本的东西呢?这番思考,让我找到了一 ...
- 004 作业二(单击弹跳li节点的每个文本节点的值;点击每个 li 节点, 若 li 节点的文本值没有 ^^ 开头, 加上,有,则去除)
1.需求 点击每个 li 节点, 都弹出其文本值 2.程序 <!DOCTYPE html> <html> <head> <meta charset=" ...
- java轻松实现无锁队列
1.什么是无锁(Lock-Free)编程 当谈及 Lock-Free 编程时,我们常将其概念与 Mutex(互斥) 或 Lock(锁) 联系在一起,描述要在编程中尽量少使用这些锁结构,降低线程间互相阻 ...
- Netty---相关
http://www.infoq.com/cn/articles/netty-million-level-push-service-design-points/ ChannelOption用到的soc ...