TI中文支持网
TI专业的中文技术问题搜集分享网站

GEL_Reset 与 System Reset 两者有何不同?

板子是我们自己做的,发现程序执行前需要调用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里,来让程序正常执行。或者有什么其他的解决办法?

Gary Wu:

你好!请参考如下文档《TMS320C6000 Boot Mode and Emulation Reset》

http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=spra978&track=no

wei wang14:

回复 Gary Wu:

首先谢谢您的回复!

通过看您给出的资料,确定了一点:GEL_Reset和Debug->CPU Reset是等效的。但还是不清楚下图中红圈中的两者有什么不同。

因为我们上一版的硬件,执行System Reset,之后Load程序,执行就可以跑起来。并且烧进flash的程序也能正常引导、运行。

而现在板子需要先执行System Reset,再执行CPU Reset,之后Load程序,才能正常执行,否则会跳到HWI_NMI。所以用我们原来的bootloader,程序跑不起来了,不知道什么原因,可能是缺少了CPU Reset这一步所做的操作。我们想把这部分操作加进去但又不知道它做了哪些工作,您有什么建议?

硬件上可能与此相关的改动有EMIF口、VPort口。

赞(0)
未经允许不得转载:TI中文支持网 » GEL_Reset 与 System Reset 两者有何不同?
分享到: 更多 (0)