Part Number: TM4C1294NCPDT
I implement a function (see below) in my project to call bootloader so that I can remotely update my software, and it worked perfectly fine a year ago. I have since added many other modules to the project, think that simple call will certainly work and never bother to test it until today.
Bad news, it won't work any more.
I verified the bootloader itself still works, and the call to old firmware still activate the bootloader fine
I wonder what other things I need to take care
Thanks for any pointer!
#define CallBootLoader (*((void (*)(void))(*(uint32_t *)0x2c)))();
....
ROM_SysTickIntDisable();
ROM_SysTickDisable();
/*Begin: This section is newly added to make sure I kill extra functions I added*/
IntDisable(INT_UDMAERR);
IntDisable(INT_TIMER2A);
IntDisable(INT_I2C2);
IntDisable(INT_TIMER0A);
IntDisable(INT_SSI0);
IntDisable(INT_UART4);
SysCtlPeripheralDisable(SYSCTL_PERIPH_HIBERNATE);
SysCtlPeripheralDisable(SYSCTL_PERIPH_ADC0);
SysCtlPeripheralDisable(SYSCTL_PERIPH_TIMER0);
SysCtlPeripheralDisable(SYSCTL_PERIPH_TIMER2);
SysCtlPeripheralDisable(SYSCTL_PERIPH_UDMA);
SysCtlPeripheralDisable(SYSCTL_PERIPH_I2C2);
SysCtlPeripheralDisable(SYSCTL_PERIPH_SSI3);
SysCtlPeripheralDisable(SYSCTL_PERIPH_SSI0);
SysCtlPeripheralDisable(SYSCTL_PERIPH_UART0);
SysCtlPeripheralDisable(SYSCTL_PERIPH_UART4);
/*End: This section is newly added to make sure I kill extra functions I added*/
USBDevDisconnect(USB0_BASE);
CallBootLoader