在线时间74 小时
UID3323317
注册时间2016-10-25
NXP金币120
TA的每日心情 | 慵懒 2019-7-22 13:56 |
---|
签到天数: 38 天 连续签到: 1 天 [LV.5]常住居民I
金牌会员
 
- 积分
- 1820
- 最后登录
- 2020-10-13
|
本帖最后由 邹姆斯特朗 于 2017-2-12 09:43 编辑
小弟这几天在学习FRDM-k64f这块板子,在官网下了SDK2.0,自己学着建立了一个工程,用来测试FPU。我参照这个教程如何使能Kinetis K64 Cortex-M4F内核的FPU功能 ,写了简单的程序,计算100次的圆周率公式,利用SysTick计时,然后先是不开启FPU进行计算,在开启FPU计算,对比计数时间。似乎开启FPU之后,计算速度似乎没多大提升。所以想求教一下,是我的操作不对,还是效果本该如此?
这是我的测试代码
- int main(void)
- {
- /* Board pin, clock, debug console init */
- BOARD_InitPins();
- BOARD_BootClockRUN();
- BOARD_InitDebugConsole();
- PRINTF("\r\n FPU 测试\r\n");
-
- SysTick_Config(SystemCoreClock / 1000);
-
- while(count--)//计算100次
- {
- double term=1.0,sum=0.0,pi;
- int i=1;
- do{
- sum+=term;
- i++;
- term=1.0/(i*i);
- }while(term > 1e-12);
- sum*=6;
- pi=sqrt(sum);
- }
-
- printf(" FPU: %d\n",start);//计算完毕,打印时间
- }
- /*用于计时*/
- void SysTick_Handler ()
- {
- start++;
- }
复制代码
Demo.rar
(2.08 MB, 下载次数: 7)
|
|