1.10 调试窗口
Keil软件在调试程序时提供多个窗口,主要包括观察窗口(Watch Window)、寄存器窗口(Register Window)、存储器窗口(Memory Window)、反汇编窗口(Disassembly Window)、串口窗口(Serical Window)等。
1)观察窗口(Watch Window) 可在此窗口设置所要观察的变量、表达式等。如果想要观察程序中某个变量在单步工作时的数值变化情况,就在观察窗中按F2键,然后输入变量名,如P10、P11、P12、P13,这样在程序单步执行中就可以看到这些变量的数值,如图1-29所示。
图1-29 观察窗口
2)寄存器窗口(Register Window) 可显示内部寄存器的内容、程序运行次数等,如图1-30所示。
图1-30 寄存器窗口
3)串行窗口(Serical Window) 显示串口接收和发送的数据。
4)性能分析窗口 显示所要观察的各程序段占用CPU的空间。
5)存储器窗口(Memory Window) 显示所选择的内存中的数据,如图1-31所示。通过在“Address”栏输入“字母:数字”即可显示相应的内存值,其中,字母可以是“C”、“D”、“I”和“X”,分别代表代码存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间和扩展的外部RAM空间,数字代表想要查看的地址。例如,输入“D:0”,即可观察从地址0x00开始的片内RAM单元值;输入“C:0”,可以观察从地址0x00开始的ROM单元值,即查看程序的二进制代码。
图1-31 存储器窗口
6)符号窗口(Symbol Window) 显示各种符号名称,包括专有符号、用户自定义符号(函数名、变量、标号)等。
7)堆栈调用窗口(Call-Stack Window) 动态显示当前执行的程序段的函数调用关系。
8)代码覆盖窗口(Code Coverage Window) 提供当前模块内各程序段中被执行代码的比率。
9)反汇编窗口(Disassembly Window) 提供源程序的反汇编码,如图1-32所示。
图1-32 反汇编窗口
10)外围设备窗口(Peripherals) 可显示I/O口、定时器、中断、串口等外围设备状态。