本帖最后由 Periodic 于 2011-8-17 15:54 编辑
实时跟踪窗口
在实时调试时,选择Peripherals –> Trace菜单,来观测和分析所有的跟踪记录,如图下图所示,
其下有Records、Exceptions和Counters三个子菜单。
Trace Records Window
这个窗口显示所有捕获的跟踪记录。每个跟踪记录都包含了特定的信息。
选择 Peripherals -> Trace -> Records显示该窗口。
Exception Trace Window
这个窗口显示异常信息和中断信息的统计数据,这些数据以捕获到的跟踪信息为依据。
选择Peripherals -> Trace -> Exceptions显示该窗口。
Event Counters Window
这个窗口显示特定事件计数器的值。这些数据以捕获到的跟踪信息为依据。
选择Peripherals -> Trace -> Counters显示该窗口。
实时跟踪附加窗口:
ITM Viewer Window
ITM Viewer窗口的数据由激励端口0传送,显示的数据是ASCII码和十六进制。
Logic Analyzer Window
逻辑分析器显示捕获的数据和图表。
Trace Records Window
记录跟踪窗口显示跟踪记录。
各项记录为:
Ø Type:跟踪记录的类型,可以是:
² Data Read: 8/16/32位数据读访问;
² Data Write: 8/16/32位数据写访问;
² ITM: 通过软件写到ITM激励端口的8/16/32位数据;
² Exception Entry/Exit/Return: 异常事件;
² Counter Event: 8-bit计数器的溢出(CPI、EXC、Sleep、LSU、Fold);
² PC Sample: 按PC周期采样;
Ø Ovf:溢出标志,表示采集的跟踪事件太多导致跟踪数据包丢失;
Ø Num:ITM的激励端口或者异常的个数;
Ø Address:数据读/写访问的地址;
Ø Data:对于数据读/写和ITM而言是8/16/32位数据;对于事件计数器而言是8位的数据;
Ø PC:用于PC采样或数据读/写访问的32位PC值;
Ø Dly:Timestamp延迟标志,表示显示的循环次数/时间已迟于实际事件的循环次数/时间;
Ø Cycles:以处理器核周期为单位的时间戳信息;
Ø Time :以秒为单位的时间戳信息。
附:
双击窗口内部区域可以清除数据。
窗口内部单击右键会弹出一个菜单,通过它可以过滤跟踪记录的显示。它只是一个显示过滤器,对跟
踪配置并没有影响。
Exception Trace Window
这个窗口显示异常情况的统计数据。
显示如下信息:
Ø Num:异常编号(0-15:内部异常,16-79:外部中断),外部中断号取决于实际的芯片,范围可以为16-239;
STM32提供的外部中断号为16-79;
Ø Name:异常的名称,外部中断请参考Cortex-M3技术手册;
Ø Count:进入异常的时间序号;
Ø Total Time:异常处理花费的全部时间;
Ø Min Time In:用在异常处理的最小时间;
Ø Max Time In:用在异常处理的最大时间;
Ø Min Time Out:用在异常之外的最小时间;
Ø Max Time Out:用在异常之外的最大时间;
Ø First Time :第一次进入异常的时间;
Ø Last Time :最后一次进入异常的时间。
注意:
只有跟踪运行过程中没有任何错误,数据才能正确显示。丢失跟踪包会导致数据不完整。请参考μVision Status Bar Info.
异常处理花费的全部时间并不包括高优先级异常中断了当前异常处理所用的时间。这个时间计算在高优先权异常处理时间内。
附:
点击表格的列,可以将该列数据从高到低排列出来。
双击窗口内部区域可以清除数据。
选择Cortex-M Target Driver Setup -> Trace,选中Exception Trace。
Event Counters Window
这个窗口显示特殊事件计数器的值。按0按钮,事件计数器值清0。
选择Cortex-M Target Driver Setup -> Trace,在对话框选中的事件将会被计数。
ITM Viewer Window
通过ITM激励端口0接收到的ASCII码和十六进制数会在这个窗口显示出来。SW用来控制ITM激励端口0传输的数据,其中SW类
似于打印终端,用8位写入。目前,只有通过ITM激励端口0传送数据才能在ITM viewer窗口显示内容。
配置详情另见ITM Viewer.
Logic Analyzer Window
逻辑分析器以图表的形式显示捕获到的跟踪记录数据。同时,逻辑分析器中定义的变量可以直接控制读写事件的跟踪设置。
使用详情另见 Logic Analyzer.
注意:
可以通过观测Vision状态栏来判断跟踪是否正确。
RTX Kernel Event Viewer Window
RTX Kernel Event Viewer窗口显示任务切换过程。
使用的详情另见RTX Kernel Event Viewer. |