I have some questions on the Flash system:
|Start address||End address||Allocated size (KB)||RWW partition||Block number||Block type||Example use|
|0x00400000||0x00403FFF||16||0||0||UTEST||See Table 4-3|
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.