当前位置:文档之家› ColdFire系列微处理器BDM调试系统的设计与实现

ColdFire系列微处理器BDM调试系统的设计与实现

电子设计中文核心期刊《微计算机信息》(嵌入式与SOC)2008年第24卷第10.2期ml

节的分析可以看出,BDM下的通信需要满足一定的时序及逻辑同时发送和接收,每次传送的数据块由一个17位的数据包组条件,采用传统的电路设计时需要很多元器件,电路过于复杂,成,该数据包由一个状态腔制位和一个16位的数据字组成。

从而造成系统成本升高,可靠性差。本设计中采用Xilinx公司BDM接收数据包时,状态位s和16位数据之问的关系如的CPLD器件XC9536XL来达到简化设计的目的。采用了下:SDATA消息

CPLD的产品具有性能提升,可靠度增加,PCB面积减少及成本0XXXX有效数据传输

下降等优点。0Oxffff状态OK

BDM接口的信号都是单向的。其中需要注意的是:PSTCLK1Ox0000响应未就绪,重来

是调试模块从处理器中获取的,所有的输入和输出信号都是基1Ox0001错误——终止总线周期,数据无效

于PSTCLK的上升沿,而DSCLK则是外部应用系统产生的,用10xffff非法命令

来控制串行通信的时序。XC9536XL与Pc机标准并口以及与BDM发送数据包时,控制位C应清0,16位数据是Pc方BDM接口的引脚连接如图3所示。调试软件向ColdFire处理器BDM调试模块发送的数据。

……●●●

图3BDM接口硬件原理图

图4XC9536XL内部电路原理网

PSTCLK信号通过一个输入全局缓冲器件BUFG连接到XC9536XL,所有的输入信号都接有一个FD触发器,这样PST—CLK就可以作为统一的触发脉冲,使这些信号受控于PSTCLK的上升沿,即只有当PSTCLK的上升沿到来时,FD触发器的输出才变为当前输入,否则保持为上一个状态不变。当PST[3:0]=0b111l时,表明处理器暂停,因此可以将PST3,PsT2,PSTl,PsllD通过一个与门AND4输出到BRKACKL,作为处理器的应答信号。CPLD内部电路原理图如图4所示。作者设计的BDM调试器实物如图5所示。

图5BDM调试器的实物图

4PC方BDM驱动设计

BDM调试器已经实现了并口与BDM接口的时序与逻辑操作转换,Pc方调试软件的核心是BDM驱动程序的设计,BDM驱动程序的功能是按照一定的数据格式传送和接收数据,并实现BDM的各种调试命令。

4.1BDM的数据通信格式

BDM串行通信使用全双工模式,数据可在主、从设备之间

4.2PC方BDM驱动的通信子程序

BDM调试器通过并口与计算机相连,要实现BDM下的串行通信,PC方需要按照图2所示的通信时序对并口进行编程。一个标准的BDM数据包由17位数据组成,通过控制DSI和DSCLK的电平变化,将数据一位一位的传输到目标芯片。此部分程序是PC方调试软件最底层、最核心的代码,上层的调试命令按照一定的操作步骤调用串行通信程序即可。BDM的串行通信子程序关键代码如下所示。

#defineCF—PE—DR—DATA_IN0x01//数据输入DSO

#defineCF_PE—DR_CLOCK_HIGH0)【02/臌据同步时钟DSCLK

#defineCF—PE—DR—BKPTOx04//BKPT弓I脚

#defineCFPE_DR—RESET0x08//复位信号

#defineCF—PE—DR—TEAOx40//传输允许

产通过并口向目标芯片输入0/I操作的宏吖

#defineCF—PE—DR—MASK(CF-PE—DR—DATAIN

CF—PE—DR—CLOCK_HIGH\

CF—PE—DR—BKPTICF—PE—DR—RESETICF—PE—DR—TEA)

#defineCF._PE_MAKE_POS_DR(flags)((flags)&(CF—PE_DR—DATA—IN、ICF_PE—DR—CLOCK_HIGH))

#defineCF—PE—MAKE_NEG_DR(flags)((一(flags))&(CF_PE—DEL.BKPT\lCF_PE_DR_RESETlCF_PE_DRTEA))#defineCF—PE—MAKE—DR(flags)

((CFPE_MAKE_POS_DR(flags)I\CF--PE—MAKE_NEG_DR(flags))&CF_PE—DR—MASK)

产并口获取处理器状态+,

#defineCF_PE_SR_PSTl0x08//处理器状态位l#defineCF_PE_SR—DATA_OUTOx80,,数据输出DSI#definecLPECR—NOT_PSTOOxOl,,处理器状态位0#defineCF_PE_CR—NOT_PST20x02//处理器状态位2#defineCFPECR_NOT_PST30x04//处理器状态位3

?功能:通过并El,实现BDM的串行通信

t参数:sen一记录BDM通信所需的信息

*wval~要发送的数据

*holdback一用来调整要发送的数据位数

}返回:无?

staticvoidef_pe_serial_clocker(structBDM4self,unsignedshortwval,inthddbaek)

unsignedlongshiftRegister;

一276—3607L/年邮局订阅号:82-946

ColdFire系列微处理器BDM调试系统的设计与实现

作者:刘晓升, 祝叶, 王宜怀, LIU Xiao-xheng, ZHU Ye, WANG Yi-huai

作者单位:苏州大学

刊名:

微计算机信息

英文刊名:MICROCOMPUTER INFORMATION

年,卷(期):2008,24(29)

参考文献(4条)

1.周红波嵌入式系统软件开发环境中调试器的设计[期刊论文]-微计算机信息 2006(14)

2.李晶皎;王爱侠;张广渊ColdFire系列32位微处理器与嵌入式Linux应用 2005

3.杨金华;杨松华;张琨一种嵌入式微处理器中的在线调试模块设计[期刊论文]-微计算机信息 2006(8)

4.ColdFire MCF527x系列单片机 2007

本文链接:https://www.doczj.com/doc/3f8066255.html,/Periodical_wjsjxx200829111.aspx

相关主题
文本预览
相关文档 最新文档