RAM Control Module
467
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
Internal Memory
takes.
–
µDMA access – two cycles (reads or byte writes takes two cycles of C28 clock when M3 clock
config is /2 or /4 of C28 clock)
–
M3 byte access – two cycles (reads or byte writes takes two cycles of C28 clock when M3 clock
config is /2 or /4 of C28 clock)
–
C28 Access – 1cycle
–
C28 DMA Read – 1 cycle
•
Max cycle latency for an access to Sx memory from any master is five cycles when C28 is master for
that Sx memory. The following are the possible accesses with details of how many cycles each access
takes individually.
–
µDMA Read access – two cycles (reads takes two cycles of the C28 clock when M3 clock config is
/2 or /4 of C28 clock)
–
M3 Read access – two cycles (reads takes two cycles of the C28 clock when M3 clock config is /2
or /4 of C28 clock)
–
C28Access – 1 cycle
–
C28 DMA write/Read – 1 cycle
5.1.1.6
Access Protection
All RAM blocks except for M0/M1 on the C28x subsystem have different levels of protection, based on
which masters have access to the RAM block. If a master has access to a particular RAM block, it can
always read data from that memory. There is no protection for READ.
The following sections describe the different kind of protection available for RAM blocks on this device.
5.1.1.6.1 CPU Fetch Protection
The M3 or C28x CPU has execution permission from a memory, only if that memory is dedicated to that
CPU or its respective subsystem, or if its respective subsystem is master for that memory (in case of Sx
memory). When fetch accesses are allowed based on the mastership from a CPU, it can be further
protected by setting the FETCHPROTx bit of the specific register to ‘1’. If fetch access is done by CPU to
memory where it is protected, a fetch protection violation occurs.
There are two types of fetch protection violations:
•
Non-master CPU fecth protection violation (only applicable to Sx memories)
If a fetch access is made to Sx memory by the non-master CPU, it ’s called a non-master fetch
protection violation.
•
Master CPU fetch protection violation
If a fetch access is made to a dedicated or shared memory by the master CPU, and FETCHPROTx is set
to ‘1’ for that memory, it’s called a master CPU fetch protection violation.
If a fetch protection violation occur on M3, it results into BUSFAULT; whereas, if the violation occurs on
C28x it results into ITRAP. A flag is set into the access violation flag register, and the memory address
where the violation happened gets latched into the cpu fetch access violation address register. These are
dedicated registers for each subsystem.
5.1.1.6.2 CPU Write Protection
The M3 or C28x CPU has write permission to a memory, only if that memory is dedicated to that CPU or
its respective subsystem, or its respective subsystem is the master for that memory (in case of Sx
memory). When write accesses are allowed based on the mastership from a CPU, it can be further
protected by setting the CPUWRPROTx bit of the specific register to ‘1’. If write access is done by CPU to
memory where it’s protected, a write protection violation occurs.
There are two types of CPU write protection violations:
•
Non-master CPU write protection violation (only applicable to Sx memories)
If a write access is made to Sx memory by the non-master CPU, it’s called a non-master write
protection violation.