Part Number: TM4C129XNCZAD
Hi Team TM4C,
My customer has the following questions..
We are doing new development for a TM4C129X and the datasheet/TRM is not as clear as we need to be about flash mirroring (https://www.ti.com/lit/ds/symlink/tm4c129xnczad.pdf section 8.2.3.3 Pg:641).
We want to execute operational code from the lower- or upper-half of flash while downloading a firmware upgrade to the other half, and then toggle the mirror-bit for cutover.
Do you have any additional documentation on the functioning of mirror-mode? The reference manual description is brief and, as noted, somewhat obscure.
For example, the reference manual seems to say that all reads are mapped through the mirroring, in which case it doesn't seem possible to verify correctness of writing the new image (in the other half of flash) before cutting over to it.
As another example, the manual implies assymetric operation between mirror-mode ON and OFF, whereas we were hoping for symmetry -- the mirror-bit selecting between the upper- and lower-halvess for execution, but handling being otherwise symmetric.
Are there resources or examples for how to do an atomic "toggle mirror-mode and reboot" operation? Is there a recommendation to have a common bootstrap in both upper- and lower-halves (and thus not field upgradeable) or is it possible to execute from RAM to toggle-and-reboot?
Thanks, Merril