This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

FlashErase erase and ROM_FlashErase erasing wrong memory on LM4F232

I am working on an LM4F232 on an EKS board using CCS 5.1.  I am loading an application into FLASH using a bootloader.  I first erase a page, get 1024 bytes of data over the CAN bus then flash the page.  After flashing I check to see that the data I just received over the bus is the same as that which I just programmed into flash.  So far no problems.

Then I move to the next page and the FlashErase command erases the previous page.  I am putting the value of the first UINT32 of the worst offending page into a RAM buffer, before and after the call to FlashErase.  When I call FlashErase(0x3C00) I witness 1024 bytes starting at 0x3800 erased.  I find that this 0x3800 is >95% likely to get erased when erasing 0x3C00.  I have seen it survive the erase of the next page once out of many tries.  There are other pages that have this problem and some that never have the problem.

Pages at 0x3400 and 0x3C00 are not bothered by FlashErase on other pages.  The page at 0x4800 is also fairly dependable on loosing its data.

I have tried dropping from 80MHz to 25MHz operation with no change.  I have tried ROM_FlashErase and FlashErase with no change in behavior.

I can dump memory out of CAN as well and have confirmed the page that looks erased in memory browser is also erased by looking at each byte.

Any ideas on why FlashErase is erasing unattended memory?