Other Parts Discussed in Thread: HALCOGEN
Tool/software:
Hello,
I have to finish a software based on TMS5730LS3137 + HALCOGEN + FreeRTOS. This software was started by someone else which left the company.
I do not have any experience with this CPU, so it takes me many weeks to understand how it works!
I finally found the root cause of the application spurious crashes, it was a DABT on address 0xFFFFFFB0.
After further research, I saw that this error was raised in FreeRTOS xTaskResumeAll() function. Sometimes, when taskYIELD_IF_USING_PREEMPTION() is called, the CPU is still in user mode!
I changed the routine to check current mode and raise to system mode when required.
Now the software works without any failure.
What I cannot understand, is why sometimes CPU is in user mode at this moment.
Is this a known issue?