2.12 Reading Configuration Registers

The procedure for reading the Configuration Words is similar to the procedure for reading code memory. Since there are multiple Configuration Words, they are read one at a time.

Table 2-9 provides the ICSP programming details for reading the Configuration Words.

Table 2-9. Serial Instruction Execution for Reading Configuration Words
Command (Binary)Data (Hex)Description

Step 1: Exit the Reset vector.

0000

0000

0000

0000

0000

0000

0000

000000

000000

000000

040200

000000

000000

000000

NOP

NOP

NOP

GOTO 0x200

NOP

NOP

NOP

Step 2: Initialize the TBLPAG register, the Write Pointer (W7), and the Read Pointer (W6) for the TBLRD instruction.

0000

0000

0000

0000

200xx0

20FCC7

8802A0

2xxxx6

MOV #<Address23:16>, W0

MOV #VISI, W7

MOV W0, TBLPAG

MOV #<Address15:0>, W6

Step 3: Store the Configuration register and send the contents of the VISI register.

0000

0000

0000

0000

0000

0000

0000

0001

0000

0000

0000

0000

0000

0000

0001

000000

BA8B96

000000

000000

000000

000000

000000

<VISI>

BA0B96

000000

000000

000000

000000

000000

<VISI>

NOP

TBLRDH [W6], [W7]

NOP

NOP

NOP

NOP

NOP

Clock out contents of the VISI register.

TBLRDL [W6], [W7]

NOP

NOP

NOP

NOP

NOP

Clock out contents of the VISI register.

Step 4: Repeat Steps 1-3 until all Configuration registers are read.