当前位置:文档之家› TKScope仿真调试Cortex M3内核的高级手段

TKScope仿真调试Cortex M3内核的高级手段

广州致远电子有限公司

类别 内容

关键词 TKScope Cortex-M3 运行时间 时间断点 变量操作断点 摘 要

TKScope 仿真调试Cortex-M3内核的高级手段

TKScope 仿真调试Cortex-M3内核的高级手段

修订历史

版本日期原因V1.00 2011/03/18 创建文档

目录

1. 适用芯片范围 (2)

2. 观察运行时间 (3)

3. 时间断点 (8)

4. 变量操作断点 (9)

1. 适用芯片范围

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个硬件断点。

2. 观察运行时间

TKScope仿真器可以观察Cortex-M3内核的运行时间,精度为1个时钟,满足客户观察高精度的仿真时间。TKScope不但在程序停止状态下可观察运行时间,而且在程序全速运行时也可以快速显示当前的运行时间。

下面以Keil MDK软件为例,详细讲解有关运行时间的定义以及观察方法。

运行时间主要有2个指标,Tsum、Tcur,如图 2.1所示。

【Tsum】:运行时间总和,即复位后运行到当前停止时的有效运行时间总和。Tsum是有效运行时间的累积总和,程序处于仿真状态但停止运行时,时间不累积。

【Tcur】:当前运行时间,即当前一次有效运行操作经历的时间值。Tcur便于用户观察本次操作经历的时间。

图 2.1 运行时间观察窗口

下面详细讲解运行时间的观察方法及意义。为了保证运行时间的准确性,需要设置系统时钟值。打开仿真器的【主要设置】界面,如图 2.2所示。系统时钟值必须与用户实际运行的时钟值一致,也就是PLL输出的时钟值。

图 2.2 主要设置界面

工程正确编译、仿真器正确配置之后,进入到调试状态,如图 2.3所示,此时Tsum、Tcur的值为0。

图 2.3 观察运行时间1

程序中设置了2个断点,全速运行至第1个断点处停止,此时Tsum、Tcur的值如图 2.4所示。

Tsum显示的是程序从开始运行到第1个断点处所经历的时间。

Tcur显示的也是同一段时间的值,故与Tsum的值相同。

图 2.4 观察运行时间2

再次全速运行,程序在第2个断点处停止,此时Tsum、Tcur的值如图 2.5所示。 Tsum显示的是程序从开始运行到第2个断点处所经历的时间。

Tcur显示的是从第1个断点处运行到第2个断点处所经历的时间。

图 2.5 观察运行时间3

单步运行第2个断点的下一条语句,此时Tsum、Tcur的值如图 2.6所示。

Tsum显示的是程序从开始运行到当前位置所经历的时间。

Tcur显示的是刚刚执行的单步运行的时间。

图 2.6 观察运行时间4

3. 时间断点

TKScope仿真器支持时间断点功能,既运行时间与时间断点设置的时间相同时,程序停止运行。下面以Keil MDK软件为例,讲解时间断点的设置方法。

仿真器配置正确,进入到调试状态之后,在运行时间的下面可以看到Tbreak,这就是时间断点。如图 3.1所示,用户可以根据实际观察需要,设置Tbreak的值,注意单位是ns。

当程序运行时间累积到Tbreak的值时,程序停止运行。

图 3.1 时间断点窗口

4. 变量操作断点

TKScope支持变量操作断点,当对某一个变量进行读写操作时,通过设置变量读写操作断点,让程序停止运行。

在Keil MDK环境下,进入仿真状态之后,打开【Debug】菜单下的【Breakpoints】选项,如图 4.1所示。

图 4.1 Breakpoints窗口

在Breakpoints窗口即可定义变量操作断点。具体定义方法:在Expression内输入变量的地址,然后选择读写属性,并正确设置字节范围,最后点击Define即可。

例如,在地址0x20004000开始,16字节范围内,定义读写断点操作,具体设置方法如图 4.2所示。

图 4.2 定义读写操作断点

在图 4.2中点击Define之后,断点即可设置成功,如图 4.3所示。图 4.3中共定义了4种类型的断点。具体意义如下:

断点1:表示在地址0x20004000开始,16字节范围内,出现读或写的操作,则中断。

断点2:表示在地址0x20004100开始,8字节范围内,出现读的操作,则中断。

断点3:表示在地址0x20004200开始,4字节范围内,出现写的操作,则中断。

断点4:表示在地址0x20004300开始,1字节范围内,出现读或写的操作,则中断。

图 4.3 Breakpoints定义断点窗口

注意:len表示在一个地址范围内该断点有效,len必须为1,2,4,8,16,32乘2递增,同时地址必须处于len的起始位置。例如len=16,则地址必须为0x10字节对齐, 0x40000010为有效的起始地址,而地址0x40000018为无效,将被系统强行修正为0x40000010。

销售与服务网络(一)

广州致远电子有限公司

地址:广州市天河区车陂路黄洲工业区3栋2楼

电话:(020)22644372 28872453 22644249 22644399 22644261 28872524 28872342 28872349 28872569 28872573 传真:(020)38601859

网址:https://www.doczj.com/doc/a92900354.html,(嵌入式系统事业部)

https://www.doczj.com/doc/a92900354.html,(工控网络事业部)

https://www.doczj.com/doc/a92900354.html,(楼宇自动化事业部)

技术支持:

仿真器:

电话:(020)22644360

邮箱:TKS@https://www.doczj.com/doc/a92900354.html,

CAN-bus:

电话:(020)22644381 22644382 22644253 邮箱:can.support@https://www.doczj.com/doc/a92900354.html, iCAN及模块:

电话:(020)28872344 22644373 邮箱:ican@https://www.doczj.com/doc/a92900354.html,

MiniARM:

电话:(020)28872684 28267813

邮箱:miniarm.support@https://www.doczj.com/doc/a92900354.html, 以太网及无线:

电话:(020)22644380 22644385 22644386 邮箱:wireless@https://www.doczj.com/doc/a92900354.html,

ethernet.support@https://www.doczj.com/doc/a92900354.html,

编程器:

电话:(020)22644371

邮箱:programmer@https://www.doczj.com/doc/a92900354.html, 分析仪器:

电话:(020)22644375 28872624 28872345 邮箱:tools@https://www.doczj.com/doc/a92900354.html,

ARM嵌入式系统:

电话:(020)28872347 28872377 22644383 22644384 邮箱:arm.support@https://www.doczj.com/doc/a92900354.html, 楼宇自动化:

电话:(020)22644376 22644389 28267806 邮箱:mjs.support@https://www.doczj.com/doc/a92900354.html,

mifare.support@https://www.doczj.com/doc/a92900354.html,

维修:

电话:(020)22644245

销售与服务网络(二)

广州周立功单片机发展有限公司

地址:广州市天河北路689号光大银行大厦12楼F4 邮编:510630

电话:(020)38730916 38730917 38730972 38730976 38730977

传真:(020)38730925

网址:https://www.doczj.com/doc/a92900354.html,

广州专卖店

地址:广州市天河区新赛格电子城203-204室电话:(020)87578634 87569917

传真:(020)87578842 南京周立功

地址:南京市珠江路280号珠江大厦2006室电话:(025)83613221 83613271 83603500 传真:(025)83613271

北京周立功

地址:北京市海淀区知春路113号银网中心A座1207-1208室(中发电子市场斜对面)

电话:(010)62536178 62536179 82628073

传真:(010)82614433 重庆周立功

地址:重庆市石桥铺科园一路二号大西洋国际大厦(赛格电子市场)1611室

电话:(023)68796438 68796439

传真:(023)68796439

杭州周立功

地址:杭州市天目山路217号江南电子大厦502室电话:(0571) 89719480 89719481 89719482

89719483 89719484 89719485

传真:(0571) 89719494 成都周立功

地址:成都市一环路南二段1号数码同人港401室(磨子桥立交西北角)

电话:(028)85439836 85437446

传真:(028)85437896

深圳周立功

地址:深圳市深南中路 2070号电子科技大厦C座4楼D室

电话:(0755)83781788(5线)

传真:(0755)83793285 武汉周立功

地址:武汉市洪山区广埠屯珞瑜路158号12128室(华中电脑数码市场)

电话:(027)87168497 87168297 87168397

传真:(027)87163755

上海周立功

地址:上海市北京东路668号科技京城东座7E室电话:(021)53083452 53083453 53083496

传真:(021)53083491 西安办事处

地址:西安市长安北路54号太平洋大厦1201室电话:(029)87881296 83063000 87881295

传真:(029)87880865

相关主题
文本预览
相关文档 最新文档