I am clocking my TM4C1290NCZAD at 120MHz.
My code is split into two sections: The low flash sector (0-16K) contains a boot-loader program. The remaining upper sectors contain my main application.
Using the TivaWare flash routines when running in the low section, I can program the upper flash sectors without any problem.
But using the same TivaWare flash routines running in the upper flash area, the processor resets spontaneously when programming the low flash sector, leaving me with a partially programmed sector. I can see the data in the flash sector being programmed up to about 0x900, and then it contains the erase value of 0xffffffff for the remainder of the sector. This is entirely repeatable except that the point when the programming quits varies somewhat. I have interrupts disabled and the vector table pointing to SRAM during this time.
I have determined that if I lower the system clock frequency to 30MHz during the programming, it seems to work fine. I restore the original 120MHz after the programming is over.
Any idea why this would happen?