AVR bootloader interrupt issue
Atlast this is how to make work the interrupts in bootloader, U should set the Interrupt Vector Change Enable(IVCE) bit as below

   MCUCR|=(1&lt;&lt;IVCE); // or GICR|=(1&lt;&lt;IVCE) in some controllers


And within four cycles u have to set the IVSEL and unset the IVCE bit.

   MCUCR=0x02; // or GICR=0x02;  IVSEL=1, IVCE=0 at same time


What went wrong in the above code is below

     /*Interrupt_vector change enable*/
    MCUCR|=(1&lt;&lt;IVCE);
    /*Interrupt vector change to boot section*/
    MCUCR|=(1&lt;&lt;IVSEL);
    /*Interrupt_vector change enable*/
    MCUCR&amp;=~(1&lt;&lt;IVSEL);


The former method might finish within four cycles i think. However i can now use the TCP bootloader with interrupts to load the application code.