• 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


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
  • 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:

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

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的更多相关文章

  1. 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 ...

  2. 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/ ...

  3. 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 ...

  4. 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_ ...

  5. 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 ...

  6. 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 ...

  7. USBDM Kinetis Debugger and Programmer

    Introduction The FRM-xxxx boards from Freescale includes a minimal SWD based debugging interface for ...

  8. Freescale OSBDM JM60仿真器

    OSBDM-JM60 - 9S08JM60 Based OSBDM — It includes interfaces and firmware applied to all the targets s ...

  9. Freescale OSBDM JM60仿真器 BGND Interface

    The BGND interface provides the standard 6 pin connection for the single wire BGND signal type devel ...

随机推荐

  1. DataTable转Json(兼容easyUI特殊json分页)

    用法:上述方法是DataTable的扩展方法:静态类静态方法,变量前用this (一)ps:普通datatable转标准json DataTable dt = 获取db中的datatable数据. s ...

  2. 【Linux高级驱动】input子系统框架【转】

    转自:http://www.cnblogs.com/lcw/p/3802617.html [1.input子系统框架(drivers\input)] 如何得出某个驱动所遵循的框架?    1) 通过网 ...

  3. mac ssh 自动登陆设置

    1.首先找到.ssh目录 一般在用户名目录下. ls -a查看 如果没有就重新创建一个 chennan@bogon :mkdir .ssh chennan@bogon 查看当前的 bogon:.ssh ...

  4. gentoo系统安装

    1. Gentoo常用镜像   ===>http://www.linuxsir.org/bbs/thread263600.html 2. 安装方式1 http://www.linuxidc.co ...

  5. 环境变量GOPATH使用试验

    Intel Core i5-8250U,Windows 10家庭中文版,Visual Studio Code 1.26.1 中午的时候,自己把环境变量GOBIN给清空了.刚刚继续工作时发生了异常:使用 ...

  6. java字节流复制文件

    import java.io.FileInputStream; import java.io.FileOutputStream; import org.junit.Test; public class ...

  7. redis实现分布式锁服务

    译自Redis官方文档 在多线程共享临界资源的场景下,分布式锁是一种非常重要的组件.许多库使用不同的方式使用redis实现一个分布式锁管理.其中有一部分简单的实现方式可靠性不足,可以通过一些简单的修改 ...

  8. IDEA / WebStorm / PhpStorm 添加jQuery自动提示,自动补全,提醒文档

    应该是JetBrains系列IDE通用的方法,网上其他一些方法有的过时了,有的不全 默认情况下没有JQuery补全,按照以下方法添加 1. 打开Settings,Languages & Fra ...

  9. Springbatch Miscellanea Notes

    1.scope="step",如下图,这是一种后绑定的方式,生成Step的时候,才去创建bean <bean id="testTasklet" paren ...

  10. WebAPI性能优化

    WebAPI性能优化之压缩解压 有时候为了提升WebAPI的性能,减少响应时间,我们会使用压缩和解压,而现在大多数客户端浏览器都提供了内置的解压支持.在WebAPI请求的资源越大时,使用压缩对性能提升 ...