17.4.4 How to Find Who Caused the Unaligned Quanta Writes After the Interrupt
Assuming that the TDA2xx PG2.0 device is being used, an interrupt will be received from EMIF to a configured core where the interrupt is routed (via CROSSBAR). Note that there is no EMIF address log registered for this sub-quanta write.
- Determine the reason of the interrupt by checking if WR_ECC_ERR_SYS is set in the EMIF_SYSTEM_OCP_INTERRUPT_STATUS register and verify it is because of sub-quanta write.
- Check the MCONID in the EMIF_OCP_ERROR_LOG and establish the source of the error.
- The CONNID can help find the source of unaligned writes
- Once the source is identified, use OCP watchpoint/MA watchpoint to check for sub-quanta writes
- Other inaccurate way if the source of error is CPU is as below:
- Route the EMIF interrupt to the same core. The call trace can give the locality of the code, which is triggered by the sub-quanta write.
- For CPU causing such sub-quanta writes, one can run a check on the object/disassembly file to check for a store halfword or byte instruction.