Uvision 命令文档格式.docx
- 文档编号:18990412
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:13
- 大小:24.84KB
Uvision 命令文档格式.docx
《Uvision 命令文档格式.docx》由会员分享,可在线阅读,更多相关《Uvision 命令文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
将S1IN和S1OUT寄存器分配给串口窗口
μVision2支持以下串口:
WIN,COM1,COM2,COM3,和COM4。
其中,WIN是串口窗;
COMx频道代表PC机串口,可以用之与仿真单片机和目标系统通信。
ASSIGN命令不能用于μVision2调试器与硬件设备通信时的目标模式。
2.BREAKDISABLE命令breakenable命令关闭可开启断点
BREAKDISABLEnumber,number…
关闭,但不删除指定的断点。
Numbers是定义断点时指定的序号。
BD0
关闭一个前面设定的断点。
当运行到断点时,μVision2通常会停止程序执行或执行一条指定的命令,关闭一个断点并不表示该断点被删除,而是使软件执行目标程序时忽略该断点。
BREAKDISABLE*
关闭所有断点
BD*
备注
带下划线的字母为该命令的简写
BREAKENABLE number,numberBREAKENABLE*,开启由breakdisable关闭的断点,描述同breakdisable
3.BREAKLIST命令
显示断点
BREAKLIST
列举出所有断点
BL
0:
(EC:
0xFF01EF)'
main'
CNT=1,enabled
1:
(C)'
sindex==8'
2:
(ARD0x000037)'
READinterval.min==3'
3:
(AWR0x000034)'
WRITEsavefirst==5&
&
acc==0x12'
CNT=1,enabled
格式说明
Number:
――断点索引号;
type――断点类型,可以是执行断点(e:
紧跟着地址),条件断点(c),或存取断点(a:
紧跟着“rd”表示读,“wr”表示写,“rw”表示读写,后跟地址);
expression――断点定义的原始文字;
count――断点通过次数。
如果count等于2时,μVision2在第2次运行到该断点时停止程序运行或执行指定指令;
enable_flag――显示为enabled时表示是一个开启的断点,显示为disabled为一个关闭的断点;
command――当程序执行到断点时执行的命令。
菜单操作
可以在主菜单的Debug–Breakpoints….打开该对话框
4.Breakkill命令删除由BREAKSET命令定义的断点
BREAKKILLumber,number…
删除指定的断点
BK0,1
删除断点0,1
BREAKKILL*
删除所有断点
BK*
5.BRAKSET命令在指定的指令设置一个断点
BREAKSETexp,cnt,"
cmd"
设置一个执行或条件断点
BStimer0,10,"
MyRegs()"
BREAKSETREADexp,cnt,"
设置一个读断点
BSREADinterval.min==3
BREAKSETWRITEexp,cnt,"
设置一个写断点
BSWRITEsavefirst==5&
acc==0x12
BREAKSETREADWRITEexp,cnt,"
设置一个读写断点
指定参数及含意
Exp――指定地址,或由μVision2在运行时计算的表达式。
Cnt――断点通过次数,缺省为1。
Cmd――命令字符串。
指定μVision2在发生断点时执行的命令。
当不指定命令时,在断点发生时,Vision2停止程序运行。
当指定了命令后,Vision2会执行这条命令,但目标程序并不停止运行。
命令可以指定一个Vision2用户或信号功能,你也可以将_break_变量设为1,以停止程序运行。
断点类型
执行断点――仅仅指定地址,断点为执行断点。
当运行到指定的代码地址时,执行断点停止程序运行或执行一条命令。
执行断点不影响执行速度。
代码地址必须是一个指令的第一个字节的地址。
如果将执行断点设置在一条指令的第二或第三个字节的地址上,断点将永不会发生。
只能对一个代码地址设置一个执行断点,不允许多重定义。
条件断点――当表达式不能精减为地址,断点为条件断点。
当达到指定的条件时,条件断点停止程序运行或执行一条命令。
每执行一条指令都会重新计算一下条件表过式,因此,程序执行速度会受到影响,其程度取决于条件表达式的复杂度。
条件断点的数量也影响程序的执行速度。
条件断点最具灵活性,因为有多个选项的条件可以通过表达式计算产生。
存取断点――当指定了存储器存取模式为READ、WRITE或READWRITE时,这个断点就是一个存取断点。
存储器存取断点是指当一个指定地址被读、写或读写状态时,程序停止运行或执行一条特殊的命令。
存储器存取断点对程序执行的速度影响不大,因为只有存取指定地址时,才进行指定的操作。
表达式必须仅由存储器地址和类型组成,以下是存取断点使用的一些规则:
1.一个存取断点的表达式必须只指定一种存储器类型。
表达式不允许指定多个对象。
2.存取断点表达式仅允许使用&
&
<
=,>
>
=,==,and!
=操作符。
断点设置示例
1.>
BSmain//设置一个在主程序地址的执行断点//2.>
//在timer0程序地址的执行断点,执行到第十次时,断点才发生,并执行命令MyRegs(),在命令执行完后程序继续运行//3.>
BSsindex==8//基于sindex变量的条件断点。
当sindex等于8时,程序停止运行//4.>
BSsave_record[5].time.sec>
8,3//设置了一个基于save_record数组变量的条件断点。
当第三次执行到save_record[5].time.sec大于8时,程序停止运行//5.>
BSREADinterval.min==3//设置了一个基于interval.min变量READ模式的存取断点。
当interval.min等于3时,程序停止运行//6.>
acc==0x12//设置了一个基于savefirst变量WRITE模式的存取断点。
当savefirst被赋值,并等于5以及累加器acc等于0x12时,程序停止运行//
COVERAGE命令显示μVision2调试器的代码运行覆盖情况
COVERAGE
显示整个应用程序的运行覆盖情况。
coverage
COVERAGE\module
显示选择的模块的运行覆盖情况。
coverage\mod1
COVERAGE\module\func
显示模块中func函数的运行覆盖情况。
coverage\mod1\set_led_buf
相应的菜单命令
在主菜单的View-CodeCoverageWindow..项可打开该窗口。
显示示例
\\led8155\MOD1\SET_LED_BUF-0%of28instructionsexecuted
DEFINE命令可以创建一个带类型的变量,这个变量可以赋值
DEFINEtypeidentifier
按指定类型定义一个名叫identifier变量。
DEFINECHARTmpByte/*定义TmpByte为字符型变量*/
DEFINEFLOATTmpFloat/*定义TmpFloat为浮点型变量*/
TmpFloat=3.14159/*给TmpFloat赋值*/
用DEFINE命令创建的变量并不占用仿真或目标CPU的存储器。
它们只不过是指
定类型的数值的符号名。
用DEFINE命令创建的变量可以象其他公用变量一样使
用。
DEFINEBUTTON"
label"
cmd"
定义一个工具箱按钮。
Label-分配给按钮的名称
Cmd-μVision2命令或分配给按钮的命令。
clrdptr"
"
dptr=0"
showr7"
printf(\"
R7=%02XH\n\"
R7)"
注意:
格式字符串中的双引号必须使用\"
符号来跳出,否则会引起语法错误。
变量类型
CHAR――带符号的字符型(signedchar).DOUBLE――双精度浮点型(double).FLOAT――单精度浮点型(float).INT――带符号的整型(signedint).LONG――带符号的长整型(signedlong).
菜单命令
在主菜单View–Toolbox项可打开工具箱
DIR命令显示各种类型的符号变量
语法、说明
DIR
显示当前模块的变量名称。
DIR\module
显示指定模块的变量名称。
\module显示指定模块或函数的变量名称
DIR\moduleLINE
DIR\module\funcLINE
显示指定模块或模块中某个函数的行号信息。
\moduleLINE显示指定模块或函数的行号信息
DIR\module\func
显示模块中func函数的变量。
\module\func显示指定模块或函数的变量名称
DIRBFUNC
显示所有预定义的μVision2函数的名称。
BFUNC显示所有预定义的μVision2函数的名称。
这些函数总
是保持有效,不能删除和重定义。
DIRDEFSYM
显示用DEFINE命令创建的变量
DEFSYM显示用DEFINE命令创建的变量。
使用这个选项,允许显示由'
DEFINE<
type>
<
name>
'
命令创建的变量。
DIRFUNC
显示所有μVision2函数的名称
FUNC显示所有当前定义的μVision2函数的名称和原型。
包括:
预定义的函数、用户定义的函数和信号函数。
μVision2函数和你的目标程序中的函数是不一样的。
DIRLINE
显示当前模块的行数。
LINE显示指定模块或函数的行号信息。
DIRMODULE
显示目标程序的所有模块名称
MODULE在已载入目标程序条件下,显示目标程序的所有模块名称。
DIRPUBLIC
显示所有全局变量的名称
PUBLIC显示所有全局变量的名称。
这些变量在汇编语言中带有PUBLIC属性。
非静态的C变量也归于全局变量一类。
DIRSIGNAL
显示用户定义的信号函数的名称
SIGNAL显示信号函数的名称。
信号函数是用户函数,用于在背景运行。
用信号函数产生port的输入。
DIRUFUNC
显示用户定义函数的名称。
UFUNC显示所有用户定义函数的名称。
用户函数即为用户定义的函数。
DIRVTREG
显示当前CPU支持的引脚寄存器的名称
VTREG显示当前CPU支持的引脚寄存器的名称。
DISPLAY命令在存储器窗口(如果已打开的话)或命令窗显示一定段地址的存储器内容
DISPLAYstartaddr,endaddr
在存储器窗口(如果已打开的话)或命令窗显示从地址startaddr到地址endaddr范围存储器的内容。
Dmain
显示从main函数开始的数据
DX:
0,0x100
显示256字节的外部存储器数据
Dsave_record,save_record+0x2F
显示48单元内容
对8051和251类型的单片机,地址必须加前缀以指定存储器类型。
以下列出所有的存储器类型。
例如。
X:
0x0000指的是外部数据存储区XDATA的地址0x0000地址。
存储器类型说明
B位寻址RAM存储器(BIT).C代码存储器(CODE).CO常量存储器(251CONST).D8051内部直接寻址RAM存储器(DATA).EB扩展位寻址RAM存储器(251EBIT).ED扩展内部直接寻址RAM存储器(251EDATA).HC海量常量存储器(251HCONST).I8051内部间接寻址RAM存储器(IDATA).X外部数据存储器(XDATA).
相应菜单
主菜单中的View–MemoryWindow菜单项打开存储器窗口,显示其内容。
ENTER命令可以改变从指定地址开始的存储器内容
ENTERtypeaddress=expr,expr…
用指定数据类型的表达式(expr)改变在地址address的内容。
ECHARx:
0=1,2,"
-μVision2-"
输入字母
EFLOATx:
0x2000=3,4,15.2,0.33
输入浮点数
可以指定多重表达式,由逗号("
"
)隔开,表达式被转换成指定的数据类型,并保存在存储器中。
类型说明
CHAR有符号或无符号字符型。
DOUBLE双精度浮点型。
FLOAT浮点型。
INT有符号或无符号整数。
LONG有符号或无符号长整数
Esc
当你在命令窗键入Esc命令时,μVision2停止运行目标程序。
在停止目标程序后,寄存器窗口、变量监视窗口、反汇编窗口以及其它窗口会被更新以反应最新的CPU状态。
注:
不可在exec预定义函数中使用Esc命令。
要在一个调试函数停止程序运行,可以设系统变量_BREAK_为1。
EVALUATE命令计算指定的表达式
EVALUATEexpression
使用decimal,octal,HEX,和ASCII格式显示表达式的结果。
eval-1
16777215T77777777Q0xFFFFFF'
....'
eval'
a'
+'
b'
c'
294T446Q0x126'
...&
EVALUATE命令计算指定的表达式,并用decimal,octal,HEX和ASCII格式显示出结果。
不带EVALUATE命令输入表达式仅以当前的数字格式显示,当前的数字格式要由RADIX系统变量选择。
表达式可以包含几个子表达式,由逗号隔开。
EXIT命令停止μVision2调试器模式
EXIT停止μVision2调试器模式。
这个命令不允许作为exec函数的参数。
GO命令使μVision2你的目标程序
GOstartaddr,stopaddr
从指定的startaddr(如果指定的话)开始运行程序,运行到stopaddr(如果指定的话)。
G,main
从当前程序计数器开始运行,到"
main"
停止
G
从当前程序计数器开始运行,使用Ctrl+C或断点停止运行
键入命令后,程序将从startaddr开始运行。
如果没有指定startaddr,则从当前程序计数器开始运行。
目标程序停止在stopaddr地址上。
如果指定stopaddr,μVision2会在这个地址设置一个临时断点,在程序停止时会删除该断点。
如果没有指定stopaddr,
目标程序只在运行到一个断点或在点击调试窗口的停止按钮才会停止运行。
目标程序停止运行后,寄存器、监视窗、调试窗口和其它窗口会更新以反映当前CPU状态。
注意
当使用条件断点时,μVision2必须在每运行一条指令后判断断点条件。
因此,即使用GO命令开始运行,μVision2也是采用单步模式运行目标程序。
INCLUDE命令指定一个文件,并从文件中按行读出命令让μVision2执行
INCLUDEpathfilename
打开文件filename,并读取文件或按μVision2命令操作该文件。
INCLUDEmeasure.ini
例如,你可能想创建一个INCLUDE文件,并使用该文件进行一系统操作:
载入目标程序,并运行到main函数停止,创建一个工具箱按钮,创建几个用户函数。
必须使用INCLUDE命令停止目标程序的运行。
KILL命令可以删除前面定义的工具箱按钮和μVision2函数
KILLBUTTONnumber
删除一个工具箱按钮。
KILLBUTTON3
删除3号工具箱按钮
KILLFUNC*
删除所有μVision2函数。
删除所有用户函数
KILLFUNCfunction_name
删除名为function_name的μVision2函数。
KILLFUNCANALOG
删除用户函数"
analog"
KILLFUNC*命令删除所有前面定义的μVision2函数,但不会删除预定义μVision2函数。
TheKILLFUNC命令删除指定名称的μVision2函数或信号函数。
KILLBUTTON命令删除前面定义的工具箱按钮,当使用该命令时,必须指定需删除按钮的序号。
序号显示在工具箱窗口每个按钮的前面。
LOAD命令可以让μVision2调试器载入指定的一个文件
LOADpathfilename
NOCODE
载入一个绝对目标文件(absoluteobjectfile)或IntelHEX文件。
NOCODE指引μVision2仅载入符号信息,忽略代码记录。
除先前已载入监控器(MON51,MON251,或MON166)的CPU驱动情况外,NOCODE的功用只是相对的。
LOADMYPROG.HEX
这个载入命令行myprog.hex文件
LOADC:
\KEIL\C51\EXAMPLES\MEASURE\MEASURE
载入measure文件
你可以在μVision2调试开始运行时就载入当前项目的目标文件,只需OptionsforTarget–Debug对话框中选中LoadApplicationatStartup选项。
LOG命令可以创建、添加、检查状态和关闭一个日记文件
LOG>
pathfilename
创建一个名为filename的日记文件。
命令窗口的输出将写入该文件。
C:
\TMP\dslog
创建一个日记文件
打开一个已存在的名为filename的日记文件,并添加日记信息。
如果该文件不存在,将创建文件。
命令窗口的输出将添加到该文件中。
LOG
显示日记文件状态
LOG
查询日记文件状态
LOGOFF
关闭日记文件
LOGOFF
关闭日记文件
显示在命令窗口的输出会拷贝到日记文件。
文件名可以指定驱动器号和路径。
文件可以是一个字符串,如:
c:
\usr\tmp\logfile。
MAP命令定义程序需要使用,但μVision2不会自动检测的存储器。
MAP
显示当前存储器映射
MAPstart,endREADWRITEEXECVNM
按指定的存取方式映射指定的存储器段(start-end)。
MAPstart,endCLEAR
清除一个存储器段映射
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Uvision 命令