为了要使用STemwin5.40支持的新功能ARGB,昨天晚上从论坛下载了固件包STM32CubeF7_V1.12.0。解压缩后,打开STM32F746G-Discovery板卡中关于STemwin的例子(STemWin_memory_device),没有做任何修改,直接进行编译,发现一大堆报错,如下图所示: 看了一下报错的类型,都是跟FPU有关。于是我把KEIL编译器里FPU改成Not Used,其他不动,重新编译一下,结果编译成功。如下图所示: 开始怀疑STemwin5.40不支持FPU功能,但是官方的这个例程默认是勾选FPU这个选项的,难道他们没有编译过吗?还是这个例程有问题?于是我打开STM32F746G-Discovery板卡中关于STemwin的例外一个例子(STemWin_HelloWorld),没有做任何修改,直接进行编译,发现一大堆报错,跟上面那个例子的报错是一样的,都跟FPU有关。总不能两个例程都有问题吧? 我不死心,打开STM32F769I-Discovery板卡中关于STemwin的一个例子(STemWin_memory_device),没有做任何修改,直接进行编译,编译成功。我查看了下KEIL中关于FPU的选项,官方默认使用双浮点运算。于是我把他改成单浮点运算,重新编译,编译报错,如下图所示: 看来STemwin5.40支持FPU功能,但只支持双浮点运算。那意思是要想用STemwin5.40就必须关闭FPU功能,要么选择双浮点运算。我去,这也太坑了吧。还有没有别的解决方法。 |
有的,买他们的源码。 |
缩短官方例程重新尝试看看呢 |
我用了IAR,试了F7,H7的双精度没有编译问题,试试IAR?我的keil还在升级packge.. |
双精度是没有问题的,单精度是不行的 |