I have some questions on the Flash system:
Start address | End address | Allocated size (KB) | RWW partition | Block number | Block type | Example use | |
0x00000000 | 0x0000FFFF | 64 | 0 | 0 | Low | EEPROM data | |
0x00010000 | 0x0001FFFF | 64 | 1 | 1 | Low | EEPROM data | |
0x00020000 | 0x0002FFFF | 64 | 2 | 0 | Mid | EEPROM data | |
0x00030000 | 0x0003FFFF | 64 | 3 | 1 | Mid | EEPROM data | |
0x00040000 | 0x003FFFFF | 3840 | — | — | Not available | n/a | |
0x00400000 | 0x00403FFF | 16 | 0 | 0 | UTEST | See Table 4-3 | |
0x00404000 | 0x005FFFFF | 2032 | — | — | Not available | n/a | |
0x00600000 | 0x00603FFF | 16 | 4 | 0 | High | CSE | |
0x00604000 | 0x00607FFF | 16 | 5 | 1 | High | CSE |
CSE flash blocks cannot be used for general purpose functionality because of reason below:
Hi David. Thanks for the info. I appreciate it.
The block type affects mainly endurance and data retention as you can see below (datasheet screenshot):
You can execute code from the lower flash areas, but areas with higher endurance (smaller block) are mainly intended for EEPROM emulation, but you can execute code from these area as well. I am not completely sure about CSE blocks, I am finding it out, returning to you.
Regarding blocks and partitions, blocks are numbered in ascending order withing one block type, partitions the same way withing the whole flash. Just matter of implementation.
The MPC5777C.
Could you specify used device?