The device does not support a swap table for the
CLA task vectors (MVECTs). CLA LFU is implemented typically on the CPU side, where
the MVECTs are updated sequentially at an appropriate time. The techniques for when
to update the MVECTs are described in the LFU system reference design guide, but
noted here that the approach is different from the CPU PIE vector table case, where
a simple single cycle swap achieves the switch to the new PIE vector table.
For the LS0/LS1 RAM memory swap feature to be
useful for CLA LFU switchover, two conditions need to be satisfied:
- CLA code has to fit into a single LSx block. The
MVECT table contains CLA task vectors, whose addresses correspond to locations
in the LSx block. For example, if the current firmware CLA code is present in
LS0, MVECTs point to various locations in LS0. If the new firmware CLA code is
present in LS1, MVECTs point to various locations in LS1.
- When switching over from current to new firmware,
the MVECTs need to be updated, unless the MVECTs reside at the same relative
location in both LS0 and LS1. If that is the case, then simply swapping LS0/LS1
RAM memory blocks effectively updates the MVECT table, without the need to
sequentially update the MVECTs.