I am trying to understand the limitations of erasing and writing to FLASH (on a FLASH only / no FlexNVM device) while executing from FLASH.
I have a bootloader that fills SECTOR0 (32K) on a 1MEG part. Can I erase and write to any other sector on the device? I saw several references in the documentation that made it sound like you could only write to a "block" that you were not executing from. But I believe these devices only have two FLASH "blocks" (unless I misunderstand what a "block" is). Is the read/erase exclusion sector based or block based?
Separately.... what is the easiest way to be able to overwrite my bootloader, i.e.write to Sector0 from code executing in Sector0?
- Have the bootloader copied into RAM on startup? Then the entire FLASH device, all 1MEG, should be erasable and writable, right?