pvPortMalloc() allocates extra bytes

chaabanemalki wrote on Monday, August 25, 2014:

Hello,
I notice that if I allocate 6 bytes using pvPortMalloc(6), FreeRTOS+Trace shows me that the kernel allocated 16 bytes and not 6, I tried different values but FreeRTOS+Traces always shows me different values than the ones I put in my code and with no pattern between them.

I’m not sure if this is normal or it is freeRTOS+Trace who shows wronge values.

I checked the value passed to pvPortMalloc( size_t xWantedSize )

and the definition of size_t is :
typedef SIZE_TYPE size_t; /* type yielded by sizeof */

I’m using PIC32, and i’m not sure if size_t will be considered as int32 or int8.

Thank you.

bowerymarc wrote on Monday, August 25, 2014:

Take a look at the heap code and you’ll understand why there’s a difference.

On Aug 25, 2014, at 9:03 AMEDT, Hicham chaabanemalki@users.sf.net wrote:

Hello,
I notice that if I allocate 6 bytes using pvPortMalloc(6), FreeRTOS+Trace shows me that the kernel allocated 16 bytes and not 6, I tried different values but FreeRTOS+Traces always shows me different values than the ones I put in my code and with no pattern between them.

I’m not sure if this is normal or it is freeRTOS+Trace who shows wronge values.

I checked the value passed to pvPortMalloc( size_t xWantedSize )

and the definition of size_t is :
typedef SIZE_TYPE size_t; / type yielded by sizeof /

I’m using PIC32, and i’m not sure if size_t will be considered as int32 or int8.

Thank you.

pvPortMalloc() allocates extra bytes

Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/freertos/discussion/382005/

To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

chaabanemalki wrote on Monday, August 25, 2014:

		/* The wanted size is increased so it can contain a BlockLink_t
		structure in addition to the requested amount of bytes. */

got it ;). I should take these 10 extra bytes in consideration when calculating the heap worst case scenario.