完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
调试笔记–keil 测量周期小技巧
本文参考安富莱专题教程第7期 http://www.armbbs.cn/forum.php?mod=viewthread&tid=87176&extra=page%3D1
WDT定时器默认是给调试器用的,自己最好不要使用。直接看keil的状态栏计时器
例如要测GPIO翻转函数所需时间,在翻转函数前后打上断点,然后右键将t2清零,再点击运行到下一个断点处,然后观察t2时间戳 |
|
|
|
关于使用keil的Event Recorder中间件测量
Event Recorder中间件支持时间和功耗测量,printf打印,及keil其他中间件的调试,是keil专门用于调试的组件。其原理简单来说就是将一些调试信息以固定的格式存放在RAM中,然后通过调试器找到并读取RAM中固定格式的数据,通过keil的界面组件显示出来。因此使用Event Recorder中间件需要修改代码,并且需要占用一定的RAM空间。
如果网不好,可以通过 http://www.armbbs.cn/forum.php?mod=viewthread&tid=96992&highlight=pack 镜像下载后,自行安装
并添加一下代码进行初始化组件 #include "EventRecorder.h"/* 初始化 EventRecorder 并开启 */EventRecorderInitialize(EventRecordAll, 1U); |
|
|
|
计时API其实就是将DWT计时器的时钟数以固定格式存放到RAM中//参数 slot范围 0-15 共16个计时通道EventStartA(slot);/* 要测量的代码 */EventStopA(slot); ps:这个功能受调试器功能影响,虽然dap、jlink都可以用,但是实测发现dap有时不能实时检测,不过Event Recorder中间件还带printf功能,并且keil其他中间件例如RTX5或者FREERTOS都有配套的Event Recorder文件,非常方便调试OS(可以获取OS堆栈情况,任务切换情况等信息) |
|
|
|
只有小组成员才能发言,加入小组>>
2554 浏览 0 评论
1153浏览 2评论
752浏览 1评论
505浏览 0评论
269浏览 0评论
435浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 10:21 , Processed in 1.440165 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号