您好,现在我将网口和多核导航两个工程合在了一块,工程流程是:首先进行网口初始化,然后网口驱动打开,跳入死循环等待收数,当收到三次数据之后会跳出进入多核导航将数据发送给核1,核1也能正常收数,没有问题。。但是再往后执行就出现网口奔溃的问题,不能继续收数了。
多核导航采用的是高优先级累加器队列,目前就是只要0核给1核发送数据产生了中断,网口就不能正常运行了。。请问这个该怎么处理?我调试过很多种情况,问题就出现在这个中断这里,只要屏蔽相关代码不让多核导航产生中断,网口随时都是通的,请问这个问题我该如何改呢?非常谢谢
Andy Yin1:
两个模块是可以同时工作而不相互影响的,查看一下网口及navigator使用的descriptor、queue及中断资源是否有冲突导致。
xueyao:
回复 Andy Yin1:
谢谢Andy Yin1的回答,但NDK程序中没看到有对中断的设置, 我用CFG文件为多核导航配置了一个中断,当运行后我在中断子打断点的时候,PC通过网口发数给DSP的时候,既然跳到了中断子程序中,我是怎么都想不通啊,难道两个的事件号是一样的?貌似这里是中断出了问题?我就想问问 NDK对硬件中断到底有哪些要求,它会影响到哪些硬件中断的使用啊?
xueyao:
回复 Andy Yin1:
就是出现这个问题,当执行完多核导航压入描述符产生中断之后,在通过PC给DSP发数,NDK程序就出现这个错误,每次发生的数据包都是一样的,但是这之后就出现无效包的报错情况,请问在NDK中什么情况下会出现如此问题,我好确定多核导航和网口在资源上到底哪里冲突了