嵌入式应用程序的浮点库

cos*_*cos 3 c embedded floating-point

我正在为Cortex-M3开发程序.它没有浮点协处理器.标准C库可以模拟浮点运算,但由于它的大小,我不使用它.

有没有好的和免费的c库,可以模拟浮点运算,针对ARM处理器?目前,当我使用浮点运算符时,我有这样的链接错误:

undefined reference to `__adddf3'
undefined reference to `__subdf3'
undefined reference to `__divdf3'
undefined reference to `__extendsfdf2'
undefined reference to `__muldf3'
Run Code Online (Sandbox Code Playgroud)

所以可能这样的库应该实现它们.

Cli*_*ord 5

使用固定点你会不会更好(性能和尺寸明智)?对于简单的算术,直接或使用函数接口实现这一点很简单.如果你不能使用C++,那么使用运算符重载可以使得几乎无缝的固定使用(与C函数接口相比没有运行时开销).

如果你有更复杂的要求(触发,根等),这个博士Dobb的文章中提供了一个很好的定点库.


Ste*_*non 1

这些应该在编译器的运行时支持库中定义。这些名称看起来像libgcc(gcc 的支持库)中的浮点函数,它非常小。您应该能够通过适当设置链接标志来引入这些函数。