西莫电机圈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 4361|回复: 6

[分享] ccs 如何查看运行函数的时间

[复制链接]

该用户从未签到

发表于 2008-10-14 23:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
好东东阿。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

该用户从未签到

 楼主| 发表于 2008-10-14 23:01 | 显示全部楼层

上传不了附件阿。直接贴把。

CCS查看DSP程序运行时间
1.进入CCS环境,装载已有工程,并load生成的.out文件,并找到要察看代码执行周期的代码处。如图1所示。

  
图1
1. 选择ccs的菜单Profiler中的enable clock,如图所示。



图2
2. 选择Profiler菜单下的 clock setup子菜单,并在Instruction Cycle中输入你的DSP时钟周期,它的单位为纳秒,例如,2407的系统时钟为40MHz,你就该填入25,如果是2812系统时钟为150MHz,就该填入6.67ns,其他配置不动,然后确定。如图3所示。

  
图3
3. 选择Profiler菜单下的Start New Session子菜单,出现如图4所示的对话框,可以改名字,也可以不改,本例中不修改,直接确定。

  
图4
4. 通过第四部设定后就出现了如图5所示的一个窗体。


这个窗体中,有四个选项卡,其中Files为以源文件列出统计数据,Functions选项卡用于剖析程序中的函数,Ranges用于剖析一段连续的代码,Setup用于设置开始点和结束点,用于剖析不连续的代码。
窗体的左边按钮的含义为:(这里介绍主要的)


剖析所有的函数。


建立剖析区域。


设置开始点。


设置结束点。
在窗体中剖析数据有一个表格,用红框圈起来的,每个表格的字段名的含义为:
Code size:剖析代码的大小,以程序存储器最小可寻址单元为单位,此值在剖析过程中不会发生变化。
Incl. Count:在统计过程中,程序运行进入剖析代码段的次数
Incl. Total: 在统计工程中剖析代码段消耗的所有时钟周期(如果是统计时钟周期的话,CCS还可以统计子程序调用等其他计数,统计其他特性则显示相应的值)。
Incl. Maximum: 执行剖析代码段一遍(包括在剖析代码段中对子程序的调用)消耗的最大时钟周期(由于每次进入剖析代码段的初始条件不同等原因,每次运行剖析代码段消耗的时钟周期可能不同);
Incl. Minimum:  执行剖析代码段一遍三(包括在剖析代码段中对子程序的调用)消耗的最小时钟周期
Incl. Average: 剖析代码段执行一遍(包括在剖析代码段中对子程序的调用)消耗的平均时钟周期。--
以上这三个就是用户关心的代码执行的时钟周期。

Excl. Count:在统计过程中,程序运行进入剖析代码段的次数,与Incl.Count的值相同。
Excl. Maximum: 剖析代码段执行一遍(不包括在剖析代码段中对子程序的调用)消耗的最大时钟周期。
Excl. Minimum: 剖析代码段执行一遍(不包括在剖析代码段中对子程序的调用)消耗的最小时钟周期。
Excl. Average: 剖析代码段执行一遍(不包括在剖析代码段中对子程序的调用)消耗的平均时钟周期。
5. 以剖析函数为例,找到该函数,然后将光标放在该函数的函数名上,选择建立剖析区域按钮,图中用红框框起来的那个按钮。如图6所示。



图六。
6. 出现对话框,如图7所示,因为我们做的是function,所以不用修改,如果做的是一段代码,只要把下拉菜单里的function改成Range即可。

  
图7
7. 点击OK后出现,如图8所示,各个字段已经被赋予了初值。

  
图8
8. 接下来运行程序RUN,就可以剖析出你所选中的代码的执行周期了。如图所示。且这些值是随着程序运行的时间而变化的,动态显示。


图9
    值得注意的是,图中显示的是时钟周期,不是时间,要看时间的化,用时钟周期乘以前面设定的时钟周期ns值,如6.67ns,就是最终函数执行的时间了。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2008-10-14 23:02 | 显示全部楼层

为什么图贴不上来阿。

请帮助一下。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-7-8 11:45 | 显示全部楼层
不错,但是不知道为什么你上传不了附件。要是有附件和图就更好了
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-7-17 23:53 | 显示全部楼层
谢谢分享了,了解一下
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-7-18 15:55 | 显示全部楼层
在进行DSP开发时,代码编写完成后,如果时间不满足要求,则必须对代码进行优化,以更加适应DSP环境 。而在进行优化时,我们可以先测算每个函数的运行时间,从中到耗时较多的函数进行优化。CCS的profile提供了这个功能。

       1、在菜单栏的Tools->profile-> Setup Profile Data Collection ;在出来的Profile Setup 中选择新建,然后新建一个Configuration ,再在右边的Activities 中勾上Profile alll Function for  Total Cycles;

       2、然后在菜单栏选择Target ->Debug Active Project; 最后在运行。运行结束后即可看到各个函数执行时间;如下图所示

      

                               
登录/注册后可看大图




        下面介绍一下每个标签的含义:

        Name:函数名

        Calls:调用的次数

        以下为不包含子函数的执行时间:

        Excl Count Min: 最小消耗的时间

        Excl Count Max:最大消耗的时间

        Excl Count Average: 平均消耗的时间

        Excl Count Total: 总共消耗的时间

        以下包含子函数的执行时间

        Incl Count Min: 最小消耗的时间

        Incl Count Max:最大消耗的时间

        Incl Count Average: 平均消耗的时间

        Incl Count Total: 总共消耗的时间
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-7-18 15:56 | 显示全部楼层
图片上传:单独复制图片 然后粘贴到相应的位置
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|西莫电机圈 ( 浙ICP备10025899号-3 浙公网安备:33028202000436号

GMT+8, 2024-11-22 20:35 , Processed in 0.116404 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表