各位好:
TMS570LS1227初始化程序sys_startup.c (自动生成的代码)中,函数_c_int00()中有针对系统状态寄存器SYS_EXCEPTION、看门狗状态寄存器WATCHDOG_STATUS、esmREG->SR1[2]寄存器,这三个寄存器值的判断;
因为无法在线修改这三个寄存器,导致无法模拟各种状态,自行定义三个变量,判断之前把寄存器值读取出来放在变量中,再拿变量去做判断,理论上不影响判断结果。
实际情况如下:
若在函数内部定义这三个变量(局部变量),烧录程序后,重新下电上电会出现nERROR信号出低保护;
若在函数外部定义这三个变量(全局变量),烧录程序后,重新下电上电 则能正常运行;
请各位大侠帮忙分析一下是什么原因呢
原文件和两种修改文件如下所示。