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.
| ICSP™ Sequence | ICSP Command Code | Data/Opcode | Instruction Executed |
|---|---|---|---|
| Step 1: Initialize Transfers Destination Pointer (W8) to the VISI register. | |||
CMDEXEC | 00 | 0xA0001F03 | MOV.SL #VISI, W8 |
| Step 2: Initialize pointer to read from. | |||
CMDEXEC | 00 | 0x80000003 |(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]. | |||
CMDSEQRD | 11 | VISI | MOV.L [W0++], [W8] |
Step 4: Read the
VISI register using CMDSEQRD. | |||
CMDSEQRD | 11 | VISI | MOV.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. | |||
