|

楼主 |
发表于 2014-11-16 21:48:29
|
显示全部楼层
7.把开硬件浮点的代码注释掉,测试时间。
void main(void)
{
volatile float f = 1.0;
uint8 d = 1;
uint32 i = 0;
uint32 timevar;
volatile float x=0.42;
volatile float y=0.875;
//SCB->CPACR |=((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
printf("\r\n 硬件浮点运算测试 CORE频率为%d \r\n", CORE_CLK);
//printf("\r\n %d %f \r\n", d, f);
while(1)
{
pit_time_start (PIT0); //开始计时
for(i=0;i<100000;i++)
{
x=x*y;
}
timevar = pit_time_get_us (PIT0); //获取计时时间
pit_time_close (PIT0);
printf("\n\n计时时间为:%dus",timevar); //打印延时时间
DELAY_MS(1000);
}
}
现象:
硬件浮点运算测试 CORE频率为12
****default_isr entered on vector 3*****
HardFault Interrupt
****default_isr entered on vector 3*****
HardFault Interrupt
嗯。。。。奇葩又来了。。。。。 |
|