Hi,
I'm using 52255 for current project. It's working only with internal flash and SRAM, and works fine.
When I try to re-arrange flash blocks for putting something like bootloader in front of normal program, problem happened.
The original flash blocks like following
## intflash (RX): ORIGIN = 0x00000000, LENGTH = 0x00080000
## sram (RW): ORIGIN = 0x20000000, LENGTH = 0x00010000
vectorrom (RX): ORIGIN = 0x00000000, LENGTH = 0x00000400
cfmprotrom (RX): ORIGIN = 0x00000400, LENGTH = 0x00000020
rom (RX): ORIGIN = 0x00000420, LENGTH = 0x0007FBE0
ram (RW): ORIGIN = 0x20000000, LENGTH = 0x00010000
I put bootloader in first 64KB like this
## intflash (RX): ORIGIN = 0x00000000, LENGTH = 0x00080000
## sram (RW): ORIGIN = 0x20000000, LENGTH = 0x00010000
bootloader (RX): ORIGIN = 0x00000000, LENGTH = 0x00010000 # bootloader
vectorrom (RX): ORIGIN = 0x00010000, LENGTH = 0x00000400
cfmprotrom (RX): ORIGIN = 0x00010400, LENGTH = 0x00000020
rom (RX): ORIGIN = 0x00010430, LENGTH = 0x0006FBD0 # Code + Const data
ram (RW): ORIGIN = 0x20000000, LENGTH = 0x00010000 # SRAM - RW data
Don't put bootloader in the begining of flash. Try to put it from 1000~1fff instead. It seems like we shouldn't modify address for these vector tables.