3.5 Read Memory

This algorithm (Table 3-5) may be used to read from any implemented memory space, including the DEVID, DEVREV, device registers, RAM, User Flash, User OTP, UCA and UCB Configuration Words, and SFRs. A 32-bit aligned read address is required.

Attempts to read from unimplemented memory, reserved addresses, regions protected by code-protect or persistent security restrictions defined by UCB security region descriptors will return zero.

Table 3-5. Read Memory Algorithm
ICSP™ SequenceICSP Command CodeData/OpcodeInstruction Executed
Step 1: Initialize Transfers Destination Pointer (W8) to the VISI register.
CMDEXEC000xA0001F03MOV.SL #VISI, W8
Step 2: Initialize pointer to read from.
CMDEXEC000x80000003 |

(Read Address [23:0] << 2)

MOV.SL #ReadAddress<23:0>, W0
Step 3: Issue a dummy CMDSEQRD to copy the first read data into VISI. Throw the data returned by this dummy operation away as they are the existing contents of VISI, not the data read from Read Address[23:0].
CMDSEQRD11VISIMOV.L [W0++], [W8]
Step 4: Read the VISI register using CMDSEQRD.
CMDSEQRD11VISIMOV.L [W0++], [W8]
Step 5: Repeat Step 4 until all sequential data have been read from the target device. To update the address for a random access, return to Step 2.