你好!我想问一下AM1808速率问题,目前根据starterware配置的是300MHz,然后在测试语句运行时间时,发现一条语句执行时间很长,我做了一个GPIO口测试,就是操作一个IO口输出高低电平
-
while(1)
{
GPIOPinWrite(SOC_GPIO_0_REGS,65,1);
GPIOPinWrite(SOC_GPIO_0_REGS,65,0);
}
GPIOPinWrite是starterWare里面的函数,控制GPIO4[0]输出高低电平,这个输出频率大概只有三四百K赫兹;后来我将程序改成下面这样
while(1)
{
HWREG(0x01E2606C)=1;
HWREG(0x01E26068)=1;
}
这也是根据GPIOPinWrite函数优化过来的,直接针对该IO口赋值,减少中间的计算,这个输出频率大概为3MHz,整体来说速度是不是也太慢了。
上面是主频300MHz测试的,后来我将主频升为375MHz,速度提升了一点。
我还测试for语句,执行一次需要将近400ns。
请问,怎么才能提高执行速率?谢谢!
Jian Zhou:
问下您是指HWREG()这个函数执行速度慢么?
leo chen:
你主要用来做什么事情呢
以前测试过335x的好像IO速度也就几M,上不去
Yingjie Shen:
回复 Jian Zhou:
Jian Zhou
问下您是指HWREG()这个函数执行速度慢么?
Yingjie Shen:
回复 leo chen:
leo chen
你主要用来做什么事情呢
以前测试过335x的好像IO速度也就几M,上不去
Yingjie Shen:
回复 Jian Zhou:
TI的大牛们,怎么都不见你们的人了?
Yaoming Qin:
回复 Yingjie Shen:
我的理解这个速度算是正常了,因为cpu通过内部总线访问gpio模块的寄存器,再输出,是要花10+个cycle,所以速度会比较慢。
Yingjie Shen:
回复 Yaoming Qin:
Yaoming Qin
我的理解这个速度算是正常了,因��cpu通过内部总线访问gpio模块的寄存器,再输出,是要花10+个cycle,所以速度会比较慢。
Yingjie Shen:
回复 Yingjie Shen:
继续向大牛们求解啊~~~