Short form:
When I run my code, I'm getting system resets somewhere inside:
flash_command_sequence.6917() at fsl_flash.c:2,554 0x4388
FLASH_Erase() at fsl_flash.c:731 0x4880
Details:
I'm running code which is closely modeled after the Flash programming example in:
boards/frdmkl27z/driver_examples/flash/pflash/pflash.c
However, when I call FLASH_Erase(), the system resets. (And since my call to FLASH_Erase() is in the initialization code, it resets repeatedly.) Unfortunately, when I single step into FLASH_Erase(), the call to FLASH_Erase() completes normally which makes it difficult to pinpoint the problem. [UPDATE: at least I thought it did. Now it seems to reset repeatedly when I try to step into callFlashRunCommand(), aka flash_command_sequence.]
The system is powered off USB and a SEGGER JLink, so I think it has sufficient power.
I notice the call flash_command_sequence() has comments about executing position-independent code in memory -- is it possible that the code isn't properly loaded into memory?
Any idea what might be causing this, and what I can do to work around it?