wella wrote on Thursday, August 20, 2009:
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