程序在SHARM RAM中运行,ARM的工作时钟是192M,PLL0_SYSCLK2的时钟是192/2=96M.在程序中,定义一个变量unsigned int i;然后单步i=1;这行i=1运行使用了20个clock.请问这个时间正常吗?感觉比较长.谢谢.
Shine:
请问20个clock是怎么测出来的?
user4699890:
回复 Shine:
在线DEBUG RUN->CLOCK 单步调试得到的
Shine:
回复 user4699890:
用profiler不准
processors.wiki.ti.com/…/FAQ_-_CCSv4
user4699890:
回复 Shine:
clock还是比较准的.现在我需要操作1K的数据,每个字节的每个bit都要访问.那么就要访问8K次.每次访问需要约256个时钟周期(访问有移位,异或等操作),那么1K数据操作完要,2097152个周期,需要约11ms,实际运行时间也差不多,这实在太慢了.很想知道哪里出了问题.
Tony Tang:
回复 user4699890:
titigo现在我需要操作1K的数据,每个字节的每个bit都要访问.那么就要访问8K次.
感觉这个需求用L138里的PRU来做比较合适。PRU有位操作指令,且都是单周期。尽管PRU只有150MHz,但PRU访问自己的RAM还是很快的。
另外,你可以比较一下,把数据放在L2 RAM上跟SHARERAM上处理速度的区别。
user4699890:
回复 Tony Tang:
没有使用过PRU ,可以推荐些资料吗?谢谢