datasheet

Keil精确测量代码运行时间

2019-04-18来源: eefocus关键字:Keil  精确测量  代码运行时间

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


关键字:Keil  精确测量  代码运行时间

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic459093.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:Keil的软件仿真和硬件仿真
下一篇:Keil调试局部变量显示"not in scope"的问题解决

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Keil MDK下如何设置非零初始化变量

       一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备。而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始化变量数据清零。如何设置非初始化数据变量不被零初始化,这是本篇文章所要探讨的。       在给出方法之前,先来了解一下代码和数据的存放规则、属性,以及复位后为何默认非初始化变量所在RAM都被初始化为零了呢。       什么是初始化数据变量,什么又是非初始化数据变量?(因为我的文字描述不一定
发表于 2019-08-01

【STM32F0】Keil 查看局部变量显示

现象: 在进行STM32F0开发的时候出现了,调试代码,添加变量Watch时,显示not in scope。处理方式: 因为代码开了优化的处理,把优化改到Level0,就可以解决问题。
发表于 2019-08-01

STM32F0系列开发之keil安装型号库

编译器:keil其他:keil型号库:https://www.keil.com/dd2/pack/#/eula-container 下拉找到ST的那部分,点右边的下载图标既可以下载,下载好后安装即可。 
发表于 2019-08-01
STM32F0系列开发之keil安装型号库

【STM32】Keil中Debug模式下全局变量的实时查看

在使用Keil开发环境编写stm32程序时我们经常会用到硬件在线仿真的功能,能在watch窗口中看到我们在程序中定义的全局变量。我们希望在程序实时运行中看到变量的变化情况,但有时不能实时查看,原因是软件的设置不对。在Debug模式下,点击菜单栏下的View,在下面有一个Periodic Window update 点一下,选定一下就行了。
发表于 2019-07-31

Keil5 STM32L151pack包的安装

最近工作上需要使用到stm32l151这个芯片,原因嘛就是因为这个芯片成本低,某宝售价2元钱,但是原本使用keil5没有这个芯片的型号选择,于是在官网http://www.keil.com/dd2/pack/#/eula-container 找到了这个系列的pack包,   点击下载即可 下载完成后直接点击安装 然后重启keil软件就会找到需要的那个芯片型号了 刚碰到这个问题的时候在网上找了好久都没有解决,后来去官网上看看文档,才发现这么简单啊,所有啊 !这是一个教训,网上的一些乱七八糟的不能全信,可能会走弯路的。开发的道路坑多慎行啊!!!
发表于 2019-07-31
Keil5 STM32L151pack包的安装

Keil STM32 C++混合编程要点

–C99要去掉 其实到最后,我是放弃了这种C++混合编程的,一开始非常想这样做,这样我的那部分C++代码就可以无缝移植到MFC上了,后来Keil也编译通过了,但是由于上述条件的束缚(第一条OK,第二条也OK,第3条有束缚,即别人想嵌入我的代码,必须也要是cpp文件,别人改完相应后缀名-.cpp后,该文件对应的头文件还有很繁琐的增加第二条所述的代码;第四条也有束缚,–C99有一个特性是,可以在代码中定义变量,而无需在函数开头定义,且可以初始化结构体,如下面的代码片:while(1) {    int key_value = Read_key();}DeviceInfo_TypeDef
发表于 2019-07-31
Keil STM32 C++混合编程要点

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved