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

请问程序加载GEL运行和不加载GEL运行,用platform_init初始化有什么区别

现在有个6678下的程序,加载GEL时能运行正确,但是不加载GEL,使用platform_init初始化的话,运行一段时间后,程序会跑飞,出现如下两条语句

[C66xx_7] ti.sysbios.gates.GateMutex: line 97: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details.

 [C66xx_7] xdc.runtime.Error.raise: terminating execution

请问这是什么原因造成的错误?

Jane Lu:

建议查一下platform_init()的源码和Gel中初始化单板源码的区别。

wj xz:

回复 Jane Lu:

我现在把问题进一步定位,发现如果不加载GEL的话,网口向外发送一定数量包之后,Qmss_queuePop就一直不成功,请问这是什么原因

Jane Lu:

回复 wj xz:

您好,

           Qmss_queuePop()不成功,有没有检查描述符的情况? 网口的寄存器有没有发现异常的情况?

            从您提供的信息上,很难马上定位问题,建议还是能从检查GEL做了哪些配置,再分析为何这些配置会影响问题来入手。

wj xz:

回复 Jane Lu:

我查看了一下0-8000队列里的描述符个数。发现队列711(RX)里面是正常的16个,但队列736(TX)里面的确为空,所以POP不出来。但是在队列648(PA专用的最后一个队列)中发现了15个描述符。感觉发了一定数目后,发送不成功,导致TX队列中描述符减少,PA队列中描述符增加。如果说回收处理不正常的话,不应该出现发送160多次才POP不成功的情况,而且TX描述符回收是自动的吧,有点想不明白为什么突然就不行了。

赞(0)
未经允许不得转载:TI中文支持网 » 请问程序加载GEL运行和不加载GEL运行,用platform_init初始化有什么区别
分享到: 更多 (0)