Gast
#5071049
Hallo,
ich mache gerade meine ersten Gehversuche mit dem Atmel Studio 7 und
einem SAM D Controller. Leider hat dieser nur 4k RAM und so stört es
mich, dass die libc davon über 1k für sich reserviert. Auf der Suche
nach dem Übeltäter stieß ich auf diese Zeile im .map -File:
.data.impure_data
0x20000000 0x428 c:/program files
(x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/ar
m-none-eabi/6.2.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc.a(lib_a-
impure.o)
0x20000428 . = ALIGN (0x4)
0x20000428 _erelocate = .
Anscheinend scheint libc einen statischen Puffer namens impure_data
anzulegen, der entsprechend viel Speicher blockiert. Offenbar hat das
irgend etwas mit der reentrance-Fähigkeit zu tun, ich kenne mich mit der
libc aber nicht wirklich aus. Mein Bauchgefühl sagt mir, dass normale
single-threaded Programme diesen Speicher nicht wirklich benötigen.
Weiss jemand, ob und wie sich der Speicherbedarf der libc reduzieren
lässt?