
Maybe, but I don't think so. At least I see no code in ARMBoot to relocate the exception vectors.
Because they can't be. The vectors always sit at address 0000'0000, and thus in the flash. You can only change that by turning on the MMU. So the relocated entry points are loaded to the pc via ldr, the only exception being the RESET vector, obviosly. In other words, interrupts in ARMboot can only be used _after_ relocation.
I think you fail to understand the problem.
IF the flash memory is mapped to an area != 0x0 AND the SDRAM memory is mapped to 0x0 BUT the _TEXT_BASE does not start at 0x0, THEN the exception vectors will not work, as there is no proper handling of this case in the current code.
All other issues you have raised are correct, but fail to recognize the situation.
Best regards, Lars Friedrich