jicheng0622

【技术分享】【原创】自制OSBDM-JM60调试HCS12、DSC、PowerPC及Kinetis

0
阅读(12967)

    继上篇《自制OSBDM-JM60 Bootloader烧写及固件更新》之后,这次继续爆发猛料,回应在上篇的承诺,继续把自制的OSBDM的开源资料分享出来。作为姊妹篇,本篇的主要内容就是详细介绍了OSBDM调试具体芯片的使用步骤同时也适时的分享期间自己总结的一些经验(本来想着挺简单的,但是我在实际测试的过程中还是遇到了不少麻烦的,有些已经完美解决,但是有些还是没有完全解决),内容也是比较多,但是保证全是实料,呵呵~(附件为本文所需固件)

    其实本篇内容我也是刚刚编写完毕,并已经发布一个完整版本v1.1交给师弟们做测试了,所以这里晒出来的肯定有不足和失误之处,希望广大博友批评指正,毕竟还是群众的眼光是雪亮雪亮的,呵呵。同时部分内容参考了飞思卡尔社区的Bluehacher老师的开源项目,这里表示感谢,还有就是老话,本篇内容首发于ChinaAET,转载请注明出处及原作者信息jicheng0622,您的支持是我的动力,谢谢,哈哈,如果觉着此篇文章对你有所帮助欢迎投票,感谢!下面进入正题:

clip_image001

图1 OSBDM v1.0仿真调试器

功能介绍

(1) 本BDM仿真调试器通过USB 5.0V 500mA供电,可实现在线下载,调试和仿真,观察全部寄存器和全局变量的数值;

(2)开发环境,支持Classic Codewarrior和最新的Eclipse Codewarrior,另外也支持第三方的IDE开发环境,例如IAR For ARM、Keil MDK等;

(3) 使用环境,Windows XP(Win7没有测试验证),USB2.0;

(4) 可选给目标板供电,通过跳线P3选择VTRG(目标板供电电源)是5v还是3.3v,两者都不选则需要目标板自供电;

(5) 支持虚拟串口,如P4接口;

(6)支持的芯片:

     Freescale HCS12/HCS12(X)/HCS08(已测试MC9S12DG128、MC9S08JM60)

     Freescale Coldfire V1,V2,V3,V4(已测试MCF52259)

     Freescale DSC全系列(已测试MC56F8366)

     Freescale PowerPC架构的Qorivva系列(已测试MPC5604B)

     Freescale Cortex-M4核的Kinetis系列(已测试K10、K60)

OSBDM-JM60仿真调试器的接口及指示灯说明

(1)P1ICP接口,此接口用来烧写板载JM60芯片的BDM接口,由四根接口线

组成,分别为Rst、BKGD、5v和GND;

(2)P2Boot模式选择,即Bootloader模式的使能,断电的情况下用跳线帽短接

此接口,然后再上电,则JM60进入Bootloader模式,可以更新固件等操作;

(3)P3:目标板供电电源选择,VTRG为目标板供电电源,可以通过跳线帽选择

为目标板供电3.3v或者5v,也可以不选,则目标板需要自供电;

(4)P4:虚拟串口,此OSBDM版本在实现BDM调试的功能基础上也实现了USB

转串口的功能,用来与目标板串行通信;

(5)P5DSC/Qorivva JTAG调试接口,支持飞思卡尔DSC全系列及飞思卡尔PowerPC架构的Qorivva系列,目前已经在CW8.3环境下测试通过DSC系列的MC56F8366,在CW2.7环境下测试通过Qorivva系列的MPC5604B;

(6)P6Kinetis JTAG调试接口,此接口为标准的ARM 10pin JTAG接口,目前已经在CW10.2和IAR6.4环境下测试通过K10和K60系列;

(7)P7Coldfire v2,v3,v4 JTAG调试接口,此接口为coldfire标准10pin JTAG接口,目前已经在CW7.2测试通过;

(8)状态指示灯:TPWR和USB_ACT。当调试器通过USB连接到PC机上时,USB_ACT灯会处于常“亮”状态,指示调试器正常工作。如果目标板没有连接到调试器,TPWR是处于“灭”的状态,当目标板连到调试器上,并且目标板上电,这时调试器检测到目标板上电,TPWR会“亮”,当然如果我们短接P3任意一个,则TPWR也会“亮”,指示目标板供电电源打开。

OSBDM-JM60调试仿真说明

1、 OSBDM-JM60调试器对HCS12的使用说明

对HCS12的仿真测试是我们在MC9S12DG128B的片子上做的,使用的开发环境为Codewarrior 5.1,该开发环境请到飞思卡尔官方网站上去下载(注意一定去官方下载最新版本的5.1,因为5.1旧版本和5.0及以下版本不支持该OSDBM)。下面我们就以MC9S12DG128在CW5.1环境下的调试为例说说OSBDM-JM60的使用步骤(假设此时已经插入OSBDM并将P8接口与9S12板子上的BDM接口连接好,注意9S12的供电电压为5v,可以短接P35v给目标板供电):

1) 首先需要给OSBDM更新HCS12系列的固件,该固件为本文档所在目下的OSBDM-JM60 Firmwares\s12文件夹下的osbdm-jm60_s12_build27_rev0.s19文件,具体更新方法见《OSBDM固件更新说明.doc》;

2)启动CodeWarrior V5.1,新建一个工程或者打开一个已有的Demo例程,在左面的工程管理框下,选择调试方式为下图红圈标识的“P&E USB BDM Multilink”方式(注意,必须选择此方式,本OSBDM-JM6版本不支持TBDML调试方式),如下图:

clip_image002

3)点击绿色调试按钮,进入下载界面,会弹出“下载警告”窗口,不用管它,勾选框选中(下次就不弹出了),然后点击“OK”即可;

clip_image003

clip_image004

4)下载完毕,进入调试界面如下图,然后就与TBDML调试方法一致了,尽情享受OSBDM-JM60带给你的调试乐趣吧,呵呵。

clip_image006

2、 OSBDM-JM60调试器对DSC的使用说明

对DSC的仿真测试是我们在MC56F8366的片子上做的,使用的开发环境为Codewarrior 8.3,该开发环境请到飞思卡尔官方网站上去下载。下面我们就以MC56F8366在CW8.3环境下的调试为例说说OSBDM-JM60的使用步骤(假设此时已经插入OSBDM并将P5接口与DSC板子的JTAG接口连接好,注意DSC的供电电压为3.3v,短接P33.3v跳线可以给目标板供电):

1)首先需要给OSBDM更新DSC系列的固件,该固件为本文档所在目下的OSBDM-JM60 Firmwares\dsc文件夹下的osbdm-jm60_dsc.abs.s19文件,具体更新方法见《OSBDM固件更新说明.doc》;

2)将本文档所在目录下的路径为Codewarrior GDI\Classic-CW里面的osbdm-jm60_gdi_dsc.dll文件拷贝到CodeWarrior V8.3安装目录下(例如:D:\Program Files\Freescale\CodeWarrior for DSC56800E v8.3),如下图所示

clip_image008

3)启动CodeWarrior V8.3,新建一个工程或者打开一个已有的Demo例程,如下图所示

clip_image010

在工程界面的左上方(红色椭圆)列表中选择“INTERNAL_Memory模式”,这样的设置可以进入到下面讲的调试界面进行程序调试了。

4)选择菜单栏下的Edit->Preferences,打开如下窗口

clip_image012

点击“Remote Connec…”然后选中“56800E Local FSL OSBDM…”,再单击“Change”,弹出窗口

clip_image013

clip_image014

点击“Browse”,在打开的窗口下找到第一步拷贝到CW8.3安装目录下的osbdm-jm60_gdi_dsc.dll文件,选择该文件,点击“打开”,然后“OK”就可以了。

5)单击下图所示红圈的图标

clip_image015

弹出如下窗口,选中“RomateDebugging“,在Connection项的列表中选择“56800E Local FSL OSBDM Connection”,单击“OK”即可。

6)到此步为止,需要设置的就已经设置完毕,点击调试绿色的按钮,开始下载程序,出现下载进度窗口,之后就进入到调试窗口,可以进行全速运行、单步调试等操作了。

clip_image016

clip_image018

不过需要注意OSBDM调试的速度很慢,需要耐性等待哦,呵呵。当然这时程序已经下载到片子里面了,点击“停止调试”按钮,退出调试窗口,然后掉电,拔掉BDM连接线,重新给DSC板子上电即可运行最新的程序了。

3、 OSBDM-JM60调试器对Qorivva的使用说明

对Qorivva系列的仿真测试是我们在MPC5604B_M27V的片子上做的,使用的开发环境为Codewarrior 2.10,该开发环境请到飞思卡尔官方网站上去下载。下面我们就以MPC5604B在CW2.10环境下的调试为例说说OSBDM-JM60的使用步骤(假设此时已经插入OSBDM并将P5接口与MPC5604板子上的JTAG接口连接好,注意Qorivva系列的供电电压为5v,可以短接P35v给目标板供电):

1)首先需要给OSBDM更新Qorivva系列的固件,该固件为本文档所在目录的OSBDM-JM60 Firmwares\eppc文件夹下的osbdmens_eppc.3007文件(千万别下错),具体更新方法见《OSBDM固件更新说明.doc》;

2)然后打开Codewarrior 2.10 IDE,新建或者打开已有的MPC5604BM27V的工程,选择“internal FLASH”调试方式;

clip_image019

4),然后点击绿色调试按钮,开始调试,第一次会弹出如下图所示的PEMICRO连接窗口,可以看到已检测到第一个红色圈内的”Embedded OSBDM Device”,然后点击“Connect”;

clip_image020

5)之后系统就会自动连接目标板,然后启动Erase和Program进度,耐心等待下载完毕即可;

clip_image022

clip_image024

至此OSBDM-JM60调试仿真Qorivva系列的过程结束,之后关闭上图调试窗口,重新给目标板上电,程序即可运行。

4、 OSBDM-JM60调试器对Kinetis的使用说明

对Kientis家族的仿真测试是我们在MK60N512的片子上做的,使用的开发环境为IAR 6.3及以上,该开发环境请到IAR官网上去下载(IAR6.3的破解过程可以参考我的博客http://blog.chinaaet.com/detail/25933.html)。下面我们就以MK60N512在IAR 6.3环境下的调试为例说说OSBDM-JM60的使用步骤(假设此时已经插入OSBDM并连接到K60的板子上,注意K60系列的供电电压为3.3v,可以短接P33.3v给目标板供电):

1)首先需要给OSBDM更新Kinetis系列的固件,该固件为本文档所在目录的OSBDM-JM60 Firmwares\Kinetis文件夹下的osbdm-jm60_kinetis.abs.s19文件,具体更新方法见《OSBDM固件更新说明.doc》;

2)新建或者打开已有的K60工程,右键工程名进入Option选项设置,如下图;

clip_image002[5]

3)在Option里面,进入Debugger选项卡,在Setup窗口设置调试方式为PEmicro,如下图;

clip_image004

4)再进入到Download选项,勾选上“Verify download”和“Use flash loader”,如下图

clip_image006[5]

5)然后点击左面选项卡“PE micro”选项,进入到Setup窗口,选择PE micro调试工具中的“OSJTAG”工具,如下图,然后点击“OK”确认即可;

clip_image007

6)如上设置完毕之后,编译工程通过,单击绿色调试按钮,即可进入到下载调试窗口,然后就可进行相关调试工作。

 

倒点热水去,呵呵,下次再聊,未完待续~

附件为本文档所需的固件,其他的东西就不传了,实在太大了~

http://files.chinaaet.com/files/blog/2013/01/22/OSBDM-JM60 Firmwares.rar