config assert at heap 5
Hi
I have a problem,
my config assert pops at configASSERT( pxEnd ) in pvPortMalloc function, when I try to create task
it means that pxEnd is not initialized.
any suggestions?
config assert at heap 5
Does this provide a clue?
void *pvPortMalloc( size_t xWantedSize )
{
BlockLink_t *pxBlock, *pxPreviousBlock, *pxNewBlockLink;
void *pvReturn = NULL;
/* The heap must be initialised before the first call to
prvPortMalloc(). */
configASSERT( pxEnd );
i.e. have you called vPortDefineHeapRegions()
?
Do you need heap_5.c
with its segmented, user defined heap?
config assert at heap 5
at the heap5.c pxEnd = NULL at declaration as static.
I don’t see any change at pxEnd to any non zero value, at the all file.
config assert at heap 5
as for the heap5 question
I am new to free rtos and i wrote simple main func that creates a task and runs it.
config assert at heap 5
Andy made some suggestions as to what the problem might be, but I don’t think you have answered either of his questions.
Regards.
config assert at heap 5
I see that vPortDefineHeapRegions() contains the same assert check,
but I don’t see the code that change the pxEnd before the assert check.
config assert at heap 5
I see that vPortDefineHeapRegions() contains the same assert check,Actually, it doesn’t. It checks pxEnd is NULL to ensure you don’t call the function twice.
but I don’t see the code that change the pxEnd before the assert check.It is done in vPortDefineHeapRegions(). Regards.
config assert at heap 5
Where is it done?
config assert at heap 5
Didn’t I tell you that in my very last post in this thread?
config assert at heap 5
Sorry for the dumb question:
should I use heap for every program that I write?
I have watch some tutorials for free RTOS, and I never saw heap functions at main.
config assert at heap 5
http://www.freertos.org/a00111.html