TI论坛
直播中

肖舒

8年用户 189经验值
私信 关注
[问答]

请问25335在CCS4中怎么查看一段程序的运行时间

在网上找到clock enable的方法,我试了 结果左下角没有出现时钟图标。难道这个功能不支持28335?咋办
还有 例程中DELAY_US(A)函数误差有多大呢?感觉不是很准,用到单总线器件上不行
怎么能用软件写一段精确的延时函数呢?timer除外
大神们帮帮忙哈

回帖(10)

陈飞

2018-12-18 11:14:27
我一般使用Timer0来看跑了多少个cycles来查看运行时间。
                                                                         Young Hu
举报

王秀梅

2018-12-18 11:24:49
CCS里面的功能不是很准确,如果只是想确定一段代码的运行时间(绝对值),最准确也是最简单直接的方法是在前后加GPIO翻转,通过示波器量测。如果是想知道对应CPU时钟,则可以反汇编计算对应的指令周期数。
                                                                         If a post answers your question, please mark it with the "verify answer" button.
举报

魏霖

2018-12-18 11:43:46
可以支持TMS320F28335的,从CCSv5 IDE中找Example_2833xGpioSetup例程,Clock Cycle统计功能请参考下面的图设置。
run->clock->enable, clock 清零

程序从InitSysCtrl()到InitPieCtrl()这段时间花费的Clock Cycle如下图所示。
举报

朱虹博

2018-12-18 12:03:07
引用: cslb2000 发表于 2018-12-18 08:17
可以支持TMS320F28335的,从CCSv5 IDE中找Example_2833xGpioSetup例程,Clock Cycle统计功能请参考下面的图设置。
run->clock->enable, clock 清零

这里真热闹,我也灌一下水。:)
楼上说的是CCSV5,V4是不支持clock,也建议楼主用V5,建议按照2楼10#说的方法操作:
processors.wiki.ti.com/.../Download_CCS
DELAY_US(A)函数,如果按照要求放在RAM中,没有误差,具体的,DELAY_US(A)函数的源代码中有说明:
;There is a 9/10 cycle overhead and each loop
;takes five cycles. The LoopCount is given by
;the following formula:
;  DELAY_CPU_CYCLES = 9 + 5*LoopCount
; LoopCount = (DELAY_CPU_CYCLES - 9) / 5
; The macro DELAY_US(A) performs this calculation for you
 
#define DELAY_US(A)  DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分