Keil精确测量代码运行时间
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qlexcel/article/details/56281667
在工程设置中“Debug”下,选右边硬件仿真,点下拉框选“J-LINK/J-TRACE”,再点“Setting”
在弹出窗口中“Debug”下,选“JTAG”或“SW”,在后面选好下载速率。
点到Trace”标签下,如果是选择的“SW”
则勾选“Enable”选项,在“Core”框中输入MCU实际工作时钟频率(就是单片机以什么频率来执行指令的,MDK会用它来计算时间),再勾选“Autodetect max SW0 Clock”
如果是选择的“JTAG”,
先勾选“Enable”,在“Core”中设好时钟频率,最后去掉刚才勾选的“Enable”
因为“JTAG”模式不支持“Trace”功能,不把“Enable”去掉,仿真会报错。
接下来点进入仿真,界面右下角就会有时间窗口
鼠标放在上面右键点击,就会有:
上面两个是复位“t1”和“t2”的,下面3个是选择在状态栏上显示哪个时间。
“t0”表示程序开始运行到现在的时间,是不能复位的。另外两个可以随便复位,就可以用来测具体某一个函数或某一行程序的运行时间。
具体操作为:在要测试的代码前加一个断点,当程序运行到目标行时会停下,然后复位“t1”或“t2”,并在下一行代码前加断点,然后继续运行程序,程序会停在下一行代码前,这个时候“t1”的值就是目标行程序的运行时间。