TC register read access can be done in two ways:
- A direct read to the TC
registers. In this case, there can be a discrepancy between the final time
read and the real time because the RTC keeps running because some of the
registers can toggle in between register accesses. Software must manage the
register change during the reading.
- Read access to shadowed TC
registers. These registers are at the same addresses as the normal TC
registers. They are selected by setting the GET_TIME bit in the RTC_CTRL_REG
register. When this bit is set, the content of all TC registers is
transferred into shadow registers so they represent a coherent timestamp,
avoiding any possible discrepancy between them. When processing the read
accesses to the TC registers, the value of the shadowed TC registers is
returned so it is completely transparent in terms of register access.