SPRUI33H November 2015 – June 2024 TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1
Write accesses from the DMA can be protected by setting the DMAWRPROTx bit of a specific register to 1. If a write access is done by the DMA to protected memory, a write protection violation occurs.
If a write access is made to GSx memory by a non-master DMA, the write is called a non-master write protection violation. If a write access is made to a dedicated or shared memory by a master DMA, and DMAWRPROTx is set to 1 for that memory, the write is called a master DMA write protection violation.
A flag gets set in the DMA access violation flag register, and the memory address where the violation happened gets latched in the DMA fetch access violation address register. These are dedicated registers for each subsystem.
Note 1: | All access protections are ignored during debug accesses. Write access to a protected memory go through when the write is done by way of the debugger, irrespective of the write protection configuration for that memory. |
Note 2: | Access protection is not implemented for M0 and M1 memories. |
Note 3: | In the case of local shared RAM, if memory is shared between the CPU and the CLA, the CPU only has access if the memory is configured as data RAM for the CLA. If the memory is programmed as program RAM, all the accesses from the CPU (including read) and data accesses from the CLA are blocked, and the violation is considered a non-master access violation. If the memory is configured as dedicated to the CPU, all accesses from the CLA are blocked and the violation is considered a non-master access violation. |