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.

TMS570 DMA MPU violation interrupt

Other Parts Discussed in Thread: TMS570LC4357

Hello Hercules forum team,

the DMA module has an MPU.

In TMS570LC4357 TRM, There are two sections related with the MPU:

1. section 20.2.9:

"an interrupt is issued when the DMA detects that the access falls outside of a memory region programmed in the MPU registers of the DMA."

2. section 20.2.15.1:

"A region of memory not configured for access settings by the registers has "Full Access" privileges"

The same description is also valid for TMS570LS devices.

According to description 1, the regions outside the programmed regions are not allowed to be accessed.

According to description 2, the whole memory is taken as "default background memory" and DMA has full access.

Which description is correct? Or I have misunderstood something?

Thanks and regards,


Libo

  • Hi Libo,

      Both statements are correct but may not be clearly worded. The description is saying that if there is an MPU violation then the DMA will generate an interrupt. Please note that the MPU error signal is actually routed to the ESM GP1.2. 

     In the second description in section 20.2.15.1, it is trying to say that if you leave all the MPU registers in their default setting after reset, there will be no MPU checking. The DMA will have full access permission to the address ranges defined in the control packet. Maybe the word "Full Access privilege" is confusing you. It can be stated as "Full Access permission". From the DMA point of view, the transactions will be initiated. However, down the road the transaction will be further protected and transaction may be blocked by the PCR protection, PCR masterID, NMPU or even ignored by the slave if one of these modules decided that the DMA access violates the defined access permission.

  • Hi Charles,

    the word "Full Access privilege" is not confusing.

    "A region of memory not configured for access settings by the registers has "Full Access" privileges."

    I have understood as: we can configure a few (up to 8) regions to be protected by DMA MPU. All those regions which are not configured for access settings are outside all protected regions. We have full access permission to these unprotected regions.

    Thank you very much for the answer!

    Best regards,

    Libo