嵌入式开发者社区

标题: for循环对数组赋值 速度过慢 [打印本页]

作者: zss    时间: 2018-10-30 11:22
标题: for循环对数组赋值 速度过慢

调试C6748程序时,发现用for循环对数组赋值,速度过慢,才2MB/S左右,用的创龙提供的gel文件。C6748应该远不止这个速度啊。之前一直都是在ARM平台开发,难道DSP有什么特殊的要求? 还望知道的指点一下。

void test(void)
{
        char put_char[50];
        unsigned char  buff[1024];
        unsigned int  i;
        long long t_start, t_stop, t_overhead;
        TSCL = 0;
        TSCH = 0;
        t_start = _itoll(TSCH, TSCL);
        t_stop = _itoll(TSCH, TSCL);
        t_overhead = t_stop - t_start;


        t_start = _itoll(TSCH, TSCL);
        for(i = 0; i < 1024; i++)
        {
                buff = 0xaa;
        }
        t_stop = _itoll(TSCH, TSCL);
        sprintf(put_char,"\t  Speed: %f MB/s \n",
                        (float)1024 / 1024 / 1024 * 456000000/((t_stop - t_start) - t_overhead));
         UARTPuts(put_char, -2);
}



输出结果:  Speed: 2.077599 MB/s

作者: zss    时间: 2018-11-1 14:49
找到原因了  cmd文件改了下 速度快了很多





欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4