Not enough memory in noMMU UcLinux on STM32f769

Hello,

I'm trying to run noMMU UcLinux buildroot based distribution on STM32F769 (cortex m7) platform with 16MB of RAM.

It seems that at the end, there is over 4MB of free memory but it seems like grouped in a lot of smaller chunks instead of few bigger.

When I run some bigger compiled binaries in flat format, I get segfaults, because memory cannot be allocated to start the app.

I'm getting similar errors on strace, openssl, mosquito, (and it seems on any bigger app):

I'm not sure if I understand right, but last line explains allocation possibilities available. 

It seems that there is enough memory, but I don't understand why it is  so fragmented and grouped in many smaller chunks.

Does this come as a consequence of memory fragmentation and cannot be improved ?

Or is there any possibility to get bigger available chunks of memory, so my binary will be able to come into memory to execute without segfaults ? I remember that older kernels had BIGALLOCS config option, but it seems not present anymore.

Any advice, experience, examples or docs to learn from ?

Thanks in advance,

regards,

Rob.

0