Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: IRQ vector and handlers relocation

2004-06-16 by douglasbolton

--- 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.

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.