TraceX是一个事后分析工具,可以以图形的方式显示ThreadX的运行情况,学会并使用它会给我在使用ThreadX的过程中带来很多方便.
一,在STM32CubeMX的Packs中选中TraceX support
二,使能TX_ENABLE_EVENT_TRACE
三,添加trace的缓存区,大小根据自己的需求设置
/* trace */
/* 记录500个事件(EVENT) */
#define TRACE_BUF_SIZE (500*32)
#define TRACE_MAX_OBJ 30
UCHAR trace_buffer[TRACE_BUF_SIZE];
UINT trace_status;
四,在需要的地方开启trace,这个具体的位置玩法有待后续研究
五,Debug,运行,获取trace首地址
六,导出缓存区的数据
在keil的左下角的命令窗口输入指令:
SAVE D:\trace_data.trx 0x20000D88,0x2000D4D8
地址就是上面等到的首地址,尾地址就是首地址加上待提取数据的大小算出来的
七,导入到Azure RTOS Trace
这次先简单介绍一下TraceX怎么使用,要想让它发挥实用价值,还需了解它的其他相关API函数,比如 tx_trace_event_filter,tx_trace_event_unfilter等,因为内存永远不够用.