相同应用代码下,nosys.spec vs nano.spec 的内存占用大小。

nosys.spec:

1
2
3
Memory region         Used Size  Region Size  %age Used
             RAM:        4240 B        16 KB     25.88%
           FLASH:       44892 B        64 KB     68.50%
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
library name,text,rodata,data,bss,code,flash,ram
nofp\libc.a,25152,1056,2476,60,26208,28684,2536
nofp\libgcc.a,3116,0,0,0,3116,3116,0
main.c.obj,220,26,0,100,246,246,100
libCMSIS.a,570,0,4,0,570,574,4
libbsp.a,484,0,0,0,484,484,0
libtask.a,220,0,0,16,220,220,16
libn32g430_std_periph_driver.a,694,64,0,0,758,758,0
nofp\libnosys.a,144,0,0,4,144,144,4
crtn.o,8,0,0,0,8,8,0
crtbegin.o,0,0,0,0,0,0,0

nano.spec:

1
2
3
Memory region         Used Size  Region Size  %age Used
             RAM:        1808 B        16 KB     11.04%
           FLASH:       17620 B        64 KB     26.89%
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
library name,text,rodata,data,bss,code,flash,ram
nofp\libc_nano.a,4328,151,100,15,4479,4579,115
main.c.obj,220,26,0,100,246,246,100
libCMSIS.a,570,0,4,0,570,574,4
libbsp.a,484,0,0,0,484,484,0
libtask.a,220,0,0,16,220,220,16
libn32g430_std_periph_driver.a,694,64,0,0,758,758,0
nofp\libnosys.a,108,0,0,4,108,108,4
crtn.o,8,0,0,0,8,8,0
crtbegin.o,0,0,0,0,0,0,0

当在内存资源不富裕的设备开发,应优先使用 nano.spec,不然光打印一个 hello word flash 内存就已经用到二、三十KB了,开销太大。