Posted on August 11, 2005 at 11:01Vikram,
your problem is pretty complex (as well as everything else related to IAP), so please consider what I write below as ''suggestions'' only; I have not tried any of that on my PC.
The easiest solution is probably to not use initialised variables in the application; you can initialise them ''by hand'' at the beginning of main() and get the same result.
If this is not acceptable, there are a couple other possible options:
- have the startup part of the bootloader initialise the variables of the application (and not of the bootloader itself); for this you need to replace __idesc__ with some other variable at an absolute address in sector 2
- include the startup in the application as well (and not only in the bootloader)
On a side note, looking at your linker files, I think there's an easier way to redirect the interrupt vectors, see ''implementing a skip-jump table'', a few posts below.
Hope it helps.
Regards,
Luca