Hi pedja089,
I did the whole process EXACTLY as you described.
The things I've missed was to disable the interrupt before go to the bootloader.
Probably, the reason why I did not disabled it, is because I thought that since the "@ goto xxxx" happen BEFORE any "@ INT_ENABLE TMR1_INT", this was enough to avoid the interrupt handler.
Seems that is needed to call "@ INT_DISABLE TMR1_INT" even if is not specifically enabled before. Doing that... IT WORKS!
Thank you.
So, here is the trick:
Code:
READ 836,x
if x = 1 then 'There is a firmware update available
SEROUT2 PORTD.4,6,[13,10,"Update process start...",13,10]
@ INT_DISABLE TMR1_INT
@ INT_DISABLE RX_INT
INTCON.7 = 0 'Disable Global Interrupt
INTCON.6 = 0
PIE1.5 = 0 'Disable USART RX Interrupt
T1CON.0 = 0 'Disable Timer1
@ goto 0x17680 'This is where my bootloader start
endif
Thank you again for the suggestions.
Bookmarks