如何实现程序升级后的跳转和重启,目前采用跳转_c_init00()方式会进故障中断,初步分析是没关闭中断,CM有没有关闭全局中断的方式
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
需求:升级程序后要重启:试过额定方法有
直接跳转到起始地址
void (*x)(void);
x = (void (*)(void))0x00200001;
(*x)();
采用_c_init00()重启
采用看门狗复位
SysCtl_setWatchdogWindowValue(0x0F);
SysCtl_enableWatchdog();
前两种在简单的程序中试过,就是不开中断是可以实现的,我现在的程序用了操作系统,开了时间中断、IPC、UART、I2C0,可能是中断影响采用这三种方式就会进故障中断
我已经将您的问题发至英文E2E,您可以跟踪一下
https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1032463/tms320f28388d-reset-device-after-firmware-upgrade