Topic : Not understanding Reset/Interrupt vector use.

Forum : 8051

Original Post
Post Information Post
October 28, 2009 - 9:43pm
Guest

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

Replies
Post Information Post
+1
0
-1
October 29, 2009 - 10:17am
Raisonance Support Team

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

+1
0
-1
October 30, 2009 - 9:04pm
Guest

Hi Bruno,

Great!

Thanks,

Henk