heap_2.c causes out of memory

Hello, I am running this code: void testMem(void *pvParameters) {     unsigned char * mem;     for (int v = 0; v < 100000; v++)     {         for (int i = 1900; i < 2500; i++)         {             mem = (unsigned char *) pvPortMalloc((i) * sizeof(unsigned char));             if (NULL == mem)             {                 // set breakpoint here             }             vPortFree(mem);         }     } } and after a while the mem becomes null and breakpoint is hitted. This code is running on CortexM3, LM3S8962 copiled by gcc or IAR and freeRTOS 5.4.2. Memory is configTOTAL_HEAP_SIZE ( ( size_t ) ( 32768 ) ). This is a school problem example but I have discovered it in the real situation during receiving ethernet packets. Have anyone the same problem? Regard, Martin

heap_2.c causes out of memory

This will be caused by memory fragmentation. See http://www.freertos.org/a00111.html where it says heap_2 "Should not be used if the memory being allocated and freed is of a random size".

heap_2.c causes out of memory

Hi Dave, thanks a lot. This was my problem. I am trying to implement a bget maybe it will help.