博客
关于我
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 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>
    mysql 主从关系切换
    查看>>
    MYSQL 主从同步文档的大坑
    查看>>
    mysql 主键重复则覆盖_数据库主键不能重复
    查看>>
    Mysql 事务知识点与优化建议
    查看>>
    Mysql 优化 or
    查看>>
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>
    mysql 使用sql文件恢复数据库
    查看>>
    mysql 修改默认字符集为utf8
    查看>>
    Mysql 共享锁
    查看>>
    MySQL 内核深度优化
    查看>>
    mysql 内连接、自然连接、外连接的区别
    查看>>
    mysql 写入慢优化
    查看>>