首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
» MC68HC912B32背景调试模式设计(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
MC68HC912B32背景调试模式设计(2)
发短消息
加为好友
我是MT
当前离线
UID
1023166
帖子
6651
精华
0
积分
3328
阅读权限
90
来自
燕山大学
在线时间
230 小时
注册时间
2013-12-19
最后登录
2016-1-5
论坛元老
UID
1023166
性别
男
来自
燕山大学
1
#
打印
字体大小:
t
T
我是MT
发表于 2015-10-6 10:18
|
只看该作者
MC68HC912B32背景调试模式设计(2)
子程序
3.2 BDM调试器系统软件设计
CPU12的BDM通信协议也称为单线通信协议。下面按照该协议,以JB8作为主控制芯片详细介绍B32的BDM调试系统的软件设计。在程序开始前,需要宏定义一些常量以方便下面程序的调用。具体的宏定义有:
3.2.1 调用读写汇编子程序
通过调用读写汇编子程序,可以读取和发送一个字节,具体函数如下:
调用写子程序的输入参数是需要被写的一个字节,调用读子程序的返回参数是读取到的一个字节。
3.2.2 读写汇编子程序
主机方以下降沿通知目标机方的BKGD端,位通信开始,每一位传输至少需要16个时钟周期。具体过程如下:
主机首先拉低BKGD引脚,并时低电平维持时间不短于512个时钟周期,目标机探测到下降沿信号后清命令寄存器,同时等待接收主机的BDM命令。
主机写位0到目标机BKGD端的操作为:主机拉低目标机的BKGD端不少于12个时钟周期,目标机在探测到低电平以后的第10个周期对BKGD采样,读入该位的0。
主机写位1到目标机BKGD端的操作为:主机拉低目标机的BKGD端2-4个时钟周期后释放BKGD端,使之为高电平,目标机在探测到低电平以后的第10个周期对BKGD采样,读入该位的1。
下面是写一个字节的汇编代码:
主机读目标机BKGD端的信息时,主机拉低目标机BKGD端2-4个周期后释放BKGD端,然后定义该引脚为输入状态,读取BKGD端的电平,如果目标机输出为0电平,则继续拉低BKGD端,从探测到主机拉低BKGD端起持续13个时钟周期,所以主机的读操作应在从拉低BKGD线算起的13个时钟周期内完成,对于目标机输出为1的情况,无需目标机输出高电平,因为BKGD端已用电阻上拉,只需定义该引脚为输入,则自然会使之为1。
下面是读取一个字节的汇编代码:
对于硬件命令,命令之间间隔要大于150个时钟周期,对于固件命令,送出读命令到读取数据之间要延迟32个时钟周期,写命令后面可紧跟需要写的数据,但与下一条命令之间要间隔32个时钟周期。
3.2.3 测试程序
为了测试以上程序的正确性,特用VC6.0编写了一个计算机端的测试程序。该程序通过串口与JB8通信,以完成对B32 Flash的读写和擦除。由于源代码较长,限于篇幅不在此列出。
收藏
分享
评分
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议