博客
关于我
mdk平台下,cm3内核单片机使用event recorder,测试函数运行时间及printf打印
阅读量:591 次
发布时间:2019-03-11

本文共 1180 字,大约阅读时间需要 3 分钟。

Event Recorder 是一种高效的硬件记录器,主要用于复杂嵌入式系统中的数据采集与分析。以下将从多个维度详细介绍 Event Recorder 的功能及其使用方法。

Event Recorder 的特点

  • 高效检测:Event Recorder 能在应用程序运行时即时发现并记录各种事件信息,如运行错误、API 调用异常等,显著提升系统的实时性和可靠性。

  • 灵活配置:该工具支持多种事件类型的筛选机制,能够区分不同级别的系统操作和信息流,满足各类应用场景的需求。

  • 多样应用场景:不仅支持在RTOS 中部署,还可融入中断服务程序中运行,且对不同内核架构(如Cortex-M系列)有特殊优化。

    • 带 ITM 功能的处理:无需中断开关,简化了开发流程。
    • 其他处理:如Cortex-M0系列则需要中断控制。
  • 方便调试:支持 printf 重定向,便于出错时快速获取日志信息。同时兼容多种_debug工具(如SWD、JTAG等)。

  • 高效管理:通过内置的时间戳生成机制(如DWT计时器),能精确记录事件发生时间,减少系统资源占用,无需额外定时器。

  • 代码管理:由于任务执行时间可预测,开发者无需进行 debug 和 release 分支,极大提升了开发效率。

  • 兼容性优化:兆恩科技(ARM)官方文档指出Event Recorder 对于 RTX5 中间件完全支持,使用起来更加简便。


  • 使用方法

  • 库文件依赖:必须使用最新版本的 cmsis 库,否则可能导致编译失败。

  • 系统配置

    • 在 RTOS 中设置uously task (RTE),通常选择默认模式。
  • 配置SCT文件

    • 建议在SCT文件中开辟一个NOINIT的SRAM区域,或者参考官网文档进行配置。
    • 这一步可以防止非必要的初始化操作,提高资源利用率。
  • 初始化设置

    • 在代码中添加相应的头文件。
    • 调用 EventRecorderInitializeEventRecorderStart 初始化功能,并启动记录任务。
  • 事件操作

    • 使用如 EventStartA(n) 激活特定事件记录模式。

    • 在需要时调用 EventStopA(n) 停止记录。

  • 时间管理

    • 配置文件中需设置最小记录时间(默认为8个单元),并根据开发需求调整时钟频率。
  • 调试工具

    • 在AC6编译器下完成编译,最后使用合适的调试工具(如ST-Link、J-Link等)进行测试。
  • 最后的优化

    • 调试过程中可通过trace界面查看事件记录详情,确保配置正确。
  • 合规检查

    • 确保所有编译和调试过程顺利通过,最终生成可用于实际系统的优化版本。

  • 达到更高效的开发体验

    通过合理配置和使用Event Recorder,您可以在保证代码质量的同时,显著提高嵌入式开发效率。如果需要更详细的操作步骤,可参考 ARM 官方开发文档,或参考相关开发社区获取更多实用经验。

    转载地址:http://trevz.baihongyu.com/

    你可能感兴趣的文章
    MySQL 用 limit 为什么会影响性能?有什么优化方案?
    查看>>
    MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
    查看>>
    mysql 用户管理和权限设置
    查看>>
    MySQL 的 varchar 水真的太深了!
    查看>>
    mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
    查看>>
    MySQL 的instr函数
    查看>>
    MySQL 的mysql_secure_installation安全脚本执行过程介绍
    查看>>
    MySQL 的Rename Table语句
    查看>>
    MySQL 的全局锁、表锁和行锁
    查看>>
    mysql 的存储引擎介绍
    查看>>
    MySQL 的存储引擎有哪些?为什么常用InnoDB?
    查看>>
    Mysql 知识回顾总结-索引
    查看>>
    Mysql 笔记
    查看>>
    MySQL 精选 60 道面试题(含答案)
    查看>>
    mysql 索引
    查看>>
    MySQL 索引失效的 15 种场景!
    查看>>
    MySQL 索引深入解析及优化策略
    查看>>
    MySQL 索引的面试题总结
    查看>>
    mysql 索引类型以及创建
    查看>>
    MySQL 索引连环问题,你能答对几个?
    查看>>