This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA3XEVM: MMU_FAULT_PC register broken?

Part Number: TDA3XEVM

Hi.

The MMUs for the DSPs doesn't seem to generate the correct PC value in the MMU_FAULT_PC register when a MMU exception occur. On the M4 I catch the exception but am only able to read this register as 0x0. I'm running on the EVM board with a XTDA3SXXABFQ1.

Does the same error exist for the production parts as well (TDA3x)? Is there a workaround or a scenario where this register contains the correct address?

With best regards,

Mattias

  • Mattias

    The MMU_FAULT_PC does not reflect the value of the PC at which the MMU fault has occurred in the TDA class of devices.

    The MMU_FAULT_AD can be used to find which data access made the MMU exception.

    Thanks and Regards

    Piyali

  • Hi Piyali. Thanks for your reply.

    So the register MMU_FAULT_PC is not broken? It is 0 by design?

    Yes, I am aware we can use the AD to read the address of the data access, which is good, but it's only half the information you need to find the error.

    During development we can always hook up the emulator and set a hardware watchpoint/breakpoint on the accessed segment, but in production...what use is the AD information without the PC?

    With best regards,

    Mattias

  • Hi Mattias

    The MMU_FAULT_PC is 0 in Jacinto 6 family.

    In the current architecture, while it is possible to identify the address access which caused the fault (given by AD), the call stack cannot be obtained without the debugger.

    The best case would be to log the address which caused the error and then re-boot the DSP. 

    On a side note in the TDA3x I am trying to understand why you would need to enable the DSP MMU. The typical usage scenario for the DSP MMU is when there is an HLOS running on A15 in TDA2x class of devices. If you would like to perform a sort of memory protection mechanism, you can use the DSP XMC instead of the MMU.

    Thanks and Regards

    Piyali

  • Thanks Piyali.

    We are considering using the XMC.

    BR Mattias