没有合适的资源?快使用搜索试试~ 我知道了~
首页dsp运行时间测量方法及操作说明
资源详情
资源评论
资源推荐

5 种测量 DSP 程序运行时间的方法的详细说明及例程
目录
一、使用 Profiler ............................................................................................................................. 1
二、clock()函数使用 .................................................................................................................. 5
三、用片上的硬件定时器, ........................................................................................................... 6
timer 例程 1 .............................................................................................................................. 7
四、使用 DSP/BIOS。 .................................................................................................................... 8
五、 利用 TSCL 和 TSCH 来测量 DSP 程序运行时间 ............................................................... 10
C64x 例程 ....................................................................................................................................... 11
clock()例程 ............................................................................................................................. 11
Timer 例程 2 ........................................................................................................................... 12
一、使用 Profiler
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 所示。
剩余12页未读,继续阅读













安全验证
文档复制为VIP权益,开通VIP直接复制

评论0