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

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

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

推荐阅读

Keil IAR - Cortex M3 调试问题及解决方法(1)

看到一篇文章,转载如下。 其实不光是STM32, 其它芯片甚至其它的IDE 都可参考。STM32调试过程中常见的问题及解决方法一、 在“Debug选项卡”下设置好仿真器的类型后,下载程序时却提示“No ULINK Device found.”解决办法: Keil MDK默认使用ULINK仿真器下载程序,在“Utilities选项卡”下把编程所使用的仿真器改为相应的类型即可。二、 编译工程时提示如下信息:main.axf: Error: L6218E: Undefined symbol __BASEPRICONFIG (referred from stm32f10x_nvic.o).main.axf: Error: L6218E
发表于 2019-05-14

Keil IAR - Cortex M3 调试问题及解决方法(2)

最近又用stm32 和  lm3s 做点协议栈等,把一些调试心得写出来吧,本文可是原创,转载请注明出处。芯片是stm32f103 stm32f107 lm3s9790 lm3s9b90, 开发环境是 keil mdk 4.22  iar arm 6.30.1 stm32 官方库的更新 并不向下完全兼容,其中有他们家的新的芯片不断推出有关。使用库,本人想做了个模板, 可以使用keil 和iar 使用,像官方库一样,只是它文件管理不方便。项目的配置可以抄袭官方的配置,就行了。注意: c 语言代码文件可以完全移植,但是汇编文件如 启动文件却不同,因为编译器不同,而且,官方库升级后,启动文件和底层文件发生了很大的变化
发表于 2019-05-14
Keil IAR - Cortex M3 调试问题及解决方法(2)

Keil IAR - Cortex M3 调试问题及解决方法(3)

上次谈到由于stm32官方库和iar ew arm 的不断升级, 多出配置都发生了 变化,1在使用 ewarm 6.30 升级stm32 stdlib 3.5 出现了这个错误Error(Pe47)   declaration is incompatible with "__interwork__softfp unsigned long __get_PSP(void)", ”declaration “ 说明有文件中定义冲突。查了一下,IAR自己带了CMSIS的库文件,而我们本地工程下也有CMSIS,因此我们选择IAR自带的就没有问题了。步骤如下:Please follow the fo
发表于 2019-05-14

Keil IAR - Cortex M3 Debugging in On-chip SRAM

manual 2.3.3 embedded flash,知道flash的地址从0x0800 0000开始。在调试窗口中看到汇编的地址为0x0800开头,说明代码段烧进了flash。  SRAM下调试方法:1. 将Keil安装目录下D:/Keil/ARM/Boards/Keil/MCBSTM32/STLIB_Blinky的ram.ini拷贝到需要调试的工程目录下,并把需要载入的文件改为需调试工程AXF文件的位置和名称,此处工程为GPIO。 2. 根据reference manual 2.3.1,SRAM的起始地址为0x2000 0000。要将代码段放入SRAM中,必须设置程序只读段从SRAM起始位置开始
发表于 2019-05-14
Keil IAR - Cortex M3 Debugging in On-chip SRAM

8051 - 在keil中添加STC型号的3种方法

【1】数据库替换法(STC官网方法):说明:这个方法最简单,但缺点是在器件选型时,只能选择STC单片机,原来的单片机都没了,让人不爽。操作步骤:先备份KEIL安装目录UV2(或者UV3/UV4)文件夹下面的UV2.CDB(或者UV3.CDB/UV4.CDB)文件,然后用STC官网提供的同名的CDB文件代替。注:没有UV4.CDB的话,可以将“UV2.CDB(或者UV3.CDB)”改名成“UV4.CDB”来使用。 【2】新数据库添加法:说明:另外增加一个单片机数据库,既可以选择STC单片机,又不影响原来数据库的使用。操作步骤:①下载用于keil的STC数据库更名为STC.CDB并拷贝到Keil/UV2目录下。(如果是
发表于 2019-05-14
8051 - 在keil中添加STC型号的3种方法

关于keil调试不能下断点的问题解决

原因其实很简单,keil默认设置的优化等级太高了!需要更改下即可 改成0后,任何地方就都能下断点了对了,改完之后不要忘记编译,完了之后才生效
发表于 2019-05-11
关于keil调试不能下断点的问题解决

小广播

何立民专栏

单片机及嵌入式宝典

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

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