Hello,
I experiement a crash in my sysbios application and I'm unable to see where it crashes.
Our platform was pretty stable before adding another CAN communication thread (Task) responding on semaphore post (from CAN HWI thread).
I'm able to re-created the bug easily, but I'm unable to get to the point where it crashes. This bug is really not easy. It ceases to happened when we deactivate some optimization flags, or when we remove some apparently not related code, etc.
The application looks like this:
- One HWI high frequency thead in FIQ: I am almost 100% sure that this code is decoupled from the rest of application (BIOS). The interrupt comes from NHET module of TMS570. This thread trigs the SSI interrupt at slower rate.
- One HWI thread in IRQ (BIOS). The interrupt comes from SSI. We called manually the BIOS TICK here and post a semaphore.
- One HWI thread in IRQ also. The interrupt comes from CAN communication. We post another semaphore here also.
- Several others threads, all TASK type thread. One of this task, the lowest priority, runs continously. The other are blocked on semaphore or timeout.
So the problem happens when the CAN communication is involved, so CAN ISR, semaphore post and other processus triggered by timer, mailboxes.
Some suggestions in order to get more informations on what happened?
As it crashes, I can see on the debugger that the FIQ interrupt and its code continue to run, but the rest of this application is crashes (at 0x10 or 0x14)
Setup:
TMS570, sysbios 3.20.8.88, IPC 1.22.3.23, CCS 5.1 N201104171800
Simon