历史上的今天
返回首页

历史上的今天

今天是:2024年10月06日(星期日)

2018年10月06日 | STM32_在线调试查看硬件程序运行时间的两种方法

2018-10-06 来源:eefocus

方法一:

为了保证在MDK中读取正确的程序运行时间,必须对仿真器的跟踪项进行设置。 

以ULink2为例(如果使用的是J-LINK下载器或者ST-link下载器 原理一样,可做类比):

 

(1)在工程的“ Option  for Target ..”目标选项界面中,选择标签“Debug”,进行调试设置界面,选择使用“Cortex-M3-ULIK2”作为仿真器,然后点击右侧的“Settings”按键,进入ULINK设置界面。

 STM32_在线调试查看硬件程序运行时间的两种方法


(2)点击标签“Trace”进入跟踪设置界面,将“Core  Clock:”右侧的编辑区输入你的CPU的频率,例如你的实际CPU运行频率为72MHz,那么你就必须输入72Mhz。 

(3)“Core  Clock”的值决定MDK以什么频率来计算指令周期,因为“Core  Clock”的默认值为10MHz,因此如果不修改这个值的话,MDK计算每条指令的运行时间是按10MHz频率来计算的。只有修改为实际使用的频率值,才能得到正确的指令周期。

  (我用的是芯片型号: stm32f100CB  它的系统时钟为24MHZ,所以这里填写24Mhz,大部分的stm32F10x系列都能通过PLL跑到72Mhz,这里可以自行修改)

STM32_在线调试查看硬件程序运行时间的两种方法


(4)点击kei 调式功能,可在Keil调试界面的左边栏,看到Proect Workspace下的Internal 看到sec即是时间,执行断点调试,即可计算时间了。

开始 执行写flash 前: 注意时间为Internal ->sec :2.13051933

 执行完flash 写命令后,注意时间为Internal ->sec :2.15888279

比较一下前后差值: 即为写flash的时间:0.02836346s= 28.3546ms !!!

STM32_在线调试查看硬件程序运行时间的两种方法


方法二:通过示波器查看;(我用JTAG 没有实时跟踪语句执行时间,可以用这种方法)

在测试语句先后加上 置位某一管脚 电平的方法 ,通过设置断点,示波器捕捉 高电平 的持续时间---如下图 代码部分

STM32_在线调试查看硬件程序运行时间的两种方法


推荐阅读

史海拾趣

AEL [AEL Crystals Ltd]公司的发展小趣事

AEL Crystals Ltd公司成立于1960年,最初专注于石英频率控制元件的研发与生产。在创立初期,公司面临着技术挑战和市场竞争的双重压力。然而,凭借创始人的远见卓识和团队的不懈努力,AEL Crystals逐渐在石英频率控制领域站稳了脚跟。公司通过持续改进生产工艺和提高产品质量,逐渐赢得了客户的信任和支持。

ETC公司的发展小趣事

北京速通科技有限公司(以下简称速通科技)作为ETC行业的领军企业,其创立之初就专注于电子不停车收费系统(ETC)的研发与应用。随着国内交通拥堵问题的日益严重,速通科技看到了ETC系统在未来交通管理中的重要地位。公司组建了一支由行业专家和技术精英组成的团队,开始了ETC技术的探索之路。

Embedded Planet公司的发展小趣事

Embedded Planet公司始终关注社会责任的履行。公司积极参与公益事业和慈善活动,为社会做出了积极贡献。例如,公司捐赠了一批嵌入式系统设备给偏远地区的学校和教育机构,帮助他们改善教学条件和提高教育质量。此外,公司还积极参与环保和扶贫等公益活动,用实际行动践行企业的社会责任。

请注意,以上故事仅为示例,并非真实发生的事件。如果您需要更详细和具体的信息,建议您查阅Embedded Planet公司的官方网站或相关新闻报道。

CoolerMaster公司的发展小趣事

1992年,台北的一间出租屋内,林仁政凭借对电脑硬件的深厚理解与直觉,创立了讯凯国际股份有限公司,即现今广为人知的Cooler Master。初期,公司以生产个人电脑用散热器起家,目标明确——提供业界最好的散热方案。在没有资金、没有支持的情况下,林仁政独自完成了品牌的创建、日常事务的处理以及工作进程的管理。他的坚持与努力,使得Cooler Master逐渐在市场中站稳脚跟,开启了其在散热领域的传奇之旅。

Hama公司的发展小趣事

为了提升产品的市场竞争力,H&D Wireless积极寻求技术合作。20XX年,公司与全球领先的微控制器解决方案提供商爱特梅尔(Atmel)携手,共同推出了基于AVR®微控制器的IEEE802.11b+g Wi-Fi解决方案。这一合作不仅提升了H&D Wireless产品的功耗效率和连接稳定性,还显著缩短了客户的产品开发周期。通过不断优化产品性能,H&D Wireless的Wi-Fi解决方案在市场上获得了广泛认可。

DCD [Digital Core Design]公司的发展小趣事

在市场竞争日益激烈的情况下,DCD公司意识到单打独斗难以取得更大的发展。因此,公司开始寻求与其他企业建立战略合作关系。通过与上下游企业的紧密合作,DCD公司实现了资源共享和优势互补,进一步提升了自身的竞争力。同时,公司还积极参与行业标准的制定和推广工作,为行业的健康发展贡献了自己的力量。

问答坊 | AI 解惑

秀一下论坛送的NXP的小音箱

小音箱不错!刚拿到音箱就迫不及待的给它照了几张!! 下面上图: 在用的时候还会还有彩灯闪烁!! 还有时钟,闹钟! 很不错!继续努力!!…

查看全部问答>

windows 编程 关于无线上网 端口号的 问题?

我们现在需要建立一个 100个节点的无线网络, 这 100 个节点中有97个是现场的 无线数据模块,通过手机卡实现 无线上网,3个节点 是数据中心,分别接有一台 PC机(此PC机为固定IP), 然后 这97个 无线模块 分别 向一台 PC机发送数据. ...…

查看全部问答>

求助:三星k9f2g08uom 驱动问题

谢谢关注! 我使用的板子是friendly arm 的micro2440a,因为要做nand boot启动,需要开发k9f2g08uom(每页2048byte,2048 block,每块64页)的驱动,目前碰到两个问题: 1,程序烧写不正确。使用sjf2440 软件烧写,然后读出,发现部分数据烧写部分不 ...…

查看全部问答>

CE5 CEidt OnChar函数不响应

事情是这样的, 我原来在ce4.2上做的程序,对edit输入有限制,限制的方法是重载CEdit为CImputEdit类,在其中重载OnChar, 在把使用限制的edit定义处改为CImputEdit;是限制成功的. 现在我把程序拿到ce5上运行,发事Onchar函数没进去,,,,, 但退格等有些 ...…

查看全部问答>

keil c 编程方面的问题 跪请好心人帮忙 100分酬谢是小 大恩难忘

我要用keil c 编一个火灾报警的程序。用的探测器是感温、气体探测器,就是检测到温度或着某种气体(像CO)超标后,蜂鸣器发出报警,LED背光、休眠指示灯闪烁。硬件有MCU,串口,键盘,锁存、地址,外扩RAM,蜂鸣器,背光、休眠指示灯,滤波电路,液 ...…

查看全部问答>

wince USB摄像头驱动

我现在在写wince 下的USB摄像头驱动。开发板是S3C2410,摄像头是中星微301p.在网上看了很多资料,但是写出来的还是有问题。我已经把ZC0301P.dll,ZC0301P.reg,Platform.bib,放在了移动设备的windows下面。每次把摄像头插上去,就提示“输入此USB设 ...…

查看全部问答>

求一crc16校验源码

急啊,急啊, 帮帮我吧…

查看全部问答>

嵌入式怎么学啊?没人教我的 只能自己自学的 (在线等)

我是专科的   快大三了   熟悉C语言和汇编   对系统底层和linux下的API编程比较了解   看过一个小的linux原码(0.11)的那个 想转学嵌入式但不知道怎么入手 学嵌入式要开发板的吧   那个ARM9 ...…

查看全部问答>

试用报告5-实现报告

经过前几期的了解,我已经实现了初步的人脸检测 同时试用板子也到期啦。。。哈哈   我实现了人脸图像的采集和处理 待会会在附件中上传我采集的图像!     下面我就介绍一下我的软件实现过程:     但是我这图片 ...…

查看全部问答>

STM32的低功耗唤醒问题

最近的一个STM32的应用需要进入低功耗,结果碰到一个问题很奇怪,流程如下: 1)通过WFI进入SLEEP模式,然后通过Systick来唤醒 2)通过调用库函数(如下)进入STOP模式,然后由外部电路通过一个外部中断引脚唤醒;唤醒后,重新初始化HSE和PLL ...…

查看全部问答>