📄 第八章 dscope for windows使用详解.htm
字号:
<P class=MsoBodyTextFirstIndent><FONT
size=2>支持命令行的输入;</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103223><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">4. </SPAN>观察窗口(<SPAN lang=EN-US>Watch
Window)</SPAN></FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT
size=2>可设置所要观察的变量、表达式等;</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103224><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">5. </SPAN>寄存器窗口(<SPAN
lang=EN-US>Registe Window)</SPAN></FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT
size=2>显示内部寄存器的内容,程序运行次数等;</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103225><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">6. </SPAN>串口窗口(<SPAN
lang=EN-US>Serical Windows)</SPAN></FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT
size=2>显示串口接收和发送的数据;</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103226><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">7. </SPAN>性能分析窗口</FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT
size=2>显示所要观察的各程序段占用<SPAN lang=EN-US>CPU的空间;</SPAN></FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103227><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">8. </SPAN>内存窗口(<SPAN lang=EN-US>Memory
Window)</SPAN></FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT
size=2>显示所选择的内存中的数据;</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103228><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">9. </SPAN>符号浏览窗口(<SPAN
lang=EN-US>Symbol Browser Window)</SPAN></FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT
size=2>显示各种符号名称,包括专有符号,用户自定义符号(函数名、变量、标号)等;</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103229><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">10. </SPAN>调用线窗口(<SPAN
lang=EN-US>Call-Stack Window)</SPAN></FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT
size=2>动态显示当前执行的程序段的函数调用关系;</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103230><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">11. </SPAN>代码覆盖窗口</FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT
size=2>提供当前模块内各程序段中被执行代码的比率;。</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103231><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">12. </SPAN>外围设备窗口<SPAN
lang=EN-US>(peripherals)</SPAN></FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT size=2>可显示<SPAN
lang=EN-US>I/O口,定时器,中断,串口等外围设备状态;</SPAN></FONT></P>
<H2 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103232><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 16pt">第二节 </SPAN><SPAN lang=EN-US>dScope for
Windows基本操作</SPAN></FONT></A></H2>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103233><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">1. </SPAN>指定初始化文件</FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT size=2>在<SPAN
lang=EN-US>uVision的Option菜单dScope
Debugger中指定dScope的初始化文件,用uVision的RUN启动dScope将自动加载此初始化文件,自动执行其中命令;</SPAN></FONT></P>
<P class=MsoBodyTextFirstIndent><FONT
size=2>下面是一个例子,可以看出调入一个调试代码的过程。<SPAN
lang=EN-US>Ds51.ini:</SPAN></FONT></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>load 8051.dll</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>load test</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>slog>>test.log</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>xtal=11.0592</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>define button "go to
main","g,main"</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>ws RevCounter</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>ws rm.r</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>g,main</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>PA RESET</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>PA serial</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>PA timer0</FONT></SPAN></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103234><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">2. </SPAN>观察变量</FONT></A></H3>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><FONT
size=2>方法<SPAN lang=EN-US>1:命令行</SPAN></FONT></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>WS expression [, numberbase ] [ LINE
]</FONT></SPAN></P>
<P class=MsoBodyTextFirstIndent><FONT size=2>其中<SPAN
lang=EN-US>numberbase为显示数制,10对应10进制,16对应16进制,缺省为16进制。LINE为单行显示,缺省为多行显示。</SPAN></FONT></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><FONT
size=2>方法<SPAN
lang=EN-US>2:setup->Watchpoints,在对话框中输入变量</SPAN></FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103235><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">3. </SPAN>显示<SPAN
lang=EN-US>RAM的值</SPAN></FONT></A><SPAN
lang=EN-US><O:P></O:P></SPAN></H3>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>d i(x,d):起始地址,终止地址</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>d 变量名</FONT></SPAN></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103236><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">4. </SPAN>观察堆栈</FONT></A><SPAN
lang=EN-US><O:P></O:P></SPAN></H3>
<P class=MsoBodyTextFirstIndent><SPAN lang=EN-US><FONT
size=2>View->Call-stack->Show
invocation,可以跟踪调用过程;</FONT></SPAN></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103237><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">5. </SPAN>中断处理程序调试</FONT></A></H3>
<P class=MsoBodyTextFirstIndent><FONT size=2>在装入<SPAN
lang=EN-US>8051.dll后,在dScope的主菜单中将增加<U>P</U>eripherial,其有4个字菜单:</SPAN></FONT></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><SPAN
lang=EN-US><FONT size=2>I/0
<U>p</U>ort:Pi端口状态</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><FONT
size=2><U><SPAN lang=EN-US>I</SPAN></U><SPAN
lang=EN-US>nterrupt:中断设置</SPAN></FONT></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><FONT
size=2><U><SPAN lang=EN-US>T</SPAN></U><SPAN
lang=EN-US>imer:定时器中断状态</SPAN></FONT></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><FONT
size=2><U><SPAN lang=EN-US>S</SPAN></U><SPAN
lang=EN-US>erial:串口中断状态</SPAN></FONT></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><FONT
size=2>设置相应的中断请求标志位即可产生中断。</FONT></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103238><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">6. </SPAN>性能分析(<SPAN
lang=EN-US>Performance Analyzer:PA)</SPAN></FONT></A></H3>
<P class=MsoBodyTextFirstIndent><SPAN lang=EN-US><FONT
size=2>PA用来分析一段代码执行占用CPU的百分比。定义:</FONT></SPAN></P>
<P class=MsoBodyTextIndent style="MARGIN-LEFT: 36.75pt"><FONT
size=2>命令行<SPAN lang=EN-US><SPAN
style="mso-spacerun: yes"> </SPAN>PA
func_name</SPAN></FONT></P>
<H2 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103239><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 16pt">第三节 </SPAN><SPAN lang=EN-US>dScope for
Windows命令文件的编制</SPAN></FONT></A></H2>
<P class=MsoBodyTextFirstIndent><SPAN lang=EN-US><FONT
size=2>dScope除了用命令行的方式进行调试以外,还可将各种调试命令汇集于一个调试文件中,然后调用该文件,就可达到自动测试用户源代码的目的。dScope的命令文件支持C/PL/M的格式,因而编制调试命令文件与编制C语言程序有些类似。</FONT></SPAN></P>
<H3 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><A
name=_Toc475103240><FONT size=2><SPAN lang=EN-US
style="FONT-SIZE: 15pt">1. </SPAN>地址空间及地址空间类型</FONT></A></H3>
<H4 style="MARGIN-LEFT: 0cm; TEXT-INDENT: 0cm"><FONT
size=2><SPAN lang=EN-US style="FONT-SIZE: 14pt">(1)
</SPAN>地址空间分段</FONT></H4>
<P class=MsoBodyTextFirstIndent><SPAN lang=EN-US><FONT
size=2>dScope提供的最大可用空间为16M,实际上我们只用以下三段:</FONT></SPAN></P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -