This is something I was looking for, thanks for your response. However, my application still doesn't start up(it is a serial comm interrupt based application). This is what I am doing:
In Bootloader Vector.c:
ISR(AS1_InterruptTx)
{
asm
{
pshh
ldhx #$DFD4
jmp DO_ISR
}
}
.......Similar for other vectors with different address...........
.....................................................................................................
void DO_ISR()
{
asm
{
ldhx ,x
cphx #$FFFF
beq DI1
jsr ,x
DI1:
pulh
rti
}
}
****************************Application Vector.c***********************************
I changed:
ISR(AS1_InterruptTx)
{
...........
...........
}
To:
void AS1_InterruptTx()
{
..........
..........
}
****************************************************************************************
Apart from that, I have kept Vectors at default place ie 0xFFC4 and I have redirected Vector table in Application code to 0xDFC4.
The value of NVPROT_INIT being 0xDE and NVOPT_INIT being 0x7E. Although this conflicts with what should be for Application code (NVOPT = 0x3E for redirection), but we can not overite to this registers as they are protected. However, whenever an interrupt comes it goes to vector table located at 0xFFC4 which further sends it to 0xDFC4.
Logically this seems to be a convincing solution from what all I was trying, however it doesn't seem to work.
Thanks