目录
一、Event Recoder在嵌入式开领域的发展
Event Recorder 是 MDK 在 5.22 版本增加并在 5.25 版本后进一步完善的功能,是一种在嵌入式开发领域中非常实用的调试和分析工具。
二、简介
工作原理
通过在代码中调用 Event API 来记录软件运行的标志信息,这些信息被存储在内存中的特定缓冲区内,MDK 通过访问该缓冲区实现消息的图形化展示。
特点优势:
- 支持 printf 重定向,无需占用芯片的外设资源,与传统的串口 printf 调试相比,获取数据的速度与 CPU 主频一样快,可在特定窗口中以图形化的形式显示信息,能清晰展示软件组件或用户代码的运行情况。
- 支持在任务中、RTOS 内核中和中断服务程序中任意调用。
- 对于带 ITM 功能的 Cortex-M3/M4/M7/M33 内核芯片,执行记录期间,全程无需开关中断操作,对于不带 ITM 功能的 Cortex-M0/M0+/M23,是需要开关中断的。
- Event Recorder 执行时间具有时间确定性,即执行的时间是确定的,而且执行速度超快,因此,实 际产品中的代码依然可以带有这部分,无需创建 debug 和 release 两种版本。
三、应用
3.1调试与故障诊断
3.1.1替代串口调试
串口 printf 调试存在占用芯片外设资源、速度受串口限制以及在中断应用中调试受限等问题,而 Event Recorder 可直接获取芯片内存的数据,速度快且无需占用额外硬件资源,是替代串口调试的绝佳方式。