yagarto GCC コンパイラを使用した STM32F0 アプリケーションがあります。_sbrk newlib_stubs.c を実装しました。私が直面している問題は、_sbrk を呼び出して 4K のメモリを要求する際に、malloc(256) を malloc と呼んでいることです。私のシステムには合計 8K しかないので、明らかにこれは問題です。私は _sbrk への呼び出しを監視しましたが、これが少量のメモリを割り当てる前にいくつかの呼び出しを行っているようです。
今のところ、悪臭を避けるために鼻を押さえて、次のようなことをすることで、これを回避しています。
if(requested > 512)
requested = 512;
ヒープを再配置する前に _sbrk で。
システムはしっかりしているように見えますが、これが戻ってきて、思いがけないときに私を悩ませることになると確信しています.