TKScope仿真调试Cortex-M3内核的高级手段
2011-06-25广州致远电子有限公司
广州致远电子有限公司
TKScope仿真器调试Cortex-M3内核的芯片有几项高级功能,如观察运行时间、支持时间断点、变量操作断点等。通过这些高级调试手段,用户能更加清楚地了解程序的运行状态。遇到问题时,可以快速地进行程序定位。本文详细阐述这些功能的具体应用方法。
目前,TKScope支持的Cortex-M3内核的芯片具体种类如下:
◆Atmel,AT91SAM3Uxx系列;
◆ENERGY,EFM32GxxxFxx系列;
◆TI,LM3Sxx系列;
◆ NXP,LPC17xx、LPC13xx系列;
◆ST,STM32Fxx系列;
◆TOSHIBA,TMPM330、TMPM370、TMPM380系列。
本文所讲述的特性适用于上述各个系列的芯片。此外,TKScope支持Flash无限制断点,如上述的TI、ST各系列;其他公司的系列受制于芯片本身的限制,只支持到最大6个硬件断点。
1 观察运行时间
TKScope仿真器可以观察Cortex-M3内核的运行时间,精度为1个时钟,满足客户观察高精度的仿真时间。TKScope不但在程序停止状态下可观察运行时间,而且在程序全速运行时也可以快速显示当前的运行时间。
运行时间主要有 2个指标——Tsum 和 Tcur,如图1所示。
(1)Tsum
运行时间总和,即复位后运行到当前停止时的有效运行时间总和。Tsum是有效运行时间的累积总和,程序处于仿真状态但停止运行时,时间不累积。
(2)Tcur
当前运行时间,即当前一次有效运行操作经历的时间值。Tcur便于用户观察本次操作经历的时间。
为了保证运行时间的准确性,需要设置系统时钟值。打开仿真器的[主要设置]界面,系统时钟值必须与用户实际运行的时钟值一致,也就是PLL输出的时钟值。
从图1中可以看出,程序设置了2个断点,此时程序在第2个断点处停止。运行时间的具体意义如下:Tsum显示的是程序从开始运行到第2个断点处所经历的时间;Tcur显示的是从第1个断点处运行到第2个断点处所经历的时间。……
