电子工程专辑
UBM China

使用在线仿真器(ICE)进行程序优化

上网日期: 2007年11月22日 ?? 作者: 张国跃 ?? 我来评论 字号:放大 | 缩小 分享到:sina weibo tencent weibo tencent weibo


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友

关键字:在线仿真器? ICE? 代码覆盖率?

功能2:两条语句间的运行时间的多次测量和分析

对于同一段代码,由于运行条件不同,运行时间也不尽相同,可能会有较大的变化。如何对某段代码的运行时间进行统计,真正达到性能分析的目的呢?

在使用仿真器时,可以重复“优化功能1”中的测量功能,进行手动统计。但这样做的缺点是费时费力,也不能真正反映程序实时运行时的状态。

带ETM跟踪功能的ICE仿真器可以提供一种简便的测量功能,可以连续对程序进行指定次数的时间测量,并自动进行时间统计。但不是所有带ETM跟踪功能的仿真器都有这样的功能,下面仍以横河公司的advicePRO为例介绍该功能的使用。具体测量步骤如下:

1.在程序段设置的起始和结束事件点:事件(Event)是指程序执行过程中的能够被检测到的各种活动。例如,某个函数或者某个地址上语句的执行,某个地址上数据的读写,甚至监测到的外部触发信号都可以被定义成事件,作为跟踪功能和时间测量的起始或者终止条件。图2是通过设置窗口将某个源代码文件的第184行的取指(Fetch)状态作为事件e0。假设要测量LCD_test.c文件中for循环中的184行至191行的运行时间,根据图2中的方法在184行和191行设置两个事件e0和e1。(见图3)

图2:在设置窗口中设置源代码文件的起始点。
图2:在设置窗口中设置源代码文件的起始点。

图3:在程序文件中设置了起始点和结束点后的MVP窗口。
图3:在程序文件中设置了起始点和结束点后的MVP窗口。

2.设定外部输出条件:将e0、e1设为外部输出条件,如图4所示。

图4:设置外部输出条件。
图4:设置外部输出条件。

3.设定测量条件:在图5所示的窗口中,将e0、e1设定为时间测量的起点和终点,并进行测量模式的设定。可以进行超过指定时间和在指定时间之内的测量统计。

图5:设定时间测量的起点和终点,并进行测量模式的设定。
图5:设定时间测量的起点和终点,并进行测量模式的设定。

4.运行程序:做好以上设定之后,可以运行程序,进行时间测量。

5.测量结果显示:测量结束后,测量结果会以图表形式自动显示在报告窗口中,并且显示最长、最短、平均运行时间。(见图6)通过这个图表,用户可以清晰地了解这段代码的运行时间分布情况,为代码优化提供最直接的依据。

图6:通过以图表形式显示的测量结果,可以清晰地了解代码的运行时间分布。
图6:通过以图表形式显示的测量结果,可以清晰地了解代码的运行时间分布。


?第一页?上一页 1???2???3?下一页?最后一页





我来评论 - 使用在线仿真器(ICE)进行程序优化
评论:
*? 您还能输入[0]字
分享到: 新浪微博 qq空间
验证码:
????????????????
?

关注电子工程专辑微信
扫描以下二维码或添加微信号“eet-china”

访问电子工程专辑手机网站
随时把握电子产业动态,请扫描以下二维码

?

5G网络在提供1Gbps至10Gbps吞吐量方面具有很好的前途, 并且功耗要求比今天的网络和手机都要低,同时还能为关键应用提供严格的延时性能。本期封面故事将会与您分享5G的关键技术发展,以及在4G网络上有怎样的进步。

网友推荐相关文章
?
?
有问题请反馈
推荐到论坛,赢取4积分X