板子是我们自己做的,发现程序执行前需要调用GEL_Reset才能正常执行,执行System Reset不能起到这种效果。向大家请教两者的区别在哪?
为进一步找到问题所在,对比调用和不调用GEL_Reset程序执行的轨迹,从_int00开始执行,发现不执行GEL_Reset的话,程序执行到BIOS_init的EXC_init的00A298A8 行代码后,会进入中断HWI_NMI。而执行GEL_Reset的话程序则不会进入中断。
00A298A0 EXC_init:
00A298A0 026803E2 MVC.S2 TSR,B4
00A298A4 02118FDA OR.L2 12,B4,B4
00A298A8 0D1003A2 MVC.S2 B4,TSR
00A298AC 000C0362 B.S2 B3
因为程序最终要烧到flash,没办法通过仿真器GEL_Reset执行,所以想知道GEL_Reset执行了那些不同于System Reset的操作,从而把这部分操作写入bootloader里,来让程序正常执行。或者有什么其他的解决办法?
