|
测试代码如下:
- void img_test(void)
- {
- volatile unsigned int i,j,k,l;
- volatile double a,b,c,d;
- a=1;
- b=2;
- c=3;
- d=4;
- for(i=0;i<1000;i++)
- {
- a+=0.3;
- }
- for(j=0;j<1000;j++)
- {
- b-=0.3;
- }
- for(k=0;k<1000;k++)
- {
- c*=0.3;
- }
- for(l=0;l<1000;l++)
- {
- d/=0.3;
- }
- }
复制代码
测试方法:使用一个led,测试其翻转速度,从而得到运行时间。
A9使用的是zynq,xc7z020,667Mhz,
DSP使用的BF531,40M晶振,倍频到600M,初始化代码如下,不知道是不是正确:
- void Init_PLL(void)
- {
- volatile int test=0;
- sysreg_write(reg_SYSCFG, 0x32); //Initialize System Configuration Register
- *pVR_CTL = 0x00fB;
- idle();
- *pSIC_IWR = 0x1;
- *pPLL_CTL = 0x1e00; // MSEL is 15, which gives: VCO of 600 MHz (40*15=600)
- *pPLL_DIV = 0x5; // SSEL is 5, which gives: SCLK of 133 MHz (600/5=133)
- ssync();
- //*pVR_CTL = 0x00fB;
- ssync();
- idle();
- }//end Init_PLL
复制代码
测试结果:
A9大概需要105us左右,运算一次。
BF531大概需要500us。
看起来差别比较大啊,为啥DSP会比A9慢呢?是不是初始化配置不对? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|