HCS12 开发工具包_大海拾贝_百度空间
清华Motorola单片机应用开发研究中心
2
HCS12 开发工具包.........................................................................................................................1
第1章 概述.............................................................................................................................3
HCS12微控制器简介......................................................................................................3
HCS12开发工具包组件..................................................................................................3
第2章 MC9S12DP256开发板及与PC机通讯...................................................................4
MC9S12DP256开发板....................................................................................................4
开发板的硬件连接...........................................................................................................7
PC机的设置.....................................................................................................................7
第3章 监控程序及监控命令详解.....................................................................................11
命令详解.........................................................................................................................11
F命令............................................................................................................................13
B命令...........................................................................................................................13
K 命令..........................................................................................................................14
O命令...........................................................................................................................14
G命令...........................................................................................................................14
L命令............................................................................................................................14
S命令............................................................................................................................14
R命令...........................................................................................................................15
Q命令...........................................................................................................................15
Z命令............................................................................................................................16
改变波特率..................................................................................................................16
复位,中断向量表.........................................................................................................17
用户可以使用的RAM空间..........................................................................................18
系统调用.........................................................................................................................18
第4章 编译器codewarrior for HCS12 使用方法入门....................................................19
建立工程文件.................................................................................................................19
编写main.c 程序...........................................................................................................21
定义存储空间分配.........................................................................................................24
应用程序的编译.............................................................................................................25
向开发板下载程序.........................................................................................................26
运行应用程序.................................................................................................................28
第5章 BMD调试器及使用方法.......................................................................................30
BDM调试器使用方法...................................................................................................30
设置BDM头的时钟频率..............................................................................................33
和目标板连接.................................................................................................................34
向FLASH下载程序......................................................................................................36
3第1章 概述
HCS12微控制器简介
HCS12(以下简称DP256)是Motorola新推出的高性能16位微控制器,具
有强大的功能和广阔的市场前景.HCS12单片机系列提供由32K-512K第三代快
闪嵌入式存储器.每一个HCS12单片机总线速度可达50 MHz, 外围时钟可以到
25MHZ.还具备编码效益,片上纠错能力,并与摩托罗拉68HC11和68HC12结构
编码兼容.
HCS12开发工具包组件
HCS12开发工具包硬件系统包括以下组件:
MC9S12DP256(兼容所有HCS12 D系列112pin封装的单片机)开发板一块
监控程序(可实现单板调试)
BDM调试器一个,简称BDM头
BDM 6芯扁带电缆一根
编程开发工具串口通讯线一根
标准5V电源一个
CDROM 一张
4第2章 MC9S12DP256开发板及与PC机通讯
MC9S12DP256开发板
MC9S12DP256开发板如图2.1 所示.MC9S12DP256开发板上最主要的器件是
MC9S12DP256单片机,由于MC9S12DP256单片机兼容所有HCS12 D系列112pin
封装的单片机,同样的印刷线路板,焊上其它类型的MC9S12D系列单片机就构成
了其它相应单片机的开发板.这些D系列的单片机是:
MC9S12DG128 MC9S12DJ128
MC9S12DB128 MC9S12DT128
MC9S12DP256 MC9S12DT256
MC9S12DJ256 MC9S12DG256
MC9S12DT256 MC9S12DJ256
MC9S12DG256
Motorola 今日还推出了有512K FLASH的相应D系列单片机,引脚也与上述单片机引脚
兼容.
图 2.1 MC9S12DP256开发板
5
MC9S12DP256开发板实际上是MC9S12DP256单片机构成的最小系统.板上有
构成最小系统需要的复位电路,晶体振荡器及时钟电路,串行接口的RS-232 驱
动电路,+5V电源插座.MC9S12DP256单片机中已经写入了我们开发的监控程序.
8个调试用的小灯并非构成最小系统所必须,但对调试应用系统非常有用.印刷
板上还有2个CAN总线的驱动电路和引出端,必要时用户可以自行焊上驱动芯片.
这2个CAN总线的接口电路是MC9S12DP256单片机5个CAN总线中与
MC9S12DG128,MC9S12DG256兼容的那2个.单片机的所有I/O端口都通过2个
64芯的欧式插头引出.这2个插头在PCB上的距离如图2.2所示.表 2.1 给出
了开发板上P1与P2 插座的引脚定义.用户可以根据图2.2和表2.1的定义设
计自己的应用系统,即目标母板,然后将开发板插在目标母板上调试.
图 2.2 MC9S12DP256开发板P1,P2间的距离是1900mil.
6表 2.1 开发板上P1与P2 插座的引脚定义
P1 P2
1 VCC 2 VCC 1 NC 2 VCC
3 NC 4 NC 3 NC 4 NC
5 GND 6 GND 5 NC 6 NC
7 NC 8 NC 7 NC 8 P13
9 NC 10 NC 9 PT3 10 PT2
11 RXCAN1 12 TXCAN0 11 PT1 12 PT0
13 RXCAN0 14 TXCAN1 13 P8 14 NC
15 PT4 16 PT5 15 P6 16 P5
17 PT6 18 PT7 17 P4 18 P3
19 P19 20 P20 19 P2 20 P1
21 P21 22 P22 21 P112 22 P111
23 NC 24 PB0 23 P110 24 P109
25 PB1 26 PB2 25 P108 26 P107
27 PB3 28 PB4 27 NC 28 P101
29 PB5 30 PB6 29 P100 30 P99
31 PB7 32 P32 31 P98 32 P97
33 P33 34 P34 33 P96 34 P95
35 P35 36 P36 35 P94 36 P93
37 NC 38 NC 37 P92 38 P91
39 P39 40 NC 39 NC 40 NC
41 P41 42 NC 41 P88 42 P87
43 P43 44 P44 43 NC 44 P85
45 NC 46 NC 45 P84 46 P83
47 NC 48 P48 47 P82 48 P81
49 P49 50 P50 49 P80 50 P79
51 P51 52 P52 51 P78 52 P77
53 P53 54 P54 53 P76 54 P75
55 P55 56 P56 55 P74 56 P73
57 P57 58 P58 57 P72 58 P71
59 P59 60 P60 59 P70 60 P69
61 P61 62 P62 61 P68 62 P67
63 P63 64 P64 63 NC 64 P65
7
开发板的硬件连接
开发板硬件连接很简单,对开发板无需任何设置.用一条普通串口线(我们在
开发套件中已经提供)连接开发板的9芯D型插头到PC机的串口1(串口2也
可以,只要把后面的超级终端设置成"直接连接到串口2"就可以了).5V电源
连接到串口旁边的电源插口中,这样开发板就连接好了.开发板一端的连接如图
2.1 所示.PC机,开发板,5V电源的连接关系如图2.2所示.
开发板与用户设计的目标系统的关系如图2.3 所示.
开发板有自己的电源,同时可以通过板上的欧式插头,座向用户的应用系统
板供电;开发板也可以通过欧式插头,座供电.但,不要同时用2个电源分别向
开发板和应用系统板供电!用开发板自带的5V电源供电时,整个系统的供电电
流不得超过自带电源的标称供电电流.
注意,在没有熟悉和掌握整个开发环境之前,不要将开发板插到应用系统板
上!
PC机的设置
可以使用PC机中自带的超级终端软件实现PC机与开发板的通讯,虽然PC机自带的超
级终端软件比较慢,很多PC机实际上达不到标称波特率应该达到的速率,即达不到字符间
PC
DP256开发板
串口线
电源5V
图2.2 系统的连接关系
图2.3 将 MC9S12DP256开发板插在应用系统板上
8
最小间隔1个,1.5个,2个停止位的{zg}速率.但使用PC机自带的超级终端软件比较方便,
不必寻找专门的通讯软件.
首先打开超级终端,按如下的顺序点击鼠标,如图2.4所示.
开始-→程序-→附件-→通讯-→超级终端
图2.4 打开超级终端
选择Hypertrm, 得到如图2.5 所示的窗口:
图2.5 Hypertrm 窗口
9
填入名称,这里用MC9S12DP256.选择"确定", 如图2.6所示.这是给与
开发板通讯用的通讯协议文件命名,以后再次使用超级终端时直接点击选定的文
件名或图标即可,不必再次重复下面的设置.
图2.6 给通讯协议文件命名
如果开发板是连接到串口1,就选"直接连接到串口1",如果开发板连接到
串口2,就选"直接连接到串口2".选择"确定",如图2.7 所示:
图2.7 设置使用COM1 或COM2
使用的串行口通讯协议如图2.8 所示,使用9600波特率,8位传送,无奇
偶校验,一个停止位,无流量控制或使用Xon/Xoff协议,并选择"确定"如图
2.8所示:
10
图2.8 设置串口通讯协议
按开发板的S1复位键可以看到如图2.9所示的内容:
图2.9 按开发板上的复位按键得到的用户界面
这样开发板的调试环境就建立起来了.
11第3章 监控程序及监控命令详解
监控程序代码小于4K,放在地址$F000处.它把$FF80的中断向量表移到EF80
处,顺序不变.用户可以使用$EF80处的中断向量表,此中断向量表和
MC9S12DP256手册上的中断向量表顺序相同,只是从$FF80移到了$EF80.监控程
序起来时,如果串口在4秒内没有收到数据,就会检查$EFFE-$EFFF(用户复位
向量表)是否为FFFF,如果不是,说明FLASH中有用户程序.程序自动调转到$EFFE
-$EFFF所指向的用户程序.如果程序起来4秒内串口接到数据或者$EFFE-$EFFF
为$FFFF,则进入DEBUG监控程序.DEBUG监控程序在等待命令时,PORTB口上b0
-b7的8个小灯间隔点亮,但不闪烁.
命令详解
H命令
帮助命令,显示各种命令信息
按"H"按钮看到如图3.1所示的内容:
图3.1 H命令, 显示监控命令表
12
这里"^A"指"Ctrl"键与"A"键同时按下.^A,^B,^X,^Y,^C,^P:分别
为改变A寄存器,B寄存器,X寄存器,Y寄存器,CC寄存器或者PC寄存器的值.
E命令
显示一段内存的内容.按下E键后要填入需要显示的内存的起始地址和终止
地址.然后回车就会显示这一段地址的内容.如图3.2所示:
图 3.2 E命令,显示内存中的内容
M命令 改变RAM内存中的内容.按"M"后填入要改变的RAM内存地址.然后
会显示此RAM内存地址的内容,接着用户可以填入希望改成的内容.如果修
改成功,用户可以修改下一个地址的内容;如果修改失败,显示" ".如
果需要停止修改,直接输入回车就可以了.按"^"键,回到上一个内存地
址,M命令如图3.3所示:
图3.3 用M命令显示和修改RAM内存
P命令 改变FLASH页面寄存器PPAGE的值.按"P"后显示PPAGE寄存器的值.然
13
后用户可以填入希望改成的值.如图3.4所示:
图3.4 显示和修改FLASH页面寄存器PPAGE的内容
F命令
下载程序到FLASH中,可识别S1或S2格式的S19文件.按"F"键后,开
发板上的单片机等待接收来自串行口的数据文件.然后选择"发送" -→"发
送文本文件",找到要下载的*.S19文件,按"打开(O)",这样,就把文件下载
到FLASH中去了,如图3.5所示.注意,文件类型应选"所有文件".
图3.5 用F命令下载应用程序到FLASH中
B命令 擦除FLASH的$4000-$7FFF和$C000-$DFFF两处.FLASH $F000-$FFFF处有
监控程序,受保护.
14
K 命令
首先要用"P"命令选择你想下载的FLASH页,然后"K"命令把程序下载到
这一页中.S19文件中地址为$8000-$BFFF,PPAGE页由"P"命令选择.
O命令
首先要用"P"命令选择你想擦除的FLASH页,然后用"O"命令擦除这一页.
G命令
从PC寄存器的地址处,开始运行程序.
L命令
把程序下载到片内RAM中,也就是$1000-$3FFF处.可识别S1格式的S19
文件.按"L"键后,开发板上的单片机等待接收来自串行口的数据文件.然后
选择"发送" -→"发送文本文件",找到要下载的*.S19文件,按"打开(O)",
这样,就把文件下载到RAM中去了,如图3.5所示.注意,文件类型应选"所有
文件".
S命令
显示堆栈指针SP寄存器中的值,并显示SP地址附近的内容,即堆栈中的内
容.如图3.6所示:
图3.6 用S命令查看堆栈指针和堆栈中的内容
15
R命令
R命令显示所有CPU寄存器的内容.如图3.7所示:
图3.7 用R命令查看CPU寄存器中的内容
Q命令
Q命令可以设置两个硬件断点.设置断点首先要设断点的PPAGE,然后设断点
的地址.如果是$3E,$3F页,地址可以是$4000-$7FFF或$C000-$FFFF之间.程
序运行到断点时程序停止,显示寄存器内容,同时两个断点自动xx,断点模块
被禁止,如图3.8 所示:
图3.8 用 Q命令设置两个硬件断点
16
Z命令
Z命令用于xx断点.Z命令让断点模块禁止,断点xx.
内存0028-002F是硬件断点寄存器.图中可以看出,执行"Z"命令后,硬件断
点寄存器都清零了.
改变波特率
用户可以直接改变波特率寄存器的值选择通讯的波特率.波特率的寄存器地
址为$00c9.默认的值为$9c,对应的波特率为9600.以下是波特率寄存器的值和
波特率的对应关系.
波特率寄存器的值 波特率
$9c 9600
$4e 19200
$27 38400
$1a 57600
$d 115200
改变方法是使用M命令修改地址为$00C9寄存器的内容,如图3.9所示.
17
图3.9 将开发板波特率修改为19200
以上是把波特率寄存器$00c9的值从9c改为4e.由于波特率改变e已经不
能显示出来.然后用户要断开超级终端的连接,把波特率改为19200.然后连接
就可以了.修改PC机的COM1的波特率如图3.10所示, 重新显示波特率寄存器
的内容图3.11如图3.11所示,可以看到新的值$4E.
图3.10 修改PC机的COM1的波特率
图3.11 重新显示波特率寄存器的内容 $4E
复位,中断向量表
MC9S12DP256的中断向量表在存储空间的高地址,从复位向量地址$FFFF开始向
低地址延伸,详细排列见附带光盘上的"MC9S12DP256B Device User Guide"Section 5,Table
5-1,Interrupt Vector Locations.中断向量区从$FF80开始到$FFFF,共可存放64个复位,中
18
断向量.MC9S12DP256用了58个向量,从$FF80到$FF8B的6个没有用.由于监控程序是
从$FF00开始到$FDFF,占用3.5K.为防止在调试过程中反覆地擦除,下载程序过程中误将
监控程序擦除,对$F000到$FFFF的4K空间加了写保护.故中断向量表就得移到没有保护
的区域.在监控程序中,已经将中断向量表中58个中断向量从$FF8C到$FFFD移到$EF8C
到$EFFF.用户只要填写转移了的中断向量表即可,例如,IRQ中断向量本来应该在$FFF2
和$FFF3中,监控程序将其移到$EFF2和$EFF3,故用户使用IRQ中断时只要将中断向量写
到$EFF2和$EFF3就可以了.用户的复位向量可以写在$EFFE和$EFFF,但复位后要等4秒
钟才能运行用户程序.这是因为复位后要先进入监控程序对系统做初始化,然后检查RS-232
口有没有字符输入,若4 秒内没有,则进入用户程序.
用户可以使用的RAM空间
MC9S12Dx236有12K片内RAM,从$1000到$3FFF.MC9S12Dx128有8K片内RAM,
从$1000到$2FFF.监控程序初始化时将堆栈指针初始化到$3FE7,监控程序要占用$3FE8
到$3FFF的24个字节内存空间.用户可以从$1000开始安排要调试的用户程序或数据.
由于对FLASH的擦除和写入期间FLASH是禁止读的,故对FLASH操作的F,B,K
和O命令要将执行这些命令的代码复制到RAM中进行.代码的命令缓冲区从$3FE0开始,
其中F命令代码最长,为323字节($143字节).
系统调用
系统调用是监控程序中可提供给用户使用的子程序.
入口地址 功能 注解
$FE80 热启动地址 回监控程序
$FE83 输入一个字符 由RS232口输入字符,字符在A寄存器中
$FE86 输入一个字符并回显由RS232口输入字符,显示字符,字符在A中
$FE89 检查键盘输入状态 Z标志为1,无字符输入;Z标志为0,有字符输入
$FE8C 输出一个字符 将A寄存器中的ASCII码输出
$FE8F
$FE92
$FE95
19第4章 编译器codewarrior for HCS12 使用方法入门
以下以一个简单的例子说明CODEWARRIOR如何使用.
建立工程文件
安装好codewarrior后,打开codewarrior窗口,点击file,选new,如图
4.1所示:
图4.1 选择new,建立工程文件
然后选择HC12 Stationary,输入工程的名字,例如LED,点击"确定",如
图4.2所示:
20
图4.2 选择HC12 Stationary,并给工程文件命名
选择\legacy\simulator\C Generic 然后点击OK,如图4.3,图4.4,图4.5,
所示: 图4.3 选择Legacy
21
图4.4 选择Simulator
图4.5 选择 C Generic
这样,一个新的工程就建成了.
编写main.c 程序
工程文件生成以后,回看到自动生成的文件系统,如图4.6所示:
22
图4.6 自动生成的文件系统
这个文件系统中最重要的是main.c文件和default.prm文件.main.c是用
户需要开发的应用程序,default.prm文件定义程序的代码区和数据区,与系统
硬件有关.
双击main.c文件,敲入以下代码:
/* LEDS.C example file for Motorola MC9S12DP256 Evaluation Board */
#include
/* port B definitions */
#define PORTB (*((volatile unsigned char*)(0x0001)))
#define DDRB (*((volatile unsigned char*)(0x0003)))
/* Timer TCNT definitions */
#define TSCR1 (*((volatile unsigned char*)(0x0046)))
#define TSCR2 (*((volatile unsigned char*)(0x004D)))
#define TFLG2 (*((volatile unsigned char*)(0x004F)))
#define TCNT (*((volatile unsigned short*)(0x0044)))
int counter;
void TimerOverflow(void) {
/* This function waits for th timer overflow.
Then it changes the LEDs bargraph display */
while (TCNT != 0x0000);
while (TCNT == 0x0000);
counter++;
23
if (counter == 8) PORTB = 0x7e; /* LEDs' lightshow */
if (counter == 7) PORTB = 0xbd;
if (counter == 6) PORTB = 0xdb;
if (counter == 5) PORTB = 0xe7;
if (counter == 4) PORTB = 0xe7;
if (counter == 3) PORTB = 0xdb;
if (counter == 2) PORTB = 0xbd;
if (counter == 1) PORTB = 0x7e;
}
void main(void)
{
TSCR1 = 0x80; /* enable timer TCNT */
TSCR2 = 0x03; /* TCNT prescaler setup */
counter = 0;
DDRB=0xff; /* PTB as output */
PORTB=0xff; /* LEDs off */
for (;;)
{
TimerOverflow();
if (counter >= 8) {
counter = 0;
TSCR2 = 0x05; /* TCNT prescaler switch */
}
}
} 点击SAVE, 如图4.7所示.这是一段让开发板上的小灯闪烁的程序.
24
图4.7 保存源程序
定义存储空间分配
双击default.prm文件会看到如图4.8所示的代码:
25
图4.8 文件default.prm 定义存储空间分配
这里:
MY_RAM是程序的数据区;
MY_ROM是程序的代码区;
VECTOR 0 _Startup表示把单片机的0xFFFE处的复位向量设为这个程序的
入口地址.
注意,如果使用监控程序调试,0xF000到0xFFFF是受保护的,不能擦写,
因为这里是监控程序所在的地方.
文件default.prm可以暂不作改动.
应用程序的编译
点击MAKE按钮,如图4.9所示:
图4.9 用Make命令编译应用程序
点击Make右边第2个图标,即一个绿色的三角和一只小虫,表示Debbug,
可以在PC机上仿真运行该程序.
现在编译完成了,到这个工程所在的文件夹里可以看到,在bin子目录下可
以看到生成了CGeneric.abs.s19 文件,如图4.10,图4.11所示.改变
CodeWarrior软件包中的选项设置,还可以生成列表文件.lst 等,这些功能可
以等到用户熟悉了基本的使用方法后,借助软件包中的help信息,慢慢了解和
掌握.
26
图4.10 LED工程下的文件系统结构
图4.11 生成的.S19目标文件
打开bin文件夹,有一个CGeneric.abs.s19文件,这就是编译的结果.
向开发板下载程序
现在,可以用监控程序的F命令把这个文件下载到单片机中去了.先键入F,
然后按"传送",选"发送文本文件",如图4.12所示:
27
图4.12 在超级终端选项中选"发送文本文件"
找到刚才bin目录下的CGeneric.abs.s19,按"打开(O)".如图4.13所
示.记住,文件类型要选"所有文件(*.*),才能看到.S19文件."
图4.13 向开发板发送bin目录下的.S19文件
这样,用户的程序就下载到单片机中去了.开发板每接收到.S19文件的一
个记录(1行),就把代码写入到FLASH中,并在屏幕上显示一个"*"号,直到
文件传送完,如图4.14所示.
28
图4.14 用F命令向开发板下载程序
运行应用程序
修改程序计数器PC的值,按CTRL+P,输入C029,再键入G命令.如图4.15
所示.这样程序就跑起来了.
图4.15 运行用户程序
这里说明一下程序的入口地址为什么是C029不是C000.这是因为工程是从
START12.C开始执行,然后再执行用户的main.c.这是codewarrior内部规定的.
用户只需要知道就可以了.用户程序的入口地址是用户在default.prm文件中定
义的代码地址加上29.例如default.prm文件定义如下:
/* This is a generic Prm File
If it does not fit your needs, you may adapt it or choose an another
one
in the linker preference panel */
29
NAMES END
SECTIONS
MY_RAM = READ_WRITE 0x1000 TO 0x1FFF;
MY_ROM = READ_ONLY 0x4000 TO 0x7FFF;
PLACEMENT
DEFAULT_ROM INTO MY_ROM;
DEFAULT_RAM INTO MY_RAM;
END
STACKSIZE 0x600
VECTOR 0 _Startup /* set reset vector on _Startup */
则用户入口地址是$4029.
用户可以简化和修改Startup文件,重新定义程序的起始地址.
30第5章 BMD调试器及使用方法
BDM调试器如图5.1所示,单独使用时,需要通过5V电源插座给BDM头供
电.用BDM头调试目标系统时,BDM头可以通过BDM电缆向目标板供电,BDM头
的电源的供给也可以从BMD电缆得到.但,注意,不要同时用2个电源给BDM
头和目标板同时供电.
图5.1 BDM调试器
以下介绍BDM调试器的使用方法.
BDM调试器使用方法
1.和PC机间用普通串口线相连
2.插上5V电源
3.配置超级终端
首先打开超级终端:
开始-→程序-→附件-→通讯-→超级终端
PC机屏幕显示如图5.2所示:
31
图5.2 设置PC机为超级终端
选择用户喜欢的图标样式,如图5.3 所示:
图5.3 选择用户喜欢的图标样式
填入名称,这里用MC9S12DP256,也可以使用任何用户喜欢的名字.如图5.4所
32
示,任何选择"确定".
图5.4填入新建连接的名称
如果开发板是连接到串口1,就选"直接连接到串口1",如果开发板连接到串口
2,就选"直接连接到串口2".如图5.5 所示.然后选择"确定".
图5.5 设置使用哪一个串行口
串行口通讯协议设置成:
通讯速度为 9600 波特率,8位传送,无校验,1个停止位,无硬件流量控制或
使用软件流量控制(Xon/Xoff).注意,不能设置成使用硬件流量控制.
串口设置窗口如图5.6所示,然后选择"确定".
33图5.6 超级终端通讯协议设置
设置BDM头的时钟频率
BDM 实际上是一个9S12单片机系统,它一方面通过RS-232接口与PC机通
讯,另一方面控制目标板,使之能进入BDM方式,并能控制目标板在BDM方式下
运行.初始化BDM头指的是.让BDM头知道目标板的运行时钟频率.如果目标板
使用的是16M外部晶体振荡器,BDM头也要设置成16000K.
按BDM头上的SW-PB复位键会看到以下内容,如图5.7所示:
34图5.7 BDM复位后向超级终端窗口发送的信息
选择1,设置BDM头的工作时钟:
若目标板使用的是16M无源晶振.BDM头应设置成与目标板一致,键入"1"
后,输入16000,目标系统将设置成使用与外部晶振同样频率的16MHz时钟.
另外几个选项意义如下:
2 让目标板复位;
3 重新建立BDM头与目标板的连接;
4 擦除FLASH并解开密码锁(S12系列单片机有FLASH密码锁);
5 BDM调试.
因为此时目标板还没有接上,所以不要选择2,3,4,5选项.
和目标板连接
用户设定1为16000KHZ后,可以把BDM头6针插针和开发板的BDMIN 6针
插座相连了.如图5.8所示:
图5.8 用BDM调试器调试目标系统
注意扁带电缆红色一端为1,要插向开发模块BDMIN 插座的1脚.注意,千
万不要插反.
35
如果此时目标系统有另外的电源供电,要拔掉BDM头上的电源,让目标系统
通过BDM电缆给BDM头供电.否则,BDM头通过BDM电缆给目标系统供电.
回车,进入BDM调试器控制界面.再次按BDM调试器的SW-PB可见到如图9
所示的接上目标板以后的BMD调试界面.这里S> 表示,目标板的CPU12处于Stop
(停止)状态,若出现R> 则表示目标板的CPU12处于Run(运行)状态.
图5.9 接上目标板以后的BMD调试界面
键入"help" 可以看到很多调试命令.如图5.10所示:
36
图 5.10 可以使用的BDM调试命令表
按任意键得到BDM调试器的命令表后半部分,如图5.11 所示:
图 5.11 可以使用的BDM调试命令表后半部分
向FLASH下载程序
键入fload ;b,回车,此时目标板上的CPU12 等待从BDM接收FLASH编程
命令.
点击超级终端的"传送",选择"发送文本文件",如图5.12所示:
37
图5.12 让PC机通过串口向BDM头发送.S19格式文件
在找到要下载的*.s19文件后,按"打开(O)",这样,就把文件下载到单片机中
去了.注意:文件类型选"所有文件".这里用户可以先下载我们提供的"LED.S19"
文件.下载过程中在PC机的超级终端窗口中可以看到显示一连串的"******".
由于FLASH的写入是16位操作,下载时可能会出现出错提示,指出要下载
的.S19文件出现了单字节的情况.解决的办法是,给源文件增加或减少一个字
节(例如增加或减少一个要显示的空格),重新编译产生总数为偶数字节的.S19
文件.
下载完之后用户就可以不需要BDM头进行单板调试了.Debug of dp256的
使用方法,用户可参阅监控程序的用户说明文档.
擦除目标板的片内flash可用fbulk命令, 如图5.13所示:
图5.13 用fbulk 命令擦除目标板的片内FLASH
下面对BDM调试器中最有用的命令进行说明.其他的命令用户可参阅
DB12RG4.pdf.
输入help命令可看到如图5.14所示的内容:
38
图5.14 BDM调试命令表
按任意键可看到剩下的内容,如图5.15所示:
39
图5.15 BDM调试命令表的后一部分
以下列出一些常用的BDM调试命令:
ASM 反汇编命令.后面接反汇编的开始地址.
BAUD 设定BDM通讯的波特率.
BDMDB 进入BDM单步命令模式
BR 设断点.例如 S>BR 4000 38:8000 这是在4000和38页8000处设
两个硬件断点.当程序遇到硬件断点时,会停下来并在BDM控制界
面上显示寄存器的值,此时用户可以改变寄存器的值,按G命令可
以让程序继续运行.
DEVICE 报告目标板上MCU的型号.
G 运行用户程序,如S> G 4000 让程序从 $4000 开始运行.
STOP 让目标板运行着的程序停下来.
T 跟踪与单步执行.例如S>T 2 执行两条指令.
FLOAD 向目标板的flash下载程序.记得要加 ;b参量.没有这个参量下载
的S19文件是线性格式的.
FBULK 擦除目标板的flash.
MDW 以word为单位显示内存内容.例如S>MDW 4000 5000
MD 以byte为单位显示内存内容.
RD 显示寄存器内容.
改变寄存器的内容可直接输入寄存器的名字,再输入改变后的值.例如:
S>A 01 把A寄存器改成01
S>X F000 把X寄存器改成F000
{zh1}需要补充的一点是."S>"表示目标板处于stop状态."R>"表示目
标板的程序正在运行.


郑重声明:资讯 【HCS12 开发工具包_大海拾贝_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——