Hi!
I'm developing some SW for an Atmel AT91R40008 controller, which is based on the ARM7TDMI core. It has a funny functionality that the memory map can be changed after boot by switching a bit in one of the config registers. The reasoning behind it is that this way you can boot from an external ROM and latter map RAM to the reset/irq vectors. This is called 'remap'. The usual way to handle this is to copy the content of the ROM into the RAM, than do the remap and continue execution. This works, since after the remap the processor sees the same bits and bytes at the same addresses, only now from a different chip. So, here's my question: is it safe to load a *different* image into the RAM, and have the following (or similar code segment):
LDR r0, =REMAP_CONTROL_REG MOV r1, #1 STR r1, [r0]