Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Loading

config assert at heap 5

Posted by crippler1 on March 10, 2015

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

Posted by andymcc0 on March 10, 2015

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

Posted by crippler1 on March 10, 2015

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

Posted by crippler1 on March 10, 2015

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

Posted by rtel on March 10, 2015

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

Posted by crippler1 on March 10, 2015

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

Posted by rtel on March 10, 2015

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

Posted by crippler1 on March 10, 2015

Where is it done?


config assert at heap 5

Posted by rtel on March 10, 2015

Didn't I tell you that in my very last post in this thread?


config assert at heap 5

Posted by crippler1 on March 10, 2015

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

Posted by rtel on March 10, 2015

http://www.freertos.org/a00111.html


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]


Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


Careers

FreeRTOS and other embedded software careers at AWS.



FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Renesas

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner