FreeRTOS 7.4 :: xQueueGenericReceive

xdan01 wrote on Friday, November 08, 2013:


i have some problems. My code stuck ad this assert:
configASSERT(!((pvBuffer == NULL) && (pxQueue->uxItemSize != (unsigned portBASE_TYPE) 0U)));

Is this caoused by memory curruption or some other thing ?

Best regards,

rtel wrote on Friday, November 08, 2013:

That line is catching an attempt to write data to, or read data from, a NULL pointer. If you trigger that assert then either one of the parameters passed into the function has been corrupted, or the API is not being used correctly. For example, was the queue created correctly, with the correct parameters in the correct places? Etc.

Sometimes it is valid to pass a NULL pointer into the function. That is what happens when you are using a semaphore, rather than a queue - but it is only valid if the item size is zero so there is no attempt to actually access the pointer. Are you finding that the assert is triggered when you are using a queue or when you are using a semaphore?


xdan01 wrote on Friday, November 08, 2013:

I found an error it was caused by my memory curruption ( i overflow array and written more than array size). So the xStart variable (start pointer for free blocks) was currupted and some other staff. I fix the bug and seems to be all ok.

Very much thx for replay, every time I learn something thnx :slight_smile: