测试方法:
1、建立基于EM9000嵌入式主板开发环境,使开发板能够与EVC联合调试。具体步骤请参看英创公司提供的开发光盘。
2、建立基于EM9000的EVC项目工程。把下列测试代码添加到主函数中:
iStartTime = GetTickCount(); // 运算计时开始
for(n=0;n<1000;n++)
arraymultaddresult=arraymultadd(arraya,arrayb,1024); // arraya,arrayb为长度1024的浮点型数组
iEndTime=GetTickCount(); // 函数运行结束
time=iEndTime-iStartTime;
printf('the result of emulator arrayadd is %f arraymultadd elpses time is %d ms\n',arraymultaddresult,time);
iSartTime = GetTickCount();
for(n=0;n<1000;n++)
multaddresult=em_arraymultadd(arraya,arrayb,1024);
iEndTime=GetTickCount();
time=iEndTime-iStartTime;
printf('the result of em_arraymultadd is %f em_arraymultadd elpse time is %d ms\n',multaddresult,time);
以上程序,在EM9000嵌入式主板上运行的结果为:
arraymultadd elpses time is 919ms
em_arraymultadd elpses time is 104 ms
由以上的结果可以看出:用英创公司提供的函数,可以显著提高浮点运算速度。
目前英创公司提供的函数主要完成基本的浮点处理,我们将根据客户的需要,不断的完善浮点库的功能,如FIR滤波等。同时客户若需要专用的处理算法,也可与我们联系有关实现专用浮点处理功能的事宜。