前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mdk平台下,cm3内核单片机使用event recorder,测试函数运行时间及printf打印

mdk平台下,cm3内核单片机使用event recorder,测试函数运行时间及printf打印

作者头像
用户4645519
发布2022-05-09 20:18:01
5890
发布2022-05-09 20:18:01
举报
文章被收录于专栏:嵌入式学习嵌入式学习

参考:

https://www.keil.com/pack/doc/compiler/EventRecorder/html/SCVD_Format.html

https://www.keil.com/support/docs/4012.htm

https://www.keil.com/pack/doc/compiler/EventRecorder/html/er_use.html#place_uninit_memory

0、特点

1.2.1 Event Recorder 的特色 Event Recorder 的特色主要有以下几点: 1. 提升应用程序动态执行期间的检测能力。 2. 支持的事件类型滤除机制,比如运行错误,API 调用,内部操作和操作信息的区分。 3. 可以在任务中,RTOS 内核中和中断服务程序中任意调用。 4. 对于带 ITM 功能的 Cortex-M3/M4/M7/M33 内核芯片,执行记录期间,全程无需开关中断操作。 对于不带 ITM 功能的 Cortex-M0/M0+/M23,是需要开关中断的。 5. 支持 printf 重定向。 6. 各种 link 通吃,支持 SWD 接口或者 JTAG 接口方式的 JLINK、STLINK、ULINK 和 CMSIS-DAP。 7. 对于带 DWT 时钟周期计数器功能的 Cortex-M3/M4/M7/M33 内核芯片,创建时间戳时,可以有效 降低系统负担,无需专用定时器来实现。 8. Event Recorder 执行时间具有时间确定性,即执行的时间是确定的,而且执行速度超快,因此,实 际产品中的代码依然可以带有这部分,无需创建 debug 和 release 两种版本。 9. RTX5 及其所有中间件都支持 Event Recorder 调试。

============================================摘录自安富莱电子

1、最好使用比较新的cmsis库,否则添加event recorder将无法编译通过

2、rte设置如下:

3、sct文件开辟一个NOINIT的sram区域,不开辟好像也可以,官网教程是开辟的。

4、初始化,记得添加头文件

代码语言:javascript
复制
void event_record_init(void)
{
    EventRecorderInitialize(EventRecordAll, 1U);
    EventRecorderStart();
}

5、添加测试时间代码,如下所示实例,2也可以去0-4,具体看配置文件

代码语言:javascript
复制
        EventStartA(2);
//...
        EventStopA(2);

6、配置文件,时间最小个数是8,把时钟频率设置正确,默认使用dwt

7、trace界面设置好正确的时钟频率

8、ac6编译器编译通过,调试单好利器。

具体可以看arm官网,教程比较详细。,这里仅仅是小结一下。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档