首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
» MC68HC912B32背景调试模式设计(1)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
MC68HC912B32背景调试模式设计(1)
发短消息
加为好友
我是MT
当前离线
UID
1023166
帖子
6651
精华
0
积分
3328
阅读权限
90
来自
燕山大学
在线时间
230 小时
注册时间
2013-12-19
最后登录
2016-1-5
论坛元老
UID
1023166
性别
男
来自
燕山大学
1
#
打印
字体大小:
t
T
我是MT
发表于 2015-10-6 10:17
|
只看该作者
MC68HC912B32背景调试模式设计(1)
开发
,
技术
,
微处理器
,
Flash
随着Flash技术在微处理器上的广泛应用,使单片机在开发和应用手段上有了革命性的变化,从传统的仿真器(ICE)到目前流行的JTAG,设计人员在不断寻找一种移植性更高、更易操作、费用更低的开发手段。使用传统的仿真器进行
嵌入式
开发时,通常调试工具会受价格和烦琐的操作所限制,但是随着微处理器制造工艺的提高及Flash技术的发展,一些高端微处理器(如CPU12/16/32、PowerPC、ColdFire等)内部已经包含了用于调试的微代码,并可以通过背景调试模式BDM(Background Debug Mode)进行调试,由于这种方法省去了仿真器,因此避免了高频操作、交直流电不匹配等问题,随着BDM标准的不断规范和普及,用BDM调试模式进行
嵌入式
开发已经成为一种首选。
MC68HC912B32(以下简称B32)是由Freescale公司推出的一款基于CPU12核心的16位
嵌入式
MCU。它具有体积小、功耗小、功能多等优点,主要用于汽车电子、工业控制、医疗设备等领域,它是Freescale公司较早提供的一款背景调试模式的16位MCU。背景调试模式是Freescale公司自定义的片上调试规范。
1 背景调试模式介绍
BDM是由Freescale半导体公司推出的一种单线(Single Wire)调试方式,是目前单片机普通采用的调试方式之一。其他公司的
嵌入式
处理器也有类似的调试方式,如AMD公司的X86μP系列微处理器提供的AMDebug调试方式等。
BDM调试方式为开发人员提供了底层的调试手段,开发人员可以通过它初次向目标板下载程序,同时也可以通过BDM调试器对目标板MCU的Flash进行写入、擦除等操作,用户也可以通过它进行应用程序的下载和在线更新、在线动态调试和编程、读取CPU各个寄存器的内容、单片机内部资源的配置与修复、程序的加密处理等操作,而这些仅需要向CPU发送几个简单的指令就可以实现,从而使调试软件的便携变得非常简单,通常自己就可以编写,BDM硬件调试插头的设计也非常简单,关键是要满足通信时序关系和电平转换要求。
目前常用的标准BDM调试插头如图1所示,各个引脚信号的定义如表1所示。
2.1 总体概述
以CPU12为内核的MCU的运行模式有单片方式(Single chip)和扩展方式(Expanded Mode)两种。运行模式主要由BKGD、 MODB和MODA引脚的状态决定,各个模式与引脚状态间的关系见表2。单片模式又分普通单片模式(Normal Single Chip)和特殊单片模式(Special Single Chip)两种,而只有在特殊模式下BDM才能被激活,因此特殊单片模式又称BDM模式。图2为PC机通过BDM插头与目标机相连。
2.2 BDM指令介绍
BDM有两类指令。一类是在一般运行模式下可以直接执行的,被称为硬件指令(Hardware Command);另一类则是只能在BDM模式下执行的程序,这些程序在进入BDM模式后被固化在地址为﹩FF00-﹩FFFF的ROM中,被称为固件指令(Firmware Command)。
因为BDM控制模块不在CPU中,所以BDM硬件指令可以在CPU正常运行时被并行执行,其他BDM指令是基于固件的,必须在CPU处于BDM模式下才能执行。硬件指令允许读写目标系统内(包括片内RAM、EEPROM、I/O控制寄存器等)的所有内存。硬件指令可以不在BDM模式下执行,表3列出了 BDM模块常用的硬件指令。
固件指令必须在HC12单片机的BDM ROM中执行,且CPU必须在BDM模式下才能执行,通常使用硬件指令BACKGROUND使CPU进入BDM模式,当BDM被激活时,BDM ROM就被分配到地址空间:﹩FF20-﹩FFFF,同时7个BDM寄存器被分配到地址空间:﹩FF00-﹩FF06,此时CPU就可以通过执行ROM中的代码完成相应的固件指令操作。表4列出了BDM的7个寄存器,表5介绍了常用的3个固件指令。
2.3进入BDM模式
下面介绍使目标机进入BDM模式的两种常用方法。
方法1:将目标机的BKGD引脚拉低,然后给目标机的RESET引脚加低电平,即给目标机复位,复位脉冲要足够宽,至少要大于目标机的512个时钟周期。本文采用Freescale公司的8位微处理器MC68HC908JB8(简称JB8)制作BDM调试头,用其PTA0和PTA1口控制目标机的 RESET和BKGD引脚,此方法通过软件编程的方式进入BDM模式。
方法2:通过硬件跳线的方式将BKGD置低电平,在目标机复位后再将BKGD置高电平,以进入目标机的BDM模式。进入BDM模式后,带有BDM程序的片内专用ROM将Flash的﹩FF00-﹩FFFF替换,此空间在普通单片方式下存放中断向量。该方法仅通过硬件跳线的方式进入BDM模式。
3 B32的BDM调试系统设计
3.1 BDM调试其系统硬件设计
该BDM调试器的BKGD和RESET信号分别由JB8单片机的I/O口PTA1、PTA0提供。双方通信引脚使用漏极开路驱动(或称线或)的方式,平时靠上拉电阻维持高电平。Flash编程电源VFP由MAX662提供,MAX662是一款专门提供12V Flash编程电压的芯片。MAX662外围电路原理图如图3,BDM调试插头电路原理图如图4。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议