嵌入式系统的小型libc

GT.*_*GT. 25 c embedded libc freertos

我正在寻找一个用于嵌入式使用ARM7微控制器上的freertos的小型libc.我看过newlib,但它对我的需求来说太复杂了.Newlib在许多函数中调用malloc()(例如printf()),这对小型嵌入式实时系统不利.

有谁知道一个适合我的应用程序的小型,可移植,开源的libc实现?

Chr*_*oph 11

PDCLib 可能符合您的需求.尽管如此,它仍然是不完整的 [断链],并且可能需要更多的实际测试.它的作者在这里由DevSolar提供.

更新2012-11-01:自2012-08-14开始,Owen Shepherd接管了开发,完成了新的主页bitbucket存储库 [断开链接,使用链接].

更新2015-10-31:专用网站似乎已经死了,但代码仍然可以在bitbucket上找到.对该存储库的最后一次提交发生在2014-11-24.

更新2016-07-12:网站已备份,DevSolar于2016-03-01再次开始提交.


Tur*_*o J 9

我在带有32kB RAM的Cortex_M3上使用newlib,并且消除了malloc()你可以使用的siprintf()sniprintf().

亲:不再打电话给malloc().

Con:它不支持格式化floatdouble,并且这种方式不是真正可移植的.


Cli*_*ord 7

如果您使用newlib和不执行系统调用SBRK,那么任何函数使用需要的malloc会产生一个链接错误,这会防止意外使用需要动态内存调用.所以我建议你这样做,然后简单地避免那些导致链接器错误的函数.您可以修改或覆盖您不想使用的任何库函数.