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.

When attempting to erase flash, the system reboots, or resets.



I am attempting to write to flash on a f28335.  When I erase or program before my device during initialization, and before my main loop, I have no issues and it works properly.  Later, after I am in my main loop, if I want to save data to flash, it fails while trying to erase.  I should tell you that the flash erase, program, and verify routines I call this from are in ram, and not flash.  I believe that I can still program it (ie Flash_Program), but it fails when I try to erase (Flash_Erase).  When I say fail, I don't mean that it comes back with a non-zero return value, what I mean is that the chip just reboots and the system starts over.  It also zeros out a chunk of the Flash.  I am erasing Sector H, but when it resets, there are 0x0000 from address 0x300000 to around 0x30026A, where it prior to this call, all but the first few values were 0xFFFF.

I did verify that when Flash_Erase is called in both before and after the main loop, the routine call goes to the same address.  I don't know this code, but the address is the same, and the symbols look the same.  I am also running this on my emulator, but with a release version burned into flash.  I should also tell you that prior to calling these functions, I again make the assignments Flash_CPUScaleFactor = SCALE_FACTOR; Flash_CallbackPtr = (void *)NULL;

Any thoughts you might have would be greatly appreciated.

Curtis