Hi all,
I'm getting SYS abort called with message 'LOCK NOT CALLED IN TSK CONTEXT' whenever malloc is called,
I have ruled out few common checks which could have been the cause, according to my understanding.
1. checked for the Stack overflow in Kernal view of the DSP/BIOS, Which shows that there is no problem with any of the thread used.
2. The function which uses the malloc is called as a part of SWI function. I have called the same function, which calls the malloc before the task's were serviced which allocates without any problem, but after which it always throws this error whenever malloc is called.
3. I don't see any blocked tsk except for the ones that's waiting on the semaphore post.
Additional info,
I'm using the UART sample from PSP version 1.30.01, and separated as the transmit and receive into two different tasks with the same priority.
The transmit works without any problem and it depends on the semaphore from my other function.
But the Receive always gets the status as Timeout, which has the semaphore inside the GIO.
to my surprise the UART receives the data from the teraterm, but still the status that is returned from GIO is timeout , though i tried to set the values as
hUart_IN ->timeout = 100; (tried using while loop which is of no use either)
I tried to use the below given lines of code, to clear out, but for some odd reason, it never hits the break point of the if loop that checks the returned status if its not completed.
status = GIO_control(hUart_IN, Uart_IOCTL_RESET_RX_FIFO, 0);
status = GIO_control(hUart_IN, Uart_IOCTL_CANCEL_CURRENT_IO, 0);
status = GIO_flush(hUart_IN);
I know this is the different issue, but is this causing the SYS abort, as i'm getting the error with malloc only after the task's were called?
Does anybody know what could be the root cause.?
any help would be much appreciated.
I'm using CCS3.3, DSP/BIOS 05.33.01, OMAP L137, PSP package 01.30.01.