I am working on MC9S12XEP100 microcontroller. This has 1MB of Flash memory. It starts from address 0x70_0000 and ends at 0x7F_FFFF. This flash memory is divided into 5 blocks. Block 0 (0x7C_0000 - 0x7F_FFFF), Block 1N (0x7A_0000 - 0x7B_FFFF), Block 1S (0x78_0000 - 0x79_FFFF), Block 2 (0x74_0000 - 0x77_FFFF), Block 3 (0x70_0000 - 0x73_FFFF).
I am able to read, write, erase any portion of data on flash in only 4 blocks. When I try to erase or write any location of flash from Block 3 (0x7C_0000 - 0x7F_FFFF), the code gets jumped to some other location. The code gets executed correctly if I execute it in single step. But if I run through the code(Command Write Sequence), the control gets jumped to some other location.
Kindly suggest me any idea to overcome this problem.