threadx - 如何使用带有小缓冲区的 TraceX
问题描述
我正在使用 Azure RTOS ThreadX 开发一个微控制器应用程序,我想使用 TraceX 在我的硕士论文中发布结果。问题是我的应用程序在 Cortex M0+ 上运行,并且只有 20k 的 RAM。从这 20k 中,我只能分配 10k 给 TraceX 缓冲区。
我只能想到两种解决问题的方法:
- TraceX 只保存线程切换和事件标志信号等;
- 能够在 TraceX 开始覆盖并保存缓冲区之前下一个断点,最后放在一起;
有人有同样的问题吗?你如何解决它?
解决方案
两种选择都是可能的:
- 要过滤消息,请查看此处的文档: https ://docs.microsoft.com/en-us/azure/rtos/tracex/chapter5#tx_trace_event_filter
- 跟踪机制基于一些宏。您可以查看宏 TX_TRACE_IN_LINE_INSERT 中的代码以了解详细信息。您可能需要将此宏变成一个函数,以便能够在您的工具链中放置一个断点。出于性能和占用空间的原因,这些被实现为宏。
推荐阅读
- python - 如何将新数据写入现有的 Excel 电子表格列?
- excel - 为什么更改参考单元格时公式不适用于相同的数据
- angular - 如何测试现代角度应用程序的性能/负载
- javascript - 如何在浏览器上实时在我的html中添加脚本代码打开它
- java - Actuator /metrics 端点不包括 http.server.requests
- sql - 结合 IFNULL、SUM 和 WHERE 函数来显示可用金额
- java - 在 Vaadin (Java) 的传单插件映射中向 LayersControl 添加监听器
- jquery - Jquery 表单插件不会在 Bootstrap 模式中提交
- javascript - 如何获取用户的当前位置?
- python - 如何设置与未使用的分类间隔索引相对应的熊猫数据框列中的值?