GNU Tools for ARM Embedded Processors 4.7 newlib-nano

一直以来newlib是嵌入式中比较好的一个基础库,不过一旦用上printf就一下变得臃肿了。GNU Tools for ARM Embedded Processors这个项目开发了一个nano版的newlib。

回头把FreeRTOS的工具链换成这个试试。

简单试了一下,的确有减少,减少了33Kb。
你说不就33Kb嘛,这个可是在嵌入式啊,33Kb很多了!!!:


arm-none-eabi-gcc kk.c -lc && arm-none-eabi-size a.out
text data bss dec hex filename
43308 2260 96 45664 b260 a.out

arm-none-eabi-gcc kk.c -lc_s && arm-none-eabi-size a.out
text data bss dec hex filename
11016 248 48 11312 2c30 a.out

指定处理器和指令集的情况下:

arm-none-eabi-gcc kk.c -lc -mthumb -mcpu=cortex-m3 && arm-none-eabi-size a.out
text data bss dec hex filename
35916 2260 96 38272 9580 a.out

arm-none-eabi-gcc kk.c -lc_s -mthumb -mcpu=cortex-m3 && arm-none-eabi-size a.out
text data bss dec hex filename
6472 248 48 6768 1a70 a.out

继续去掉启动代码:

arm-none-eabi-gcc kk.c -mthumb -mcpu=cortex-m3 -lc_s -lg_s -nostartfiles && arm-none-eabi-size a.out
text data bss dec hex filename
6056 232 20 6308 18a4 a.out

源代码如下:

这个只是保证编译能通过,并没有做其他的。

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

This entry was posted in Memo and tagged , , , , . Bookmark the permalink.