飞思卡尔S12xs128单片机BDM调试器使用技巧
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S12(X)单片机BDM调试器使用技巧
第五届全国大学生“飞思卡尔”杯智能气车竞赛限制采用最新的MC9S12XS128(以下简称XS128)单片机作为主控芯片,替代MC9S12DG128。XS128是Freescale公司推出的S12系列单片机中的一款增强型16位单片机。片内资源丰富,接口模块有SPI、SCI、IIC、A/D、PWM等常见模块,在汽车电子应用领域具有广泛用途。XS128和以往大赛使用的S12DG128系列单片机一样,调试接口都是使用Freescale公司传统的BD M(Background Debug Module)接口。
1 MC9S12XS128单片机介绍
(1)CPU:增强型16位HCS12 CPU,片内总线时钟最高40 MHz;
(2)片内资源:8 KB RAM、128 KB程序闪存、2 KB数据闪存;
(3)串行接口模块:SCI、SPI;
(4)脉宽调制模块(PWM)可设置成4路8位或者2路16位,逻辑时钟选择频率宽;
(5)1个16路12位精度A/D转换器;
(6)控制器局域网模块(CAN);
(7)增强型捕捉定时器。
MC9S12XS128单片机有112、80和64引脚3种封装形式。80-pin封装的单片机没有引出用于扩展方式的端口,仅引出了一个8路A/D接口。竞赛可使用112或80引脚封装器件。
2 BDM接口和使用
BDM调试器内部有一个8位的MC9HC08JB16单片机,该单片机有USB接口,可与PC 机信息交互。HC08单片机和S12单片机间仅使用一根 I/O线通信,这根相连的信号线名为BKGD。HC08单片机将BKGD置为输出,以串行发送命令,发送完成后转为输入,以接收信息。S12单片机收到命令后转为输出,根据调试器发来的命令回送信息,然后立即转入接收态。BDM工具以此方式实现S12单片机的在线调试、内部闪存的烧写等功能。关于BDM接口的实现,读者可以参考Freescale任何一款S12单片机的器件手册,其对BDM接口的命令字、交互模式等都有详细描述。这里主要介绍如何使用 B DM接口。BDM接口虽然只有BKGD一根信号线,但实际使用过程中,Freescale规定用一个双排、6引脚的接插件做BDM接口,如图1所示,引脚间距为2.54 mm(100 mil)。
虽然使用的是6引脚接插件,实际上有用引脚只有4个。其中BKGD连接到S12处理器的BKGD引脚,RESET连接到S12处理器的RESET引脚,GND是S12目标板的地信号,而VDD信号是来自目标板的电源信号。VDD信号的连接将在下文中详细阐述。
BDM接口的使用,需要配合PC上安装的CodeWarrior软件和BDM调试工具TTBDM。
BDM接口是S12单片机专用的调试接口,PC上运行的调试软件需要通过USB接口连到HC08单片机,经过HC08单片机的一根I/O线连到S12单片机的BKGD引脚实现PC和S12单片机的通信,进而实现在线调试和烧写闪存功能。
3 利用“BDM for S12(TTBDM)”调试程序
BDM调试工具主要实现三方面的功能:
(1)应用程序的下载与更新;
(2)单片机内部资源的配置与修复;
(3)应用程序的动态调试。
本中心提供面向S12系列单片机的BDM工具,TTBDM在硬件设计上做了改进,兼容S12和S08两种BDM调试器。软件基于Daniel Malik的TBDML()以及open source BDM软件。TTBDM可以下载S12或者S08的BDM调试固件,分别用于调试S12和S08单片机。本文仅从用户角度讲述“TTBDM”的使用方法和常见问题的解决办法。详情请登陆本中心网站,下载最新版本的“BDM for S12(TTBDM)”用户手册。
4 TTBDM硬件设置
BDM for S12(TTBDM)设计了跳线开关,允许用户对TTBDM进行一些特定配置,以此满足不同用户的需求。打开TTBDM的硬件小盒,能够看到4个可以设置的跳线,分别是J4、J5、J6和J7,如图2所示。
图3为J4跳线的引脚图。J4用来选择6-pin双排插针BDM接口中BKGD信号是在第1引脚引出还是从第3引脚引出。当J4跳线连接在左侧靠近电路板边沿的标记3
引脚时,BKGD信号连接到BDM的第3引脚,如图3(a);当J4跳线连接在右侧靠近R 12的标记引脚时,BKGD信号连接到BDM接口的第1引脚,如图3(b)。
J4端接线在1位置处适用于按照Motorola规定的BDM信号定义。采用这种定义时,BDM头一定不能插反,插反会导致VDD与 BKGD短路,烧毁BDM中HC08单片机的I/O 端或S12单片机的BKGD端,甚至两者都被损坏。J4短接线在3位置处,适用于专门为大学生车模竞赛设计的S12XS单片机小模块,其优点是如果将BDM插反,也不会损坏S12单片机和BDM调试器。
J5用来给TTBDM的HC08JB16单片机编程。请注意一定不要在J5上插短接线。
J6用于调试S08单片机,在S12的调试中也一定不要插上短接线。
J7是为了保留BDM调试接口的一些特性而设计的,J7允许用户设定是否使用PC机的USB口上的电源给目标板供电,供
3.3 V还是供5 V。建议不要用PC的USB口给目标板供电。默认情况下,J7不焊接任何插件,表示不向目标板供电。由于PC机的USB接口可提供5 V/500 mA的供电能力,所以TTBDM调试头不需要从目标板上取电。但TTBDM并不知道目标板用的是5 V电源还是3.3 V电源,也就是说BDM上的VDD是5 V还是3.3 V。为了目标板的VDD电压适应5 V或3.3 V的BKGD和Reset电平,需要从目标板取电,以调整BKGD和Reset 电平。如果目标板是5 V供电,则BDM接口的信号电平为5 V;如果目标板是3.3 V 供电,则BDM接口的信号电平为3.3 V。其他电平也可以工作,如接口是2.5 V等。这部分实现电路如图4所示。