[技术问答] 调试问题

[复制链接]
905|11
 楼主| 小糖人 发表于 2018-7-25 14:02 | 显示全部楼层 |阅读模式
KEIL调试的时候,该怎么调出来程序运行时间这个参数。 COTEX-M0的内核。
zhuomuniao110 发表于 2018-7-25 14:20 | 显示全部楼层
断点,想看什么时候的,就把那个位置设置个断点。
 楼主| 小糖人 发表于 2018-7-25 14:28 | 显示全部楼层
zhuomuniao110 发表于 2018-7-25 14:20
断点,想看什么时候的,就把那个位置设置个断点。

设置断点  单步运行我都懂。  请问怎么调出来运行时间这个参数,DEBUG时右下角的时间选项也不走。网上看了其他设置方法,在TARGET里没有找到对应的TRACE  选项。
zhuomuniao110 发表于 2018-7-25 14:32 | 显示全部楼层
小糖人 发表于 2018-7-25 14:28
设置断点  单步运行我都懂。  请问怎么调出来运行时间这个参数,DEBUG时右下角的时间选项也不走。网上看 ...

你想看执行用了多久啊,这个要看你查看哪儿到哪儿了,这个好像只能再设置个计时器了。另外debug软件调试下,你看到时间应该也不会太准吧。
 楼主| 小糖人 发表于 2018-7-25 14:50 | 显示全部楼层
zhuomuniao110 发表于 2018-7-25 14:32
你想看执行用了多久啊,这个要看你查看哪儿到哪儿了,这个好像只能再设置个计时器了。另外debug软件调试 ...

看个大概就成了,就是那个计时器在KEIL里面怎么设置的。能否赐教一下,芯片是新唐的CORTEX-M0的。
dongnanxibei 发表于 2018-7-25 17:10 | 显示全部楼层

在工程设置中“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”的值就是目标行程序的运行时间。


dongnanxibei 发表于 2018-7-25 17:10 | 显示全部楼层
你试试上面的方法。
稳稳の幸福 发表于 2018-7-25 18:43 | 显示全部楼层
上面方法如何,靠谱吗,测的跟实际结果一样吗
mintspring 发表于 2018-7-25 20:22 | 显示全部楼层
上面方法就是的了
幸福小强 发表于 2018-7-26 15:34 | 显示全部楼层
测的效果如何,跟实际一致吗
静听风易 发表于 2018-7-26 17:00 | 显示全部楼层
dongnanxibei 发表于 2018-7-25 17:10
在工程设置中“Debug”下,选右边硬件仿真,点下拉框选“J-LINK/J-TRACE”,再点“Setting”
在弹出窗口中 ...

不错,学习了,完了也试验下你的办法。
萧洛毫 发表于 2018-7-27 10:58 | 显示全部楼层
dongnanxibei 发表于 2018-7-25 17:10
在工程设置中“Debug”下,选右边硬件仿真,点下拉框选“J-LINK/J-TRACE”,再点“Setting”
在弹出窗口中 ...

这个办法不错,就是图片刷新不出来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

31

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部