您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页CCS查看DSP程序运行时间精

CCS查看DSP程序运行时间精

来源:意榕旅游网
CCS查看DSP程序运行时间

1 •进入CCS环境,装载已有工程,并load生成的.out文件,并找到要察看 代码执

行周期的代码处。如图1所示。

图1

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

*

Edit View £rojeel Reb虬雷

Profiler QEL Option lools C£F/I

Scitest. pjt

▼ ||口乱11童 Clock Setup.-. Vi ew Clock

Start New Session...

茄1 阳 a d S3 E B £

Files _J GEL files '_i Frojscts

-Scit«st. pjt (Debuf)

L J D^pend^nt Projacts

LJ DSP/BiaS Config _| Generated Files

-Include

哥 BSP261x_Adc.lt

interrupt voi {

UintlG 1; for(1=0;

童i riecioo 1 „ r_ „T J ______ ___ L

图2

2. 选择Profiler菜单下的clock setup子菜单,并在Instruction Cycle中输入你

第1页

的DSP时钟周期,它的单位为纳秒,例如,2407的系统时钟为40MHz,你就该

第2页

填入25,如果是2812系统时钟为150MHz,就该填入6.67ns,其他配置不动,然后 确定。如图3所示。

图3

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

Profile Sessi^ . 冈 图4

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

这个窗体中,有四个选项卡,其中 Files为以源文件列出统计数据,Fu nctio ns选 项卡用于剖析程序中的函数,Ran ges用于剖析一段连续的代码,Setup用于设置 开始点和结束点,用于剖析不连续的代码。

窗体的左边按钮的含义为:(这里介绍主要的)

Profile All Functi ons

剖析所有的函数

建立剖析区域

设置开始点 媚 Create Setup End Fointj

设置结束点。

在窗体中剖析数据有一个表格,用红框圈起来的,每个表格的字段名的含义为:

Code size:剖析代码的大小,以程序存储器最小可寻址单元为单位,此值在剖析 过程中不会发生变化。

第3页

In cl. Count:在统计过程中,程序运行进入剖析代码段的次数

Incl. Total:在统计工程中剖析代码段消耗的所有时钟周期(如果是统计时钟周期 的话,CCS还可以统计子程序调用等其他计数,统计其他特性则显示相应的值)。 Incl. Maximum:执行剖析代码段一遍(包括在剖析代码段中对子程序的调用)

耗的最大时钟周期(由于每次进入剖析代码段的初始条件不同等原因, 剖析代码段消耗的时钟周期可能不同);

In cl. Minim um:执行剖析代码段一遍(包括在剖析代码段中对子程序的调用) 消耗的最小时钟周期

Incl. Average:剖析代码段执行一遍(包括在剖析代码段中对子程序的调用) 消耗 的平均时钟周期。--

以上这三个就是用户关心的代码执行的时钟周期。

Excl. Count:在统计过程中,程序运行进入剖析代码段的次数,与

Incl.Count的值

每次运行

相同。

Excl. Maximum:剖析代码段执行一遍(不包括在剖析代码段中对子程序的调用) 消耗的最

大时钟周期。

Excl. Mi nimum:剖析代码段执行一遍(不包括在剖析代码段中对子程序的调用) 消耗的最

小时钟周期。

Excl. Average:剖析代码段执行一遍(不包括在剖析代码段中对子程序的调用) 消耗的平均时钟周期。 5. 以剖析函数为例,找到该函数,然后将光标放在该函数的函数名上,选择建 立剖析区域按钮,图中用红框框起来的那个按钮。如图

6所示。

第4页

L

f LIA

t 艺D«bug. Fr 6£il*r GEL Grptiui Teel a ESF/SIflS IdfL&ir 斟 Lp

[SeiUslftjt

二J|D 由 nt

皋阳(3 g S3 HI A W d 沪

Filts

」死L files ■_j Frt&Jiclt

a

lntG/Tupt vo】日 gaibTxFi Eol^rlvoitj ) Seit«xtKjijt (Debug) I^J

leperideiLt Projects CJ wr/eaas Cwtu I_| Gtner^isii P i les

-U Incl-ud« 耳 DSRa.lM_l.4e. k s]

BSFSSlx^CpaTjntrs. Ji jfl呻曲讣』応ML 1埼 h f] h

目 D5T2SLid_Dmfli& h 到嗓粉厲_EC* h S] J3S^81x_Ev_h 劉感档心5】\"h 宣]DSf^Slji_51-db41Fr( o lsa» f 列 D5T23lT4_GpiG. K 司 rerakKjrtti h =| BS曲be Fi^trl. L

UintlB i;

for(i-0: 1< S: L^+) {

\"Send dat

ScibR4ff^SClTXBUF-ed4UB Ell:

for(i\"D^ 1< 8; 1++)

{

Z/I ncrsTtisn t

sdataB[L] * (Bd4taB[i]-1) & DxOOFFi Scjbaftgs.SCrfFTX.bit.^OTcLRi-lj

PieCtrLRegs.PIEACR.all1-OalQO; }

interrupt vc>id 3Ci bRxFi fpl-^r (VQI d )

// Cl«4r In, ” Issue PI

'File阴ew ------- -- —^― --------- ------- - L 嘴 1!E Fmi-ct t outs | (Code Size Count Ind. Tetal Incl. No...

1M1.. HI... IELCI. \"... Eicl. T«td. Scittil frul 'rt«U Frefalt km

图六。

出现对话框,如图7所示,因为我们做的是

function,所以不用修改,如果 做的是一段代码,只要把下拉菜单里的 function改成Range即可。

6.

图7

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

第5页

|=] DSFSgLsrJfl^rp. h 1=1 DSFZBIK Pi eCtrl, h v

interrupt void scibRzFifoIer(void)

D File Viaw p^Bookmarks FwriftiotLS -Seiteit. CodA Size lacl. TotiL 0 0 lael. Nt... 0 :Ind.. Hi... 0 laid. M... 0 Eul. T Q ECIMMF i fol =r () I

图8

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

图9

值得注意的是,图中显示的是时钟周期,不是时间,要看时间的化,用时钟 周期乘以前面设定的时钟周期 ns值,如6.67ns,就是最终函数执行的时间了

第6页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务