如果我为Cortex-M4(LPC4357)编译GCC项目,并使用
我认为我可能需要修复其他开关,以使浮点数在
相关的编译器和链接器开关:
编译器:
-mcpu=cortex-m4
开关,浮点数不起作用(调用blx __addsf3
,最终分支到stmia
命令,导致错误中断,可能是由于寄存器中的错误值)。如果我使用-mcpu=cortex-m3
进行编译,它会调用bl __addsf3
,它具有不同的源代码并且可以正常工作。我认为我可能需要修复其他开关,以使浮点数在
-mcpu=cortex-m4
下工作。我尝试了几个方法,但这真的很奇怪。相关的编译器和链接器开关:
编译器:
-mthumb -mcpu=cortex-m4 -std=c99 -c -g -D DEBUG -D gcc
链接器:
-nostartfiles -nostdlib -nodefaultlibs -fno-exceptions -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -lgcc -lc
你能告诉我是否有什么明显的遗漏吗?