15.spi与硬件浮点
15.开启硬件浮点
解决浮点计算
/** @description : 使能I.MX6U的硬件NEON和FPU* @param : 无* @return : 无*/void imx6ul_hardfpu_enable(void)
{uint32_t cpacr;uint32_t fpexc;/* 使能NEON和FPU */cpacr = __get_CPACR();cpacr = (cpacr & ~(CPACR_ASEDIS_Msk | CPACR_D32DIS_Msk))| (3UL << CPACR_cp10_Pos) | (3UL << CPACR_cp11_Pos);__set_CPACR(cpacr);fpexc = __get_FPEXC();fpexc |= 0x40000000UL; __set_FPEXC(fpexc);
}
在mian函数中调用上述代码imx6ul_hardfpu_enable()
makefile
$(COBJS) : obj/%.o : %.c$(CC) -Wall -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -Wa,-mimplicit-it=thumb -nostdlib -fno-builtin -c -O2 $(INCLUDE) -o $@ $<
-Wall -Wa 之间添加-march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard
