1、选项卡,设置为如图所示:我们主要要确认的是Use Simulator 是否选择(因为如果选择右边的Use ,那就是用ULINK 进行硬件Debug 了,这个将在下面介绍),其他的采用默认的就可以。确认了这项之后,我们便可以选择OK ,退出Options for Target 对话框了。3、接下来,我们点击(开始/停止仿真按钮),开始仿真,出现如图所示界面:可以发现,多出了一个工具条,这就是Debug 工具条,这个工具条在我们仿真的时候是非常有用的,下面简单介绍一下Debug 工具条相关按钮的功能。Debug 工具条部分按钮的功能如图所示:复位:其功能等同于硬件上按复位按钮。相当于实现了一次硬复
2、位。按下该按钮之后,代码会重新从头开始执行。执行到断点处:该按钮用来快速执行到断点处,有时候你并不需要观看每步是怎么执行的,而是想快速的执行到程序的某个地方看结果,这个按钮就可以实现这样的功能,前提是你在查看的地方设置了断点。挂起:此按钮在程序一直执行的时候会变为有效,通过按该按钮,就可以使程序停止下来,进入到单步调试状态。执行进去:该按钮用来实现执行到某个函数里面去的功能,在没有函数的情况下,是等同于执行过去按钮的。执行过去:在碰到有函数的地方,通过该按钮就可以单步执行过这个函数,而不进入这个函数单步执行。执行出去:该按钮是在进入了函数单步调试的时候,有时候你可能不必再执行该函数的剩余部分了
3、,通过该按钮就直接一步执行完函数余下的部分,并跳出函数,回到函数被调用的位置。执行到光标处:该按钮可以迅速的使程序运行到光标处,其实是挺像执行到断点处按钮功能,但是两者是有区别的,断点可以有多个,但是光标所在处只有一个。汇编窗口:通过该按钮,就可以查看汇编代码,这对分析程序很有用。观看变量/堆栈窗口:该按钮按下,会弹出一个显示变量的窗口,在里面可以查看各种你想要看的变量值,也是很常用的一个调试窗口。串口打印窗口:该按钮按下,会弹出一个类似串口调试助手界面的窗口,用来显示从串口打印出来的内容。内存查看窗口:该按钮按下,会弹出一个内存查看窗口,可以在里面输入你要查看的内存地址,然后观察这一片内存的
4、变化情况。是很常用的一个调试窗口性能分析窗口:按下该按钮,会弹出一个观看各个函数执行时间和所占百分比的窗口,用来分析函数的性能是比较有用的。逻辑分析窗口:按下该按钮会弹出一个逻辑分析窗口,通过SETUP 按钮新建一些IO 口,就可以观察这些IO 口的电平变化情况,以多种形式显示出来,比较直观。Debug 工具条上的其他几个按钮用的比较少,我们这里就不介绍了。以上介绍的是比较常用的,当然也不是每次都用得着这么多,具体看你程序调试的时候有没有必要观看这些东西,来决定要不要看。这样,我们在上面的仿真界面里面选内存查看窗口、串口打印窗口。然后调节一下这两个窗口的位置,如图所示:我们把光标放到main.
5、c 的09行的空白处,然后双击鼠标左键,可以看到在09行的左边出现了一个红框,即表示设置了一个断点(也可以通过鼠标右键弹出菜单来加入),再次双击则取消)。然后我们点击,执行到该断点处,如图所示:我们现在先不忙着往下执行,点击菜单栏的Peripherals-USARTs-USART1。可以看到,有很多外设可以查看,这里我们查看的是串口1的情况。如图所示:单击USART1后会在IDE之外出现一个如图所示的界面:图3.4.8(a )是STM32的串口1的默认设置状态,从中可以看到所有与串口相关的寄存器全部在这上面表示出来了,而且有当前串口的波特率等信息的显示。我们接着单击一下,执行完串口初始化函数,
6、得到了如图所示的串口信息。大家可以对比一下这两个图的区别,就知道在uart_init(9600;这个函数里面大概执行了哪些操作。通过图(b) ,我们可以查看串口1的各个寄存器设置状态,从而判断我们写的代码是否有问 题,只有这里的设置正确了之后,才有可能在硬件上正确的执行。同样这样的方法也可以适 用于很多其他外设,这个读者慢慢体会吧!这一方法不论是在排错还是在编写代码的时候, 都是非常有用的。 然后我们继续单击按钮,一步步执行,最后就会看到在 USART #1 中打印出相关的信息, 如 图所示: 图中红色方框内的数据是串口 1 打印出来的, 证明我们的仿真是通过的, 代码运行时会在串 口 1 不停的输出 t 的值,每 0.5s 执行一次。软件仿真的时间可以在 IDE 的最下面(右下角) 观看到,如图所示。并且 t 自增,与我们预期的一致。再次按下 结束仿真。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2