OppaErich hat geschrieben:Was hast denn Du vor, 256kB Flash und die libc ist Dir zu dick ?
mir geht es um die 500 Byte für ein simples strcmp(), vor allem, weil es ohne die lib auch mit 26 Byte geht! Dann will ich ein Programm von einem 8-Bit Rechner auf den STM32 bringen, das waren 40K Assembler und ich hab' so das Gefühl, das C für Cortex-M nicht gerade Byte-sparend ist.
danke, aber da wird ja auch nur die Kompilierung beschrieben. Es wäre halt nett, wenn die newlib dann wieder mit dem gcc integriert wäre, so wie bei den Debian-Paketen.
king-crash hat geschrieben:Also ich hab bei meinen Mikrocontrollern mit crosstool
http://crosstool-ng.org den compiler gebaut. Da kann man auch direkt eine libc auswählen und du musst nichts von Hand machen.
Genau so geht's auch mit den Debian-Paketen, einfach installieren und loslegen. Bis auf die paar Bytes zuviel...
Aber
mit einem Update hat sich die Frage erledigt, wenn auch nicht beantwortet. Seit dem 5. September ist im
libnewlib-arm-none-eabi die
newlib-nano dabei. Damit braucht strcmp() noch ganze 20(!) Byte. Jetzt fehlt nur noch der Auswahl-Mechanismus per
/etc/alternatives.
Allerdings verwende ich bei allen Prozessoren ohne OS generell keine libc. Wozu auch, für die 3 Aufrufe kopiere ich die gewünschten Funktionen. So werden diese ganz nebenbei auch je nach Bedarf automatisch mit -Os oder -O3 kompiliert
Bei meinem Programm kannst du eine Münze werfen, Zahl = mit libc. Ich brauche u.a. 2 Tasks mit einer mehrsprachigen Mini-Shell und Zeitzonen muss das Teil auch kennen. Als "OS" gibt's ChibiOS, das braucht übrigens (ohne Treiber) nicht einmal 2K.
Beware of programmers who carry screwdrivers.