| 可以按如下步骤和思路尝试解决: 1、FPU没有正确启用;
 在IDE的编译器选项中,看看有木有启用FPU选项配置;
 2、时钟配置
 如果系统时钟没有正确配置,可能会导致FPU无法正常工作;
 3、堆栈对齐
 FPU操作好像是需要8字节对齐的;
 可以在启动文件startup_gd32f4xx.s中修改:
 __initial_sp    EQU     0x20020000 & ~0x7   ; 8 字节对齐
 4、中断优先级配置;
 将PendSV 和 SysTick 的中断优先级设置为最低:
 NVIC_SetPriority(PendSV_IRQn, 0xFF);
 NVIC_SetPriority(SysTick_IRQn, 0xFF);
 
 以上希望对你有用!
 
 |