1.6.1 FSR Shadow Registers Are Not Writable

Writing to the FSR Shadow Registers does not result in accurate values being stored in the registers. Consequently, reading the FSR Shadow Registers after they have been written will return inaccurate data.

Work around

Writes to the FSR shadow registers can be performed safely using the following steps:

  1. Save regular FSR2 value into RAM.
  2. Write the regular FSR2 with the targeted value minus the computed offset (IR[6:0] + 1, see below).
  3. Write the shadow FSRxL (data doesn't matter), this will clock the shadow FSR with the FSR computed offset value.
  4. Decrement FSR2 value by 1 since FSRxH increments the address by 1 (IR[6:0]).
  5. Write FSRxH.
  6. Restore the regular FSR2 from the stored RAM value.

The FSR shadow should have the value desired and the regular FSR should have the original value.

Affected Silicon Revisions

D1 D3 E0
X X