CCS中如何看程序运行的时钟周期
来源:互联网 发布:java 反射 invoke 编辑:程序博客网 时间:2024/05/16 16:17
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,就是最终函数执行的时间了。
- CCS中如何看程序运行的时钟周期
- CCS中如何看程序运行的时钟周期
- 用CCS开发时如何看程序的时钟周期
- CCS查看程序段运行时钟周期数
- 如何在VC6.0中得到一个程序的运行时间,也就是这个程序耗费的时钟周期数// C和C++的时间编程
- CCS如何看编译器的feedback
- 【CCS小技巧】CCS查看代码运行周期
- 什么是指令周期?什么是机器周期?什么是时钟周期?三者之间的关系如何?
- STC12C56XX的时钟周期
- CCS统计程序运行时间:
- ASP.NET程序的运行周期
- CCS 3.3中统计程序运行的时间
- CCS 3.3中统计程序运行的时间
- c64x+ DM647/8程序段运行时间(时钟周期)统计--代码方法
- 包线速转发的时钟周期
- 时钟周期 机器周期 指令周期的概念
- 时钟周期,机器周期,指令周期的区别
- 单片机时钟周期、机器周期、指令周期的区别
- Oracle 数据库锁机制
- C6XX优化经验总结
- Study english everyday!
- 动态添加DevExpress 套件中 dxBar的菜单项目
- oracle 锁管理
- CCS中如何看程序运行的时钟周期
- 行列转置
- file_column插件的安装与使用
- Oracle行级锁和表级锁
- C代码优化方案
- 关于 appfuse webwork select 标签 (待续)
- Adding New Functions to Compiled Code
- Wcf 开发日记 2
- 论用C++做壳