OSBDM是FREESCALE网站上的开源项目,它有很多版本基于不同的单片机,为了打造HCS08的开发环境,我参考了JB16版本的USBDM(官方项目地址) 并作了简化,简化主要解决了两个问题,其一是未使用不好采购的器件,其二删除了不使用的功能使电路制作更简单。 从这个项目页面我们可以下载一下几个文件:
1. Installation_2_0_0.zip
2. Source_2_0_0.zip
3. PCB_2_0_0.zip
如果仅仅是为了制作BDM而不是去研究它下载第一个文件即可。将第一个文件Installation_2_0_0.zip解压得到的文件夹中找到USBDM_Flash_Images\USBDM_JB16_SOIC28[USB_Stick].pdf,对其简化后得到下面的原理图
图1-简化版USBDM原理图(点击图片放大):
下一步就是照着原理图制作硬件了,以下是我制作好的USBDM实物图
图2-USBDM实物图:
有了硬件,接着就是给这个JB16编程,将USBDM的固件写入到里边,在此之前我们需要简单了解一下MC908JB16这款单片机,以及对它进行编程的方法。
MC908JB16是HC08系列单片机的一个成员,它可以象其他HC08单片机一样使用MON接口编程和调试,但是MON接口引出的线较多,对于在板上编程并不是很合适,另一个对JB16编程的方法就是它人ICP功能,ICP功能类似于AVR单片机的BOOTLOADER,是靠提前写入的用户程序完成的,在JB16出厂时在JB16里默认写入了一个ICP程序,这个程序可通过USB接口对单片机自身进行编程,关于这个程序详情请参考FREESCALE的文档AN2399。
当一个空的JB16用USB连接到计算机时(注意USB两个线分别用470K电阻下拉)ICP程序启动并在计算机上提示安装ICP功能相应的USB驱动程序,这个驱动在Installation_2_0_0\Freescale ICP Files目录下,安装完成后的提示如下图
图3-ICP驱动程序安装完成图:
安装完成驱动后就可以用Installation_2_0_0\Freescale ICP Files目录下的程序USBICP.exe对JB16下载程序了,将Installation_2_0_0\USBDM_Flash_Images目录下的USBDM_JB16.s19文件用USBICP写入到单片机。 在USBICP打开时需要选择MCU配置文件,此时选择Initial_Programming_MassErase.imp即可,如下图
图4-ICP配置文件选择:
要注意的是写入的过程万无一失,否则我们会遇到很大的麻烦,因为新写入的内容会冲掉原有的ICP程序,另外USBDM程序内也集成了兼容(USB驱动一样)的ICP程序,所以只要写入成功,我们仍然可以通过复位时拉低PTA0引脚的方法再次进入ICP程序,但这个对于我们似乎毫无用处。
图5-ICP驱动程序安装完成后的设备管理器列表:
USBDM固件写入后断开USB,从J2提供BDM电源(如连接目标板)再次连接USB线,这次会提示安装BDM对应得USB驱动程序,从Installation_2_0_0\USB_Driver安装驱动程序后设备管理器列表如下
图6-USBDM驱动程序:
最后的一步就是将 Installation_2_0_0\Release DLLs目录下的OpenSourceBDM.dll复制到CodeWarrior安装目录下的prog\gdi目录内,至此一个简单实用的BDM调试工具在CodeWarrior下可以使用了。
|
|