博客
关于我
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/

    你可能感兴趣的文章
    mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
    查看>>
    Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
    查看>>
    MangoDB4.0版本的安装与配置
    查看>>
    Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
    查看>>
    mapping文件目录生成修改
    查看>>
    MapReduce程序依赖的jar包
    查看>>
    mariadb multi-source replication(mariadb多主复制)
    查看>>
    MariaDB的简单使用
    查看>>
    MaterialForm对tab页进行隐藏
    查看>>
    Member var and Static var.
    查看>>
    memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
    查看>>
    memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
    查看>>
    Memcached:Node.js 高性能缓存解决方案
    查看>>
    memcache、redis原理对比
    查看>>
    memset初始化高维数组为-1/0
    查看>>
    Metasploit CGI网关接口渗透测试实战
    查看>>
    Metasploit Web服务器渗透测试实战
    查看>>
    MFC模态对话框和非模态对话框
    查看>>
    Moment.js常见用法总结
    查看>>
    MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
    查看>>