
On Wed, 7 Jul 2004, Wolfgang Denk wrote:
In message Pine.LNX.4.56.0407070943450.1753@mag.sysgo.com you wrote:
This is one of the areas where the old ARMBoot code hits us hard. They never implemented the relocation correctly.
Interrupts worked fine in ARMboot. Maybe you broke CONFIG_USE_IRQ when you ripped the code.
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.
Do interrupts continue to work when you are running from RAM and erase the flash?
For the reasons given above, this cannot work if the flash to be programmed sits at 0000'0000.
Regards, Marius