doc(newlib): Add doc for newlib

This commit is contained in:
Dong Heng
2018-05-18 15:35:06 +08:00
parent b0afbf3cd0
commit 001df52f54

View File

@ -0,0 +1,48 @@
The newlib version has been updated to "2.2.0" and supply two version C libraries to user.
One is "libc.a" which functions have more features base on stand C, another is "libc_nano.c"
which functions have less function.
You can choose the one you needed by menuconfig:
```
Component config --->
newlib --- >
newlib level(XXXX)
( ) normal
( ) nano
```
The normal "libc" has position argument, "long long" type data and float data
transformation at function printf/scanf and so on. So it should cost more stack
and heap, the test data as following:
|||||||||||||||
|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
||Object||Origin newlib||||New newlib||||New newlib nano|||
|||||||||||||||
||||Start heap/byte|53000|||Start heap/byte|49184|||Start heap/byte||51824|
|||||||||||||||
||Fucntion||Stack/byte|Heap/byte|Heap cost/byte||Stack/byte|Heap/byte|Heap cost/byte||Stack/byte|Heap/byte|Heap cost/byte|
||isalnum||96|53000|0||80|49184|0||80|51824|0|
||isalpha||80|53000|0||64|49184|0||64|51824|0|
||isspace||80|53000|0||64|49184|0||64|51824|0|
|||||||||||||||
||atoi||160|53000|0||144|49184|0||144|51824|0|
||strtol||144|53000|0||128|49184|0||128|51824|0|
||atof||224|53000|0||208|49184|0||208|51824|0|
||atoff||224|53000|0||208|49184|0||208|51824|0|
||strtod||208|53000|0||192|49184|0||192|51824|0|
||strtof||208|53000|0||192|49184|0||192|51824|0|
|||||||||||||||
||asprintf||880|52616|384||1200|48800|384||608|51632|192|
||sscanf ||1552|53000|0||2032|49184|0||1120|51824|0|
|||||||||||||||
||gmtime||944|52616|384||1040|48576|608||1296|51512|312|
||localtime||160|53000|0||288|49184|0||288|51824|0|
||mktime||320|53000|0||448|49184|0||448|51824|0|
||asctime||768|52488|480||1264|48528|656||752|51464|360|
||settimeofday||336|53000|0||320|49184|0||320|51824|0|
||gettimeofday||480|53000|0||464|49184|0||464|51824|0|
||localtime_r||304|53000|0||432|49184|0||432|51824|0|
|||||||||||||||
||asprintf64bit||752|52424|576||1136|48336|848||608|51272|552|
||sscanf64bit||1056|53000|0||1376|49184|0||1040|51824|0|