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.

MPU0 addressing violation interrupt and protection violation interrupt



Dear all 

We are working on C6654  DSP platform, We have configured one EDMA instance and MCBSP interrupts when a sync error comes. In normal mode mcbsp requets are served by EDMA.

In our program we use the DDr3 , 512 Mb. The 32K of L1P is cahce and and 16 K of L1D is cache

When the program runs , we get the following logs LM_begin: hwi: 0x801548, func: 0x8c7400, preThread: 0, intNum: 10, irp: 0x8b7116.

Regarding the ROV, this interrupt  is an interrupt that occurred when an address violation address .Please find the image below

We check the MPU registers and we have noticed that the fault status register  has the value 0x351682. That means that we have an write fault access. However, it is very strange that the fault address is the 023100EC that is related with the PLL .

Additional info:

Code Composer 6

Sys/BIOS bios_6_40_03_39

xdctools_3_30_01_25_core

Could you please help us?

Best  regards

George

  • Hi,

    Thanks for your post.

    What i observe with the fault address 0x 0231 00EC which is related to the RSTCFG register and it is controlled by a valid key from RSTCTRL register. Every write to the RSTCFG and RSTCTRL should be setup with a valid key and this would enable writes to RSTCTRL and RSTCFG. Could you please check the key value it holds which is stored as 0x000C? Maybe, there are chances for the key value to be corrupted and becomes invalid which brings you the fault write access to this address. Kindly validate the key value holding in the RSTCTRL which controls the writes.

    For more info. on the above, please refer section 8.5.2.7 in the C6654 datasheet below:

    http://www.ti.com/lit/ds/symlink/tms320c6654.pdf

    Thanks & regards,

    Sivaraj K

    ------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.

    -------------------------------------------------------------------------------------------------------

  • Thank you for the answer
    You mean to check at the address 0x000C? Is this a valid address?
    Geroge
  • Hi,

    Apologies!

    0x000C is a valid key stored and any other key value is invalid.

    Thanks & regards,

    Sivaraj K

    ------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.

    -------------------------------------------------------------------------------------------------------

  • I should check in CTRL right?
    Thank you

  • Hi,

    Yes, you are right.

    The lower 16 bits of RSTCTRL holds the key value - Kindly validate.

    Thanks & regards,

    Sivaraj K

    ------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.

    -------------------------------------------------------------------------------------------------------

  • Hello
    The value that is stored in the RSTCTRL register is the 00010003. The key has the value 003 that is the default value. Is this a valid key?
    How can set a valid key? Is any example
    Thank you
  • Hi,

    I don't think, this is a valid key. A valid key will be stored as 0x000C.

    I think, in your case, something had messed up the RSTCTRL and RSTCFG registers by being written to it and caused the key invalidated which corrupts the valid key. This brings you the write access violation which stimulates the fault status, i believe so.

    KIndly validate the above cause.

    Thanks & regards,

    Sivaraj K

    ------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.

    -------------------------------------------------------------------------------------------------------