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 ...
随机推荐
- Linux - awk 文本处理工具四
awk 常用示例 获取本机 IP 方式 /sbin/ifconfig |awk -v RS="Bcast:" '{print $NF}'|awk -F: '/addr/{print ...
- Chrome插件笔记之content_scripts
一.概论 说这个之前先看一个段子,讲的是甲方有一奇葩客户,这客户看一网站某些样式很别扭不得劲,非要让乙方修改,乍一听没毛病,但关键是这网站不是乙方家的,根本没有修改权限,怎么办,客户就是上帝,上帝的要 ...
- python垃圾回收之分代回收
可参考vamei的博客和https://www.jianshu.com/p/1e375fb40506
- 关于Python IDLE reload(sys)后无法正常执行命令的原因
转载自:http://blog.csdn.net/kxcfzyk/article/details/41414247?utm_source=tuicool&utm_medium=referral ...
- 内存对齐与ANSI C中struct型数据的内存布局 【转】
转自:http://blog.chinaunix.net/uid-25909619-id-3032209.html 当在C中定义了一个结构类型时,它的大小是否等于各字段(field)大小之和?编译器将 ...
- screen命令记录
1.screen -x 进入 2.ctrl+a+n 下一个 3.ctrl+a+p 上一个任务 4.ctrl+a+d 退出 5.ctrl+c 结束任务 其他 screen -ls 所有任务 screen ...
- python运行execjs解密js
[转]http://www.knowsky.com/1041161.html python 记一次计算qzonetoken经历 之前用python写了个发表说说的爬虫,但最近发现在post数据时返回不 ...
- 013_Mac OS X下应该如何卸载软件和安装应用软件
一.Mac OS X下应该如何卸载软件 Mac OS X的软件安装方式有很多种,而软件卸载的情况也很不同.在Mac OS X拆除软件往往不是把软件拉到废止篓里那么简单.通常情况下要具体问题具体分析.无 ...
- MySQL 数据库性能优化之SQL优化【转】
优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑, ...
- 前端如何在h5页面调用微信支付?
在微信服务号开发的时候经常会遇到微信支付的功能实现,通过实际经验自己总结了一下,前端在H5页面调起微信支付有两种办法,一是利用内置对象,二是通过引用微信的js sdk,亲测都能支付成功,从写法上来看用 ...