--- In lpc2000@yahoogroups.com, Gilles B <gilles_baracoda@y...> wrote: > Hello everyone, > > I am executing my program from flash memory, but I would like to relocate the IRQ vector and the code of the handlers (uart0_handler, timer0_handler,...) in RAM, so I won't miss incoming data from the UART while writing the internal flash using IAP routines. > > I am using the GNU toolchain, but I couldn't find examples or documents about how to achieve this. > > The parts I would like to relocate (IRQ vector + handlers) are written in assembly (actually it is Ashling's startup code for EVBA7), in the same section as the other vectors (reset, undef,...). > > Do I have to relocate them all (vectors + code)? But then, the reset vector won't be anymore at address 0, and the code won't run after a hardware reset? > > Does anyone know how to do this? > > Thanks a lot, > > Gilles > I have an application where I need to reprogram application code from an MMC multimedia card. The solution I've found is to have a flash programmer in the first sectors of flash which runs on reset. I then use the IAP commands to erase and write the application code I read off the MMC card. The application code is compiled to run from a set sector start. Once programming is finished I copy the vector table from the application software into ram, remap the vector table to ram and jump to the start of the application code. It works for me.
Message
Re: IRQ vector and handlers relocation
2004-06-16 by douglasbolton
Attachments
- No local attachments were found for this message.