(1). 将trcKernelPort.c、trcSnapshotRecorder.c和trcStreamingRecorder.c 3个主要源码文件添加到工程中。
(3). 将TraceRecorder\include目录添加到头文件路径中。
(5). 将硬件移植配置为Tracealyzer针对Cortex-M提供的实现。其他架构的处理器,如果没有现存的移植,需要用户自行提供一个硬件定时器来产生时间戳。
#define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_ARM_Cortex_M
(6). 将跟踪模式设置为快照模式(Snapshot):
#define TRC_CFG_RECORDER_MODE TRC_RECORDER_MODE_SNAPSHOT
(7). 设置所使用的FreeRTOS的版本,这里使用的是FreeRTOS v10版本。
#define TRC_CFG_FREERTOS_VERSION TRC_FREERTOS_VERSION_10_0_0
(8). 修改trcSnapshotConfig.h,设置快照的模式,当事件缓存满了之后停止跟踪。
#define TRC_CFG_SNAPSHOT_MODE TRC_SNAPSHOT_MODE_STOP_WHEN_FULL
(9). 设置事件缓存的大小,单位是字,根据芯片空余的RAM大小酌情设置。
#define TRC_CFG_EVENT_BUFFER_SIZE 10000
(10). 在FreeRTOSConfig.h配置文件中使能跟踪功能:
#define configUSE_TRACE_FACILITY 1
(11). 在main函数中调用vTraceEnable(TRC_START)初始化并使能跟踪,调用的位置须在硬件完成初始化之后,第一个内核对象创建之前。
使用Tracealyzer可视化分析
构建工程,将程序下载到目标板中运行一段时间。然后打开Tracealyzer,通过J-link的支持将事件缓存读取出来。
(1). 从File->Settings打开设置窗口,在J-Link Settings中设置所使用的调试接口和芯片型号。
(2). 从菜单栏 Trace->Open Snapshot Tool打开Take Snapshot窗口,按“Memory Region”设置芯片的RAM起始地址和大小,然后按“Read Snapshot”即可将事件缓存读取到PC端,然后进行显示和分析。
(3). 垂直时间轴视图窗口和事件记录窗口。
Tracealyzer下载和评估:https://percepio.com/
STM32F769工程下载:https://pan.baidu.com/s/1v3fO7EK863ur99PjOmKnqA 密码:j5af