Forum : 8051
Original Post
Post Information | Post |
---|---|
October 28, 2009 - 9:43pm
|
Hi, I'm working on some bootloader. The initial Reset/Interrupt vectors located from address 0x0000 up to 0x002A point to my bootloader application starting at address 0xA000. If I flash application code through my bootloader to adress 0x0000 up to (for example) 0x1000 then I also have to flash the Reset/Interrupt vector addresses 0x0000-0x002A to let the vectors point to my flashed application. But now my bootloader is corrupted because the Rest/Interrupt vectors do not point to my bootloader application anymore. How do I solve this problem? Thanks, Henk |
Hi Henk,
One simple way to handle this is to place your interrupt handling functions at absolute addresses that you fix yourself. You can do this using the "at" qualifier as in this example:
at 0xA010 void irqhandler(void) interrupt n
Regards,
Bruno
Hi Bruno,
Great!
Thanks,
Henk