工具/软件:TI-RTOS
以下是我的时间戳测试代码。 我想衡量 TestFunc()需要多长时间:
xdc_runtime_Types_FreqHz freq1;
uint32 timestamp1;
uint32 timestamp2;
浮点 tempTime;
TIMESTAMP_getFreq (&freq1);
timestamp1 = Timestamp_get32 ();
TestFunc (); //大约需要21秒;
timestamp2 = Timestamp_get32 ();
tempTime =(float)((timestamp2-timestamp1)/freq1.lo);
我使用调试器分步运行它并手动测量 TestFunc()。 TestFunc()大约需要21秒。 但是、tempTime 始终返回大约7。 freq1的值为300MHz。 以下是我从运行 GEL 文件复制的信息:
C674x_0:GEL 输出:-------------------------------------------------------
C674x_0:GEL 输出:| PLL0信息|
C674x_0:GEL 输出:-------------------------------------------------------
C674x_0:GEL 输出:
C674x_0:GEL 输出:PLL0_SYSCLK1 = 300MHz
C674x_0:GEL 输出:PLL0_SYSCLK2 = 150MHz
C674x_0:GEL 输出:PLL0_SYSCLK3 = 25MHz
C674x_0:GEL 输出:PLL0_SYSCLK4 = 75MHz
C674x_0:GEL 输出:PLL0_SYSCLK5 = 100MHz
C674x_0:GEL 输出:PLL0_SYSCLK6 = 300MHz
C674x_0:GEL 输出:PLL0_SYSCLK7 = 50MHz
C674x_0:GEL 输出:
C674x_0:GEL 输出:-------------------------------------------------------
C674x_0:GEL 输出:| PLL1信息|
C674x_0:GEL 输出:-------------------------------------------------------
C674x_0:GEL 输出:
C674x_0:GEL 输出:PLL1_SYSCLK1 = 300MHz
C674x_0:GEL 输出:PLL1_SYSCLK2 = 150MHz
C674x_0:GEL 输出:PLL1_SYSCLK3 = 100MHz
我怀疑 Timestamp_get32()采用分频的 clk 频率,而不是 Timestamp_getFreq()作为时钟源。 请加以澄清。
谢谢。