Bug using pvPortMalloc

Posted by Nobody/Anonymous on March 22, 2006
Hello,
we have ported FreeRTOS on the ADUC7026 Microcontroller and have sucessfully used pvPortMalloc from Heap_2.c for many purpose.
But since we try to allocate memory for a certain Datastructure, it works correctly with the Keil simulator but abort when testing on the Ucontroller.

Here is the datastructure.

/*********************************************/
typedef struct txmsg {
struct txmsg *next; /* Next in linked list. */
ABCSP_TXMSG *m; /* The message (reference) itself. */
unsigned chan:4; /* BCSP channel. */
unsigned seq:3; /* Sequence number. */
} TXMSG;

/*******************
And here the code using that datastructure * ********************/

void testCalloc(void){

TXMSG * m;
m = ( TXMSG * ) malloc ( sizeof ( TXMSG ) );
if ( m ==(( TXMSG * ) NULL ) ) /*Panic*/ ;
else {
m->chan=0;
}
}
/********** End of the code ******************/

We stepped with the Keil Debugger on the Heap_2.c
pvPortMalloc code and found that the System allways abort when trying to call:

/* Insert the new block into the list of free blocks. */
prvInsertBlockIntoFreeList( ( pxNewBlockLink ) );

Please have even had a such problem ? Or do you have any solution for this?

Thank you in advance.

Emeric

RE: Bug using pvPortMalloc

Posted by Nobody/Anonymous on March 22, 2006
Do you have portBYTE_ALLIGNMENT set correctly?


RE: Bug using pvPortMalloc

Posted by Nobody/Anonymous on March 22, 2006
portBYTE_ALIGNMENT is set to 4.

Emeric